Recently, Raspberry Pi released the RP2350, a new chip with powerful performance. Since the RP2350 and RP2040 are both used in the Raspberry Pi Pico series, it is interesting to compare the performance of them.
Not long after, Seeed Studio released the XIAO RP2350, and as a fan of compact electronics, I purchased it for the first time and began my comparison. And for convenience, I also used the Round Display from Seeed Studio, which perfectly adapted to their board.
I tried three different approaches in total, and I would like to share something that should be noticed.
Since Seeed Studio has no news that the XIAO RP2350 supports the Arduino IDE, I modified Raspberry Pi Pico 2's Arduino packages, according to Seeed Studio XIAO RP2350 Schematic.
Navigate to Arduino15\packages\rp2040\hardware\rp2040\4.0.1\variants\rpipico2\pins_arduino.h in your File Manager and replace it using the new pins_arduino.h from the attachments. Then you can use XIAO RP2350 in Arduino IDE.
Benchmark was my first approach of choice, as you may know, it is frequently used in performance tests.
But, in this case, it was ineffective because the Round Display's hardware only allows for a 25~30 FPS, and the RP2040 and RP2350's performance goes beyond this, so I get the similar result.
Due to the hardware limitation of the Round Display, I need to regulate the staying time for each page, and tft.drawPixel( ); is a good choice to delay the time it takes for filling a full screen.
You can refer to the "Compare with tft.drawPixel( );" code at attachments.
It initializes the display, then repeatedly fills it with colors (red, blue, green, yellow, black, and white) while calculating frames per second (FPS) for each fill. The total fill time and average FPS are displayed on the TFT screen and output to the serial monitor. The process repeats every five seconds, allowing for results observations to assess performance of the RP2350 and RP2040.
After filling the screen with six different colors, the average FPS will be displayed; the XIAO RP2350's average FPS is 1.97, while the XIAO RP2040's is 1.67, indicating that the XIAO RP2350's performance for screen displaying is better than the XIAO RP2040.
This approach works well, but it is not cool enough, so I developed approach 3.
Approach 3. Compare with Gray ConversionThis time, I tried to show an image, convert it to grayscale, obtain conversion times, and compare them.
But first I need a tool to convert my image to an RGB565 array, I have tried 3 tools:
and the final image is displayed as follows:
Obviously, the File to C style array converter is advantageous, so I use it to convert my image to a 16-bit RGB565 array:
You can refer to the "Compare with Gray Conversion" code at attachments.
It first initiates the display, shows the original RGB565 image on the screen, uses a luminance formula to convert the RGB565 image data to grayscale, calculates how long it takes to complete the grayscale conversion, shows the converted grayscale image on the screen, and displays relevant information like board type, image size and grayscale conversion time. To enable viewing of the result, the procedure is repeated every five seconds.
The final result is shown in the figure below, which shows that after displaying the RGB565 image and the converted greyscale image on the screen, the output greyscale conversion time is 22599 microseconds for the XIAO RP2350 and 46804 microseconds for the XIAO RP2040 :
As you can see, the difference in performance in terms of image data processing between the XIAO RP2350 and the XIAO RP2040 is more than double in this test.
In summaryAfter three tests, it is clear that the XIAO RP2350 performs better than the XIAO RP2040 in the applications of screen image display and data processing; therefore, if your project requires more performance in these two terms, the RP2350 may be a better option.
And what should be noticed is that:
- By modifying the packages for the other board that has the same chip, we can use the new board in the Arduino IDE.
- When we evaluate a board's performance with a display, the display hardware limitation should be considered.
- Different image to array conversion tools will give different results, and some of these tools will have significantly different colors.
I would love to hear your comments. Please feel free to provide any feedback or advice you have.
Comments