Review of Purple Pi OH – A Rockchip RK3566 SBC tested in 2GB/16GB and 4GB/32GB configurations

Hello, I am going to review the Purple Pi OH boards from Wireless-Tag. The Purple Pi OH is a single-board computer (SBC) mechanically compatible with the Raspberry Pi. They are designed for personal mobile Internet devices and AIoT devices, which can be used in various applications, such as tablets, speakers with screens, and lightweight AI applications. The manufacturer sent me two models. The first model is the Purple Pi OH, which is equipped with 2GB of memory and 16GB of storage space and supports 2.4GHz Wi-Fi. The second model is the Purple Pi OH Pro, equipped with 4GB of memory and 32GB of storage space. This board supports both 2.4GHz and 5GHz Wi-Fi.

The other components of both devices are almost the same. They are powered by the Rockchip RK3566 chip, which integrates a quad-core Cortex-A55 processor up to 1.8 GHz, a Mali-G52 GPU from Arm for 3D graphics acceleration, and a neural processing unit (NPU) for artificial intelligence tasks, with processing performance up to 1 TOPS. Further specifications can be found on the manufacturer’s website.

(left) Purple Pi OH, (right) Purple Pi OH Pro
Purple Pi OH (left), Purple Pi OH Pro (right) 

Purple Pi OH and Purple Pi OH Pro unboxing

The parcel arrived from China in a cardboard box. Inside, the devices were packed separately in cardboard, along with the same components: the mainboard, a dual-band antenna for 2.4/5.8GHz Wi-Fi, a backup battery for the RTC, a heat sink, a debug serial port line, a USB Type-C cable, a plastic screen stand, a 7-inch MIPI camera, and a MIPI CSI OV5648 camera. After assembling and powering up the devices, I found that the operating system was already installed and they were ready to use.

Purple Pi OH
Purple Pi OH kit
Purple Pi OH Pro
Purple Pi OH Pro kit

Other views of the two devices.

purple pi oh 2gb 16gb board 01 purple pi oh 2gb 16gb board 02 purple pi oh 2gb 16gb board 03 purple pi oh 4gb 32gb board 01

Operating System installation

The manufacturer states that the device supports several operating systems, including Android 11, Debian 10, Ubuntu 20.04, OpenHarmony, and Kylin OS. For this review, I will install Ubuntu 20.04.

The installation guides are available on the manufacturer’s website. To install Ubuntu, you can follow the instructions provided in the ‘Purple-Pi-OH RK3566-Firmware and burning instructions’ file. The firmware image file and other burning tools are accessible on the manufacturer’s Cloud, hosted on Baidu. The URL, username, and password for downloading these files can also be found in the PDF. To burn the firmware, you will need to prepare a USB Type-C cable to connect the board to the computer. After installing the required software, such as DriverAssitant and RkDevTool on the computer, you have to put the device into Loader mode. Then, use the RkDevTool to open the image file and press the upgrade button in the software to burn the image file. For me, this OS installation process finished in a few minutes, as shown in the images below.

A webpage for downloading firmware
A webpage for downloading firmware
A webpage for downloading tools
A webpage for downloading tools
Burning firmware using RKDevTool v2.95
Burning firmware using RKDevTool v2.95

Even though the installation processes were easy to follow. However, I encountered some minor issues. The first one was the UI of the tools, which was in Chinese. Fortunately, this problem can be simply managed by opening the config.ini file, locating the [Language] section, and replacing Selected=1 with Selected=2. After saving the changes and reopening the software, the UI will switch to English.

The next issue I encountered was that the installation resources are hosted on the Baidu website, which requires registration before downloading the files. However, during this review, I found that the website requires a mobile phone number for account activation, and the system does not currently allow phone numbers from foreign countries to register. Therefore, I had to request the manufacturer to share the resources using another cloud provider. Eventually, they provided me with a DropBox link.

As mentioned earlier, we need to put the device into Loader mode before burning the firmware. There are two methods to enter Loader mode: by pushing the Recovery button and by using the software. In this review, I used the first method, but I encountered an issue with the Recovery button (labeled as SW1) location. According to the document (version 2022/04/06), the Recovery button should be located in the yellow rectangle of the following image (left). However, the physical location of the Recovery button is on the other side of the board, as shown in the image (right). Therefore, you may need to carefully check where the Recovery button is located before pressing it.

Locations of the SW1 button (left: document, right: physical board)
Locations of the SW1 button (left: document, right: physical board)

The overall installation process proceeded smoothly, and I successfully installed Ubuntu 20.04 (Focal Fossa) with LXQt 0.14.1. Afterward, I checked the specifications of the two devices using the inxi command, as shown below.

System Information of Purple Pi OH


System Information of the Pro board

Benchmarking with sbc-bench

I started my review of the products by running the sbc-bench script from Thomas Kaiser and the results are shown below.

For the 2GB/16GB board:


For the 4GB/16GB “Pro” board:


