RP2040 Board Comparison - Which RP2040 Board Should You Buy

The Raspberry Pi Foundation made waves with its extremely popular single-board computer (SBC), the Raspberry Pi, first introduced in 2012. Since then, the Raspberry Pi has undergone several different iterations including the Raspberry Pi 2, 3, and 4 as well as the Raspberry Pi Zero and Zero W. Now, the Raspberry Pi Foundation has a finger in a new pie with the Raspberry Pi Pico. Whereas the Raspberry Pi 4, 0, and 0 W are maker boards, the Raspberry Pi Pico is a microcontroller unit (MCU). But the Pi Pico isn't the only MCU based on the RP2040 chip. Learn about the different RP2040-based microcontrollers on the market and which RP2040 MCU you should buy!

What is the RP2040?

The RP2040 "Pi Silicon" is a system-on-chip (SoC) engineered by the Raspberry Pi Foundation. At its heart, the RP2040 features an Arm Cortex M0+ clocked at 133MHz alongside 264KB of SRAM and 2MB of flash memory. Fittingly, the Raspberry Pi Pico is powered by an RP2040 SoC. Raspberry Pi developed the RP2040 to be both energy-efficient and high-performing. While idling, it uses under a milliwatt of power. As such, it's an ideal SoC for embedded applications. Still, its Cortex M0+ can handle power-hungry applications such as TinyML, and the TensorFLow Lite Micro library has been ported to the RP2040 for on-device machine learning applications like image or voice recognition. 

Raspberry Pi Pico vs. Adafruit Feather RP2040 vs. Adafruit ItsyBitsy RP2040 vs. Pimoroni Tiny RP2040 vs. SparkFun Thing Plus vs. SparkFun Pro Micro vs. SparkFun MicroMod

Although the Raspberry Pi Pico microcontroller utilizes Pi Silicon for its system-on-chip, it's not the only RP2040 SoC-packing microcontroller available. In fact, there are options from the likes of Adafruit, Pimoroni, and SparkFun. 

What is the Raspberry Pi Pico - Specs and More

The Raspberry Pi Pico is the Raspberry Pi's very first microcontroller. Boasting an RP2040 system-on-chip designed by Raspberry Pi themselves, the Pi Pico features a dual-core ARM Cortex M0+ SoC clocked at 133MHz. There's 264KB of SRAM and 2MB of onboard QSPI flash. For connectivity, a set of 26 multi-function general-purpose input/output (GPIO) comes standard including 2 x UART, 2 x SPI, 2 x I2C, and 16 x PWM. There's a USB 1.1 controller and 8 x programmable I/O (PIO state machines. A temperature sensor, on-chip clock, and accelerated integer, as well as floating-point libraries, are on the chip. For programming languages, the Raspberry Pi Pico supports MicroPython, CircuitPython, C, and C++. Although there's no Arduino IDE support out-of-the-box, it's planned as an update that will make programming the Pi Pico easier for beginners. 

There's a lot you can do with the Raspberry Pi Pico. It's been used to build a do-it-yourself (DIY) weather station. One clever maker combined a Goldfish synthesizer with a Pi Pico for a rad music project. The BBC Micro has been emulated on the RasPi Pico. And, unsurprisingly, the Raspberry Pi Pico has been used for retro video game emulation already. Overall, the Raspberry Pi Pico is a great, low-cost microcontroller that's versatile enough to handle a variety of different projects.

Raspberry Pi Pico specs:

  • RP2040 microcontroller chip - Dual-core ARM Cortex M0+ processor @ 133MHz
  • 264KB on-chip SRAM
  • 2MB onboard QSPI Flash
  • 26 multifunction GPIO pins (including 3 analog inputs, 2 × UART, 2 × SPI controllers, 2 × I2C controllers, 16 × PWM channels, 8 × Programmable I/O (PIO) state machines for custom peripheral support)
  • 1 × USB 1.1 controller and PHY, with host and device support
  • Supported input power 1.8–5.5V DC
  • Accurate on-chip clock
  • Temperature sensor
  • Accelerated integer and floating-point libraries on-chip
  • Programming language support: C/C++, MicroPython, CircuitPython
  • Dimensions: 21 mm × 51 mm

What is the Adafruit Feather RP2040 - Specs and More

Adafruit's Feather RP2040, you guessed it, features an RP2040 at its core. You'll find 264KB RAM and 4MB of SPI Flash. There are 21 GPIO pins including 4 x 12-bit ADCs, one more than the Pi Pico. A 200mA lipoly charger comes built-in complete with an LED charging status light. An RGB NeoPixel with power pin on GPIO is standard, and there's a STEMMA QT connector for hooking up Grove I2C, Qwiic, and STEMMA QT peripherals. Additionally, you'll find a USB-C port. The Adafruit Feather RP2040 supports C, C++, CircuitPython, and MicroPython. 

