Raspberry Pi Pico VS ESP32 S2 speed comparison benchmark using CircuitPython

preview_player
Показать описание
Raspberry Pi Pico VS ESP32 S2 speed comparison benchmark using CircuitPython

Which board is faster?

Join this channel to get access to perks:

#circuitpython #educ8stv #raspberrypi

In this video I am going to do a speed comparison between the Raspberry Pi Pico and the ESP32 S2 board, two of the most powerful and inexpensive boards for makers.

Before running the computation speed benchmark, I have developed, let’s take a quick look at the most basic specs of each board to get a sense of what to expect.

The Raspberry Pico board features two 32-bit Arm Cortex M0+ cores operating at 133Mhz. It also offers 264KBs of RAM memory and 2MB of Flash memory and it costs at the time of this recording around $7.
The Lilygo ESP32 S2 Board on the other hand features a single-core 32-bit LX7 microcontroller operating at 240MHz. It also offers 320KBs of RAM memory and 4MBs of Flash memory. Its price today is around $8.
So, based on the specifications, we can conclude that the ESP32 S2 is faster than the Raspberry Pi Pico in single-core workloads. How much faster is the question? We can't know without running a benchmark, because the boards employ processors with different architectures. Based on the operating frequencies of each board, we can estimate that the ESP32 S2 single core performance will be roughly 80% faster than the Raspberry Pi Pico's single core performance. Is this correct?
Рекомендации по теме
Комментарии
Автор

nice video, but I'm not quite sure if python is the best language to compare the power that lies behind some architecture.

seebaastian
Автор

They have to estimate Pi, and the ESP32 took 3.14 seconds to do it... That's a sign

rocketgirl
Автор

I hope you took away lots from this video. Let me know below!
PS: I'm creating an OOP course! Sign up at for early access and a 50% launch discount.

Educs
Автор

Where the RP2040 really shines is with complicated I/O. Rather than bit-banging your protocols on the main core, you can use drivers for the PIO cores to manage the low-level details, and work mostly with filled buffers at your application level. The second core is useful in much the same way - offload a complicated process with sensitive timing, leaving your core application logic untroubled by such things. Also, reports are that it overclocks very nicely. All that said, I still love the ESP32 for some workloads.

hikingpete
Автор

One small thing that I noticed right away is LED on ESP32 compared to Pico. The other side is CH304 chip it's only useful for development but not for actual project so it also uses some current. So if you thinking about project specific current you would emit all those before mesuring. Pico has integraded USB support so it doesn't need to use USB to TTL. So if thinking about actual project you would only use ESP32 module itself not entire dev board. This would give fair comparison between two. Plus WIFI/BT should also be sure to be fully disabled.

KimasM
Автор

Very nice and informative video.
Would be interesting to see a bare metal programmed comparison. ie. the boards using assembly and not the high(ish) level libraries and functions.

mixmashandtinker
Автор

Second thread is very powerful, can run second task that normally would slow down your code significant on the second core, and it's easy to use in the code. For example, you can run TFT driver on the second core, or serial communication, etc. So your program runs full speed, that can be huge difference in many cases.

PeetHobby
Автор

Nice simple comparison video. Quite informative, although for me the choice of which microcontroller to use in a project generally comes down to the peripheral’s required (eg. Is wireless needed etc.), and also the number of GPIOs I need, and whether I need low power standby (for battery powered), etc. i.e. Given the speed of most cheap MCU’s today, it’s now pretty rare that speed is a deciding factor.

gregclare
Автор

Was the WIFI radio disabled in your ESP32 sketch? At least for ESP8266 the difference in power use with active WIFI is significant, even when it is not in use.

e_neko
Автор

There is a huge difference in power consumption among different ESP32 boards. The CH340 oder CP2102 bridges sometimes consume more than the ESP32 itself (especially if you do battery powered applications where the ESP32 consumption can be as low as 0, 0025 mA).
If you want to compare power consumption you should disable radio and reduce the core speed to about 120 MHz which will bring the ESP32 power consumption below 10 mA.

AndreasHammerschmidt
Автор

Have you verified that the LCD updating doesn't effect the test result. My suggestion would be to remove the progressbar and just write test running at start of test

MrZANE
Автор

Great video as always 👍
Thanks for sharing your expirence with all of us:-)

avejst
Автор

This is quite a nice test but its a bit lacking imo. It would be nice to see two tests running on each device. Since the esp32 can only handle 1 instance at the time (without some fancy asyncronus work), the pi might be a better choice depending on how you can utilize the extra core.

Still really intresting, thank you for the video!

Also, is it possible to do a calculation on the probable compute strength (flops) and compare it to energy draw? Would be really interesting to see any internal latency meassurements as well.

Also, doesnt the rp2040 lack a floating point unit compared to the ESP32-s2?

zippeveryone
Автор

Nice touch to include a watt-hour figure (even in the form of time-domain), thank you.

RinksRides
Автор

Great video, exactly what I wanted to know. Thanks.

jameswilkinson
Автор

Regarding power consumption, the led on the ESP32 can be desoldered as it is adding to the total wattage without doing nothing to the performance outcome of his test, also, don’t know if the radios are disabled, witch also adds to the total power consumption.

migpt
Автор

You can't run python application to measure hardware performance. The implementation of python runtime very much affects the speed of execution and for each MCU the implementation details differ a lot. So you might be measuring the quality of python implementation, not hardware performance.

osmanpasha_diy
Автор

Good info. Thanks. I would like to same test adding the esp32-s3

joeisuzu
Автор

Thanks for doing this. It was really interesting

nicksanchez
Автор

It would be nice to do a long test and include the 2nd core of the pico.
It would like to see if having 2 cores makes up for the slower proformance and if the power differences.

TBL_stevennelson
welcome to shbcf.ru