Thing Done

← The fleet

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

Pi Pico

Cortex-M0+ (RP2040)
Family
Arm Cortex-M
Board
Pi Pico
Clock
200 MHz
float / double
32-bit / 64-bit
Arduino Uno

Arduino Uno

ATmega328P
Family
AVR
Board
Arduino Uno
Clock
16 MHz
float / double
32-bit / 32-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.

AddSubtractMultiplyDivideModulo
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

Where they sit in the fleet

Keep comparing

Swap sides