Adafruit Feather RP2040 specs:

  • RP2040 32-bit Cortex M0+ dual-core running at ~125 MHz @ 3.3V logic and power
  • 264 KB RAM
  • 4MB SPI Flash
  • 21 x GPIO (2 x I2C, 2 x SPI, 2 x UART, 16 x PWM, 8 x 'non-ADC/non-peripheral', 4 x 12-bit ADC)
  • Built-in 200mA lipoly charger with LED charging status light
  • RGB NeoPixel with power pin on GPIO
  • Onboard STEMMA QT connector for Qwiic, Grove I2C, and STEMMA QT connectivity
  • Reset and bootloader select buttons
  • 3.3V power/enable button 24MHz crystal
  • USB-C connector
  • Dimensions: 2.0in x 0.9in x 0.28in (50.8mm x 22.8mm x 7mm)
  • Programming language support: C/C++, MicroPython, CircuitPython

What is the Adafruit ItsyBitsy RP2040 - Specs and More

raspberry pi silicon rp2040 board comparison - adafruit itsybitsy rp2040

In addition to the Feather RP20240, Adafruit offers the ItsyBitsy RP2040. Powered by the Pi Silicon with an ARM Cortex M0+ @ 125MHz, there's 264KB RAM, 4MB SPI flash, and 23 GPIO pins. There's a 3.3V regulator and 24MHz crystal for accurate timing. A Vhigh output pin allows the ItsyBitsy to drive high-powered peripherals such as servos and NeoPixels. While the ItstyBitsy may be small, it's nonetheless mighty. You can program the Adafruit ItsyBitsy RP2040 with C++, C, CirtuitPython, and MicroPython. 

Adafruit ItsyBitsy RP2040 specs:

  • RP2040 32-bit Cortex M0+ dual-core running at ~125 MHz @ 3.3V logic and power
  • 264 KB RAM
  • 4 MB SPI flash
  • 23 x GPIO (4 x 12-bit ADC, 2 x I2C, 2 x SPI, 2 x UART, 16 x PWM, 10 x digital 'non-ADC/non-peripheral')
  • RGB NeoPixel with power pin on GPIO
  • Reset and bootloader select buttons
  • 3.3V regulator with 500mA peak current output, 3.3V power/enable button
  • 24MHz crystal
  • Vhigh output pin for higher voltage from VUSB or VBAT (for driving peripherals such as NeoPixels, servos, and 5V-logic devices)
  • USB Micro B
  • Dimensions: 1.4in x 0.7in x 0.2in (36mm x 18mm x 4mm)
  • Programming language support: C/C++, MicroPython, CircuitPython

What is the Pimoroni Tiny RP2040 - Specs and More

which rp2040 board should you get - pimoroni tiny rp2040

Pimoroni's aptly-named Tiny RP2040 is a fingernail-sized MCU. There's an RP2040 RM Cortex M0+ @ 133MHz, USB-C, 264KB SRAM, and a whopping 8MB of QSPI flash with XiP support. You'll find 12 GPIO pins and a 3.3V regulator. It supports C, C++, and MicroPython. Despite its modest 22.5mm x 18mm dimensions, the Pimoroni Tiny RP2040 packs a good feature set with great I/O. 

Pimoroni ItsyBitsy RP2040 specs:

  • RP2040 ARM Cortex M0+ @ 133MHz
  • 264kB of SRAM
  • 8MB of QSPI flash with XiP support
  • 12 x GPIO pins (including 4 x 12-bit ADC channels)
  • 3.3V regulator
  • User-controllable RGB LED
  • Switch for basic input
  • USB-C
  • Dimensions: 22.5mm x 18mm
  • Programming language support: C/C++, MicroPython

What is the SparkFun Thing Plus - Specs and More

sparkfun thing plus rp2040 board

SparkFun's Thing Plus is a cheap, high-performing RP2040 ARM Cortex M0+ based MCU. You'll find 30 GPIO pins, an SD card slot, 16MB flash memory, 264KB SRAM, and a JST single-cell battery connector. There's an addressable WS2812 RGB LED alongside JTAG PTH pins and a Qwiic connector. You can program the SparkFun Thing Plus with C/C++ and MicroPython.

SparkFun Thing Plus specs:

  • RP2040 ARM Cortex M0+ SoC 
  • 264KB SRAM
  • 16MB QSPI Flash Memory
  • I/O: 30 x GPIO (4 x 12-bit ADC, 8 x 2-channel PWM, 2 x UART, 2 x I2C, 2 x SPI)
  • USB-C
  • Qwiic connector
  • Reset and bootloader buttons
  • Power, charging indicator, status/test, and user-addressable WS2812 LEDs
  • Dimensions: 2.3in x 0.9in
  • Programming language support: C/C++, MicroPython