The room temperature during the tests was around 26°C when we examined how temperature affects the CPU frequency. For the Purple Pi OH, the initial temperature was around 41°C, and the CPU clock frequency was 1791 MHz. As the CPU heated up to 72°C, the CPU clock frequency was measured at 1764 MHz. For the Purple Pi OH Pro, the CPU was heated up to around 59.4°C, and the measured clock frequencies before and after the tests were 1860 MHz and 1862 MHz, respectively. In both cases, no CPU throttling was reported.

The performance of memory operations for both devices was similar, with the Purple Pi OH showing slightly higher performance than the Purple Pi OH Pro.

Comparisons of the read/write performances of the storage device

The next test compared the reading and writing performance of the storage devices using IOZone3. I ran iozone3 with the -I parameter to force testing with no cache and set the file size to 512 MB. The other parameters and the results are shown below.

Purple Pi OH:


Purple Pi OH Pro:


The storage device of the Purple Pi OH is 16GB, and the results showed a sequential file reading speed of around 156MB/s and a writing speed of 55MB/s. For the Purple Pi OH Pro, the reading speed was 166MB/s, and the writing speed was around 121 MB/s.

It can be seen that the performance of reading data on the Purple Pi OH Pro was approximately 70% of the writing speed. However, for the Purple Pi OH, the reading speed was only 37% of the data writing speed. This difference was significant and interesting. So, I searched the Internet and found a report on the WiKi page of the ODROID. The report showed that the read/write performance of the 8GB and 16GB Samsung eMMC 5.1 devices had very similar characteristics: the writing speed was around 33% of the reading speed. Therefore, I concluded that my testing results were within the normal specifications of the storage device used in the Purple Pi OH board.

Testing the network performance

Next, I tested networking performance using the iperf3 program. I began with the Gigabit Ethernet connection speed test, followed by the Wi-Fi tests, as follows.

Testing Gigabit Ethernet connection speed

I tested the Gigabit Ethernet port by connecting the board to my office’s LAN and using a desktop computer as a server for iperf3 tests. The tests were configured to run for 60 seconds and summarize the data every 10-second interval. The results are shown below.

Purple Pi OH: sending


Purple Pi OH Pro: sending


Purple Pi OH: receiving


Purple Pi OH Pro: receiving


We can see that the overall performance of data transmission over the Gigabit Ethernet port of both devices was very similar. The average sending speed was approximately 940 MB/s for both boards, while the receiving speeds for the Purple Pi OH and Purple Pi OH Pro were 929 MB/s and 943 MB/s, respectively.

Testing data communication speeds over the 2.4GHz Wi-Fi

I have to remind you that the results of wireless data communication speed testing can vary and depend highly on many factors, such as the specifications of the router, testing positions, distances between the router and testing devices, and the number of other devices around the testing areas. In this review, I tested the devices using the Wi-Fi network in my house. I turned off other SSIDs and created a new SSID specifically for this test. I left the configurations of my router untouched as I use it in daily life. The distance between the router and the devices was around 3 meters. The results of running iperf3 on the Wi-Fi 2.4GHz were as follows.

2GB/16GB SBC: sending


4GB/16GB “Pro” SBC: sending


2GB/16GB SBC: receiving


4GB/16GB “Pro” SBC: receiving


According to the results, the Purple Pi OH board had transmitting and receiving speeds of around 27.2 Mb/s and 32.3 Mb/s, respectively. Meanwhile, the Purple Pi OH Pro had transmitting and receiving speeds of 36.3 Mb/s and 38.8 Mb/s, respectively. In summary, the performance of the Purple Pi OH Pro was higher than that of the Purple Pi OH. The sending speed of the Purple Pi OH Pro was approximately 33% higher than that of the Purple Pi OH, and the receiving speed was also around 20% higher. Additionally, when I changed the location of the tests, I usually found data retransmissions on the Purple Pi OH board, while they were rarely found on the Purple Pi OH Pro.

Testing data communication speeds over the 5GHz Wi-Fi

Since the Purple Pi OH does not support Wi-Fi 5GHz, only the Purple Pi OH Pro was tested here. I ran iperf3 with the same parameters as in the above tests and obtained the following results. In summary, the average data receiving speed on Wi-Fi 5GHz was higher than that on Wi-Fi 2.4GHz by around 25%, while the overall data communication speed on Wi-Fi 5GHz was approximately 3 times higher than on Wi-Fi 2.4GHz.

Sending


Receiving


So, both devices can perform their wireless data communications as expected, with the Purple Pi OH Pro demonstrating better performance than the Purple Pi OH. Additionally, the retransmission rates for the Purple Pi OH Pro were usually very low to none, whether in Wi-Fi 2.4GHz or Wi-Fi 5GHz tests.

Testing web browsers with Speedometer 2.0

I tested the performance of web browsers on both boards using the Speedometer 2.0 benchmark. For this review, I used the default Chromium 92.0.4515.159 (64-bit) preinstalled with the OS and manually installed the new Firefox 122.0.1 (64-bit). The testing results were as follows: Firefox outperformed Chromium by around 11 – 12%. The Purple Pi OH Pro showed slightly better performance than the Purple Pi OH. However, I have to note that the results of these tests may vary depending on the versions of the browsers.

