The Raspberry Pi Pico is the first microcontroller from the Raspberry Pi foundation.
The Pico is a tiny board sporting a brand new microcontroller chip designed by the Pi foundation itself.
Unlike the Raspberry Pi, the Pico is aimed at interacting with hardware. In a way, you could see it as an alternative to the Arduino Nano.
The Pico was designed to make up for some of the limitations of the popular single-board computer.
Some of the limitations that the Pico has attempted to solve are the following.
The first is the power usage of the Raspberry Pi. Even the lowest powered Pi Zero can still consume a minimum of 100 milliwatts even when in low power mode.
By comparison, the Pico will consume as little as 6 milliwatts while in its sleep mode.
The Raspberry Pi single-board-computers do not have built-in support for analog input. While you can use an ADC, it makes it more complicated than it needs to be.
Thanks to the RP2040 microcontroller the Pico uses, it can read in analog values directly from 4 separate pins.
Due to the Raspberry Pi being a single-board-computer and being built for general-purpose computing, there is additional latency when dealing with GPIO pins.
The Pico being a microcontroller, does not have to worry about operating system overheads. This allows the Pico to keep GPIO latency low.
The Brains of the Raspberry Pi Pico
At the heart of the Raspberry Pi Pico is the foundation’s very own custom microcontroller called the RP2040.
The RP2040 strived to build upon the lessons the team has learned over developing their other products.
When designing the chip, the team had three main goals.
- The first of these goals was to ensure that the chip could achieve high performance, especially when dealing with integer calculations.
- Secondly, they wanted the RP2040 to have a super flexible I/O, allowing it to talk with almost any other device.
- The third and final design goal was to achieve all of this for the lowest price possible. This helps eliminate the cost of entry of someone getting into electronics and computing.
From what the team has shown off so far, this new chip seems to have met, if not exceeded, most of their design goals.
Specifications of the RP2040
Below you can see the specifications that the RP2040 chip brings to the Raspberry Pi Pico.
While some things like the CPU speed and the RAM amount might sound low compared to a single-board computer like the Raspberry Pi, they are pretty good for a microcontroller.
Especially considering the microcontroller doesn’t have to worry about running a heavy operating system on top.
- Dual-Core ARM Cortex-M0+ @133MHz
- 264KB of on-chip RAM
- Support for up to 16MB of off-chip Flash Memory via a dedicated QSPI bus
- DMA Controller
- Interpolator and integer divider peripherals
- 30 GPIO pins, 4 of which can be used as analog inputs
- 2 x UARTs, 2 x SPI controllers, and 2 x I2C Controllers
- 16 x PWM Channels
- 1 x USB 1.1 Controller and PHY, with host and device support
- 8 x Raspberry Pi Programmable I/o (PIO) state machines
- USB mass-storage boot mode with UF2 support for drag-and-drop-programming
One of the cool features of the RP2040 is its PIO state machines.
These programmable I/O ports allow you to define new hardware features entirely in software.
This allows you to help expand the capabilities of the RP2040 as the ports aren’t fixed to a specific function.
The Raspberry Pi Pico
The Raspberry Pi Pico is the low-cost breakout board for the RP2040 chip.
This breakout board is designed to extend the chip’s functionality and allow easy access to most of its features, such as the GPIO pins.
It brings with it 2MB flash memory. This flash memory is where your programs written in C or MicroPython will be saved to and run from.
Additionally, the board also hosts the power supply circuitry, allowing the board to take in power from a wide variety of sources. This power circuit will be able to handles voltages from 1.8 – 5.5v.
Using this circuitry, you can power the device from as little as two AA batteries wired in series.
You will notice that there is a button on the Pico board. This button serves a couple of purposes, the most important being that it allows you to put the chip into USB mass-storage mode at boot time.
You can also use this button within your scripts after the Pico has finished boot.
The Raspberry Pi Pico exposes 26 of the 30 GPIO pins that the RP2040 supports, including three analog pins.
One thing to note is that the Raspberry Pi Pico does not come with any header pins pre-soldered, making it slightly harder to get going quickly.
You will either have to do this yourself or purchase from a seller that has done this for you.
The one advantage of not having the pins soldered from the get-go is that it makes it easier to connect the unit into a carrier board.
Specifications of the Raspberry Pi Pico
Below you can check out all the specifications of the Raspberry Pi Pico.
- At the heart of the Raspberry Pi Pico is the RP2040 chip
- 26 x multi-function GPIO Pins, 3 of which can be analog input
- 2 MB of Flash memory
- Temperature sensor
- Accurate clock and timer on-chip
- 8 x Programmable IO state machines
- 2x SPI, 2 x I2C, 2 x UART, 3x ADC, 16 x PWM Channels
- Fast software floating-point libraries in ROM
- USB 1.1 Host and Device support
- Castellated module for easy soldering direct to carrier boards
You can quickly see that it is packed with features for the low price point of the Pico.
The RP2040 is the team’s biggest achievement, providing a wealth of functionality that makes the Raspberry Pi Pico incredibly versatile.
Raspberry Pi Pico GPIO Pinout
Considering the large amount of GPIO the Pico provides, you will find that you need to to use a pinout diagram.
Luckily for us, the Raspberry Pi foundation has put out there own super well-designed diagram.
Using this diagram, you will be able to see what every pin is capable of, allowing you to plan out how you wire your devices to the Pico.
The Raspberry Pi Pico Price Point
One thing the Raspberry Pi team has managed to achieve with almost every new product they put out is that it is reasonably affordable.
The Raspberry Pi Pico is no exception to this and comes in at the dirt-cheap price of $4 USD.
You can purchase the Pico now from the official, approved Pi resellers.
At this low price point, the Raspberry Pi Pico proves itself as a must-have for anyone interested in the full device.
It works as a perfect companion to the Raspberry Pi, allowing you to perform low latency I/O while still using the more power-hungry Raspberry Pi for complicated calculations.
Alternatives to the Raspberry Pi Pico
Even though the Raspberry Pi Pico is the star of the show, the foundation has gone ahead and partnered with other companies to utilize their RP2040 chip.
Companies like SparkFun, Adafruit, and even Adruino have built their own devices utilizing the brains of the Pi Pico.
Below we are going to list out some of the available alternatives to the Raspberry Pi Pico.
Adafruit Feather RP2040
Adafruit’s first product incorporating the chip from the Raspberry Pi Pico is the Feather RP2040.
This product brings all of the Feather lineup’s features, now bundled with the new RP2040 chip.
Some of the notable features the Adafruit Feather RP2040 brings to the table are the following.
- USB-C connector
- Lipoly battery charging
- 4MB of QSPI flash memory
- STEMMA QT I2C connector
- 21 GPIO Pins, four of which are analog inputs (One more then the Pico provides)
This product is an excellent choice for those who invested in the Feather line up of products and who want to use Qwiic/QT/Grove sensors quickly.
Arduino Nano RP2040 Connect
Arduino brings to the table the Arduino Nano RP2040 Connect.
This board is one of the most feature-packed alternatives to the Raspberry Pi Pico.
Featuring the same RP2040 chip the Pico does, it also brings to the table numerous other features.
Some of the standout features of the Arduino Nano RP2040 Connect include the following.
- High-quality NEMS sensors for 9-axis IMU and a microphone
- Built-in support for Wifi/Bluetooth
- ECC608 crypto chip – Allowing support for encryption
Alongside this new chip from Arduino, the team is also hard at work at allowing the Adruino core to operate on the new architecture.
Meaning you will soon be able to use the Arduino IDE, command-line tool, and libraries on boards utilizing the RP2040 chip.
SparkFun Thing Plus – RP2040
The final alternative to the Raspberry Pi Pico that we will be looking at is the Spark Thing Plus – RP2040.
Like the rest of the alternatives that we have been exploring, this board makes use of the RP2040.
In addition to the standard features provided by the Raspberry Pi Pico’s microcontroller, the SparkFun Things Plus – RP2040 features the following.
- An SD Card Slot
- 16MB of Flash Memory
- JST Single cell battery connector
- Addressable WS2812 RB LED
- JTAG PTH pins
- Qwiic Connector
One of the most standout features of this board is the amount of flash memory that the device provides.
While most tend only to provide 4MB of flash, the SparkFun Thing Plus RP2040 features 16MB of flash memory.
In addition to this, it also allows you to expand this further thanks to the SD card slot.
However, this board’s one downside is that it provides the least amount of access to the RP2040’s GPIO. Only sporting access to 18 of the 40 GPIO ports.