Shop Now

What is the SparkFun Pro Micro - Specs and More

rp2040 pi silicon sparkfun pro micro

In an incredibly small form factor, the SparkFun Pro Micro lives up the micro in its name. Its RP2040 ARM Cortex M0+ SoC is mated to 16MB QSPI flash memory, 264KB SRAM, and 30 GPIO pins. USB-C connectivity comes standard, and there's C, C++, and MicroPython programming language support. The SparkFun Pro Micro manages to pack a timer with 4 x alarms into its 1.3in x 0.7in footprint. 

SparkFun Pro Micro specs:

  • RP2040 ARM Cortex M0+ SoC 
  • 264KB SRAM
  • 16MB QSPI Flash Memory
  • I/O: 30 x GPIO (4 x 12-bit ADC, 10 x PWM, 2 x UART, 1 x I2C, 1 x SPI)
  • Boot and reset buttons
  • Power and WS2812 LEDs
  • USB-C
  • Timer with 4 x alarms
  • Dimensions: 1.3in x 0.7in
  • Programming language support: C/C++, MicroPython
Shop Now

What is the SparkFun MicroMod - Specs and More

sparkfun micromod rp2040

The SparkFun MicroMod fuses Raspberry Pi Silicon with an M.2 connector. MicroMod is a modular interface platform for connecting microcontrollers to different carrier boards using the M.2 standard. As such, the SparkFun MicroMod RP2040 lets you easily add an ARM Cortex M0+ system-on-chip, 264KB SRAM, 16MB flash, and 30 GPIO pins to any compatible carrier board. 

SparkFun MicroMod specs:

  • RP2040 ARM Cortex M0+ SoC 
  • 264 kB SRAM
  • 16MB Flash
  • 30 x GPIO (2 x UART, 2 x I2C, 2 x SPI, 2 x digital pins, 3 x analog pins, 15 x PWM)
  • Status LED
  • VIN-level ADC
  • 1 x USB
  • RTC
  • Timer with 4 x alarms
  • SWD interface
  • Dimensions: 22mm x 22mm
  • Programming language support: C/C++, MicroPython
Shop Now

Which Pi Silicon RP2040 Board Should You Use?

There are loads of RP2040-based microcontrollers on the market. So which is right for you? The Raspberry Pi Pico is the best overall Pi Silicon RP2040 MCU. It hails from the Raspberry Pi Foundation, features top-notch first-party support including a helpful getting started book, and great third-party support such as forthcoming Arduino IDE compatibility. While RP2040-based boards with more SPI flash memory may be available, the Pi Pico features a ton of GPIO pins at 26, a low cost of just $4 USD, plus support for C/C++, MicroPython, and CircuitPython.

For working with Adafruit NeoPixels devices, the Adafruit ItsyBitsy RP2040 is an excellent option. It's got 4MB of SPI flash, 23 GPIO pins, and a high-voltage pin that's perfect for connecting servos or NeoPixels. Despite a smaller footprint than the Adafruit Feather RP2040, the ItsyBitsy boasts more GPIO pins. 

With a whopping 30 GPIO pins, the SparkFun Thing Plus sports fantastic connectivity. Its GPIO header includes 4 x 12-bit ADC, 2 x UART, 2 x I2C, 2 x SPI, and a Qwiic connector. Additionally, there's a 500mA lipoly charger, RGB LED, and reset button. 

If you're working with embedded applications, the Pimoroni Tiny RP2040 is a great choice. Its minuscule 22.5mm x 18mm footprint houses 12 GPIO pins, an RGB LED, and a user switch. Though the Pimorono Tiny RP2040 doesn't have the wealth of GPIO pins as found on other RP2040-based MCUs, it's super small and ideal for embedded applications. 

Those working with SparkFun's MicroMod platform should opt for the MicroMod RP2040. This handy device lets you add an RP2040 microcontroller to any compatible carrier board using the standard MicroMod M.2 interface. It's a simple, scalable solution for delivering Pi Silicon MCU abilities to any MicroMod carrier board. 

  • Best overall RP2040 board: Raspberry Pi Pico
  • Best for high-voltage applications: Adafruit ItsyBitsy
  • Best connectivity: SparkFun Thing Plus
  • Best for embedded applications: Pimoroni Tiny RP2040

Which RP2040-based MCU is Best for You - Final Thoughts

Pi Silicon RP2040-centric microcontrollers are plentiful, from the Raspberry Pi Pico to Adafruit's Feather and Itsybitsy, Pimoronoi's Tiny RP2040, and a trio of MCUs from SparkFun in the Thing Plus, Pro Micro, and MicroMod RP2040. While functionality is generally the same, subtle differences make these different boards better for some applications than others. For instance, you might prioritize GPIO pins over flash memory, or a small footprint over connectivity. Regardless of your needs, there's an RP2040-based MCU that's right for you. And there's the forthcoming Arduino Nano RP2040 Connect. Chances are, as the RP2040 platform grows and sees wider adoption, even more Pi Silicon MCUs will hit shelves. 