Results of Speedometer on Purple Pi OH (left) Chromium and (right) Firefox
Results of Speedometer on Purple Pi OH with Chromium (left) and Firefox (right)
Results of Speedometer on Purple Pi OH Pro (left) Chromium and (right) Firefox
Results of Speedometer on Purple Pi OH Pro with Chromium (left) and Firefox (right)

Rockchip RK3566’s 3D graphics testing

OpenGL ES with glmark-es2

Next, I proceeded to test the performance of OpenGL (ES). I initially attempted to conduct the tests using the glmark2-es2-wayland. However, I encountered issues that glmark2-es2-wayland failed to run after installation. So, I used the command echo $XDG_SESSION_TYPE and discovered that the OS was using X11, which is incompatible with glmark2-es2-wayland. There, I decided to test OpenGL (ES) using the pre-installed glmark2-es2. Both boards provided the same score of 57, whereas the Purple Pi OH Pro had slightly better performance in certain tests, such as in rendering terrain and shadows. The remaining testing results remained identical between the two boards.

Performance of OpenGL ES

WebGL rendering on Chromium

The next test was checking the performance of WebGL’s 3D rendering on a web browser. I performed the test using WebGL Aquarium on Chromium, where I varied the number of fishes from 1 to 30,000. The comparison results are shown below.

Testing WebGL Aquarium (30,000 fishes) on Purple Pi OH
Testing WebGL Aquarium (30,000 fishes) on Purple Pi OH
Testing WebGL Aquarium (30,000 fishes) on Purple Pi OH Pro
Testing WebGL Aquarium (30,000 fishes) on the Pro model

The following table compares the framerates of the tests. We can see that the WebGL performances of both boards were very similar. Both devices ran smoothly when the number of fish was lower than 500. However, the performance dropped significantly when the number of fish exceeded 5000. For 30000 fish, the framerate was just 2 fps on both devices.

(unit: fps)

11005001000500010000150002000030000
Purple Pi OH3735272084332
Purple Pi OH Pro4034272185332

Testing YouTube video playback on Purple Pi OH boards

To test the video playing performance, I connected the device to my office’s wired network using the Gigabit Ethernet port. In YouTube, the viewing mode was set to full screen, and I overlaid the screen with the Stats for Nerds. The video resolutions were varied from 720p to 2160p. In summary, both devices could smoothly play videos at resolutions up to 1080p or lower without any noticeable stuttering. In this case, the dropout rates were lower than 1%, with most dropped frames occurring only at the beginning of playback.

However, when I increased the resolution to 1080p, significant stuttering was noticeable on both devices. Moreover, when I set the resolution to 2160p, the videos could not be played continuously because the dropout rates of both devices were consistently higher than 60%, as shown in the following figures.

Testing video playbacks on Purple Pi OH
Testing video playbacks on Purple Pi OH
Testing video playbacks on Wireless-Tag Pro board
Testing video playbacks on Purple Pi OH Pro

The table below compares the dropout rates of both devices. Although the Purple Pi OH Pro had slightly lower dropout rates at 2160p, they were still unacceptably high and rendered the devices unable to smoothly play videos at this resolution.

Percentage of dropped frames

720p1080p1440p2160p
Purple Pi OH0.7%0.8%37.6%66.9%
Purple Pi OH Pro0.2%1.0%37.1%61.5%

Testing the NPU and AI acceleration on Purple Pi OH SBCs

For the NPU and AI performance tests, I utilized the RKNN-Toolkit2 and RKNPU2 from the GitHub repository of rockchip-linux following the same procedure as in the reviews of the Youyeetoo YY3568 and Mixtile Blade 3 single board computers. In this review, I tested the devices with the YOLOv5 model using the provided rknn_yolov5_demo source code. I began by cloning the source code onto the devices and then executed the build-linux_RK3566_RK3568.sh script to build the program. The overall process of this preparation was straightforward, and fast, and no issues were encountered.

To test the model, I executed the rknn_yolov5_demo program built in the previous step by using the pre-trained yolov5s-640-640.rknn model included with the toolkit. The testing images consisted of an office image and a pedestrian image, which I obtained from Wikipedia. The images were cropped to 640×640 pixels to match the dimensions of the input layer of the model. The results are displayed below.

Testing Yolov5 (pedestrians)
Yolov5 result with pedestrian image
Testing Yolov5 (office)
Yolov5 result with office image

Testing Yolov5 on the Purple Pi OH


Testing Yolov5 on Purple Pi OH Pro


There were approximately 40 objects recognized in both images. According to the output results, the Purple Pi OH took around 60ms (approximately 16 fps) to complete this task, while the Purple Pi OH Pro processed it faster, taking around 52ms (approximately 19 fps), which is approximately 16% faster.

To benchmark the AI performance, I also used the rknn_benchmark program from the examples folder. After building, running, and benchmarking the devices using the same images, the results were as follows. The Purple Pi OH Pro took around 50ms (approximately 20 fps) to complete the calculations, which was slightly better than the Purple Pi OH, which took around 52ms (approximately 19 fps) to complete the same task.

Benchmarking RKNN on Purple Pi OH