Computing Power of Pico

Firstly pressed on jalanjalantok.wordpress.com

Raspberry Pi Pico RP2040 is a dual-core ARM Cortex M0+ processor with flexible clock up to 133 MHz. In this post i will try to compare Pico’s computational power by measuring the time needed to count prime numbers. The lower the better. Here is comparison chart.

Raspberry Pi 4 with different clock speed is displayed for benchmark scale of ARM processor for SBC and for MCU, also provide information to whom curious. I tested Adafruit Circuit Playground Express but decided not to plot it in the chart but you can still read the value from the table.

I tested all microcontroller boards on Raspberry Pi 4, so why not measure this computer too.

Pi 4 Pi 4 Pi 4
Find ARM Cortex A72 ARM Cortex A72 ARM Cortex A72
Prime Numbers 2000 MHz 1000 MHz 600 MHz
in seconds Python 3.8.5 Python 3.8.5 Python 3.8.5
10 0 0 0
100 0 0 0
1000 0.01 0.018 0.026
2000 0.039 0.07 0.1
5000 0.228 0.381 0.568
10000 0.873 1.436 2.151

The sorted Microcontroller test result are the following. OpenMV computational force is the highest among the other boards. OpenMV main function is to do computer vision, therefore this computing power is necessary to process large number of data that comes from the image sensor.

ESP32 at overclock speed 240 MHz brings significant performance. While the normal speed does is similar to SAM51 Cortex M4.

OpenMV H7 ESP32 ESP32 Neo Trellis M4
Find STM32 Cortex H7 Tensilica Xtensa LX6 Tensilica Xtensa LX6 SAMD51 Cortex M4
Prime Numbers 480 MHz 240 MHz (OC) 160 MHz 120 MHz
in seconds Micropython Micropython Micropython CircuitPython
10 0 0 0.001 0
100 0.001 0.005 0.007 0.007
1000 0.094 0.291 0.436 0.443
2000 0.339 1.043 1.566 1.59
5000 1.876 5.765 8.65 8.944
10000 6.928 21.26 31.901 32.392

Pi Pico delivers higher performance by thin margin over overclocked ESP8266. When the task does not require intensive data processing, ESP8266 at 160 MHz will deliver good offer of performance. Circuit Playground Express, with it’s lowest clock on the table, is suitable for learning as users who use this usually do not put complex calculations / operations.

Pi Pico ESP8266 ESP8266 Circuit PG
Find RP2040 ARM Cortex M0 Tensilica Xtensa LX106 Tensilica Xtensa LX106 SAMD21 Cortex M0
Prime Numbers 133 MHz 160 MHz (OC) 80 MHz 48 MHz
in seconds Micropython Micropython Micropython CircuitPython
10 0 0 0.001 0
100 0.012 0.016 0.033 0.138
1000 0.761 0.984 1.967 8.699
2000 2.733 3.521 7.045 31.208
5000 15.106 19.432 38.888 172.399
10000 55.702 71.606 143.301 635.551

Microcontroller comes with different offer of performance, usability and connectivity. Besides the clock speed there are still many elements that could make microcontroller stand out such as the memory, IO pins, SDK and community support. I hope this benchmark provides you an idea about the available options we could get and fit for purpose.

Until the next post, thanks for reading.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s