RP2040 Board Comparision 

Raspberry Pi Pico Adafruit Feather RP2040 Adafruit ItsyBitsy RP2040 Pimoroni Tiny RP2040 SparkFun Thing Plus SparkFun Pro Micro SparkFun MicroMod
SoC: RP2040 Dual-core ARM COrtex-M0+ @ 133MHz, 264KB SRAM, 2MB QSPI Flash SoC: RP2040 Dual-core 32-bit Arm Cortex M0+ @ 125MHz, 264KB RAM, 4MB SPI Flash SoC: RP2040 32-bit Dual-core Cortex M0+ @ 125MHz, 264KB RAM, 4MB SPI Flash SoC: RP2040 ARM Cortex M0+ @ 133MHz, 264KB SRAM, 8MB QSPI Flash with XiP support SoC: RP2040 ARM Cortex M0+ @ 13MHz, 16MB Flash memory, 264KB SRAM SoC: RP2040 ARM Cortex M0+ @ 133MHz, 264KB SRAM, 16MB Flash SoC: RP2040 ARM Cortex M0+ @ 133MHz, 264KB SRAM, 16MB Flash
I/O: 26 multifunction GPIO pins (3 x analog inputs, 2 × UART, 2 × SPI controllers, 2 × I2C controllers, 16 × PWM channels, 1 × USB 1.1 controller and PHY, with host and device support, 8 × Programmable I/O (PIO) state machines for custom peripheral support), Accurate on-chip clock, Temperature, Accelerated integer and floating-point libraries on-chip I/O: 21 x GPIO (4 x 12-bit ADCs, 2 x I2C, 2 x SPI, 2 x UART, 16 x PWM, 8 x digital  'non-ADC/non-peripheral' GPIO), built-in 200mA lipoly charger with charging status indicator LED, RGB NeoPixeel with power pin on GPIO, on-board STEMMA QT connector, reset and bootloader select buttons, 4 x mounting holes, 24MHz crystal for timing, USB-C connector I/O: 23 x GPIO pins ( x 12-bit ADC, 2x P2C, 2 x SPI, 2 x UART, 16 x PWM, 10 digital 'non-ADC/non-peripheral' GPIO), RGB NeoPixel, reset and bootloader select buttons, 3.3V regularot with 500mA peak current output, 24MHz crystal, Vhigh output pin for high-voltage from VUSB and VBAT, USB-B micro connector I/O: 12 x GPIO pins (including 4 x 12-bit ADC channels, I2C, SPI, UART, PWM, clocks), on-board 3.3V regulator, basic input switch, user-controllable RGB LED I/O: 30 x GPIO (including 4 x 12-bit ADC), USB 1.1 host, 6 x dedicated I/O for SPI flash, JST single-cell battery connector, addressable WS2812 RGB LED, JTAG PTH pins I/O: 30 x GPIO (4x 12-bit ADC, 10x PWM channels, 2 x UART, 1 x I2C, 1 x SPI), USB-C, resettable PTC, power/reset buttons, power LED, WS2812 addressable LED, RTC,  I/O: 30 x GPIO (2 x UART, 2 x I2C, 2 x SPI, 29 x GPIO, 2 x digital pins, 3 x analog pins, 16 x PWM), status LED, VIN-level ADC, timer with 4 x alarms, RTC
Programming compatibility: C/C++, MicroPython, CircuitPython, Arduino IDE Programming language compatibility: CircuitPython, MicroPython, C/C++ Programming language compatibility: C/C++, CircuitPython, MicroPython,  Programming language compatibility: MicroPython, C/C++ Programming language compatibility: MicroPython, CircuitPython, C/C++ Programming language compatibility: MicroPython, C/C++ Programming language compatibility: MicroPython, C/C++
Dimensions: 21 mm × 51 mm
 
Dimensions: 2.0in x 0.9in x 0.28" (50.8mm x 22.8mm x 7mm) Dimensions: 1.4" x 0.7" x 0.2" (36mm x 18mm x 4mm) Dimensions: 22.5 x 18mm Dimensions: 2.3in x 0.9in Dimensions: 1.3in x 0.7in Dimensions: 22mm x 22mm
Buy the Raspberry Pi Pico Buy the Adafruit Feather RP2040 Buy the Adafruit ItsyBitsy Rp2040 Buy the Pimoroni Tiny 2040 Buy the SparkFun Thing Plus Buy the SparkFun Pro Micro Buy the SparkFun MicroMod

Leave your feedback...