Pi Pico vs Arduino Uno
Cortex-M0+ (RP2040) at 200 MHz against ATmega328P at 16 MHz, on real hardware, same C kernels, clocks verified.
Pi Pico
Cortex-M0+ (RP2040)
- Family
- Arm Cortex-M
- Board
- Pi Pico
- Clock
- 200 MHz
- float / double
- 32-bit / 64-bit
Typical gap
38.3×
Pi Pico faster, geometric mean of 30 cells
Biggest win for Pi Pico
207×
uint32_t divide
Closest cell
7.14×
double modulo
Clock for clock
3.06×
Pi Pico needs fewer cycles per op (12.5× clock gap)
Operation by operation
Every cell
How many times faster Pi Pico is than Arduino Uno, operations per second. Blue: Pi Pico ahead. Orange: Arduino Uno ahead.
| Add | Subtract | Multiply | Divide | Modulo | |
|---|---|---|---|---|---|
| uint8_t | 27.7× 13.5 M/s · 490 k/s | 29.7× 14.5 M/s · 490 k/s | 28.3× 12.7 M/s · 448 k/s | 33.6× 4.78 M/s · 142 k/s | 33.6× 4.78 M/s · 142 k/s |
| uint16_t | 20.4× 10.7 M/s · 522 k/s | 20.4× 10.7 M/s · 522 k/s | 27.2× 11.3 M/s · 413 k/s | 68.7× 4.77 M/s · 69.5 k/s | 68.7× 4.77 M/s · 69.5 k/s |
| uint32_t | 32.9× 11.3 M/s · 342 k/s | 32.9× 11.3 M/s · 342 k/s | 88.3× 11.9 M/s · 135 k/s | 207× 5.14 M/s · 24.8 k/s | 207× 5.14 M/s · 24.8 k/s |
| uint64_t | 86.3× 6.44 M/s · 74.6 k/s | 81.1× 6.05 M/s · 74.6 k/s | 87.2× 3.13 M/s · 35.9 k/s | 131× 2.01 M/s · 15.3 k/s | 132× 2.01 M/s · 15.2 k/s |
| float | 22.0× 2.16 M/s · 98.3 k/s | 20.3× 2 M/s · 98.7 k/s | 28.2× 2.45 M/s · 87 k/s | 62.3× 2.01 M/s · 32.2 k/s | 11.1× 1.14 M/s · 103 k/s |
| double | 16.3× 1.6 M/s · 98.1 k/s | 15.0× 1.48 M/s · 98.6 k/s | 11.7× 1.02 M/s · 86.8 k/s | 28.8× 926 k/s · 32.2 k/s | 7.14× 734 k/s · 103 k/s |