"Eeven in its lowest power mode a Raspberry Pi Zero will consume on the order of 100 milliwatts; Raspberry Pi on its own does not support analogue input; and while it is possible to run 'bare metal' software on a Raspberry Pi, software running under a general-purpose operating system like Linux is not well suited to low-latency control of individual I/O pins," Raspberry Pi Foundation explains.
This is where the Raspberry Pi Pico comes into play. While the Raspberry Pi takes charge of heavyweight computation, network access, and storage, the microcontroller can handle more welterweight tasks, like analogue input, low latency I/O, and in some cases, provide an extremely low power mode.
Sounds like a simple enough thing, but Raspberry Pi Foundation says it struggled with trying to figure out how to make a compelling microcontroller-class product of its own. This is the other part of the story—what it ultimately decided to do is, for the first time, design its own custom chip.
Design goals came down to high performance (especially for integer workloads), flexible I/O that would allow the microcontroller to communicate with practically any external device, and low cost. What it ended up with is a 7mm x 7mm QFN-56 packages powered by a dual-core Arm Cortex-M0+ at 133MHz.
The Raspberry Pi Pico also features 265KB of on-chip RAM and support for up to 16MB of off-chip NAND flash memory (by way of a dedicated QSPI bus), a DMA controller, 30 GPIO pins (four of them can be used as analogue inputs), 16 PWM channels, two UARTs, two SPI controllers, 2 12C controllers, a USB 1.1 controller and PHY, eight Raspberry Pi Programmable I/O (PIO) state machines, and a USB mass-storage boot mode with UF2 support for drag-and-drop programming.
"This isn’t just a powerful chip: it’s designed to help you bring every last drop of that power to bear. With six independent banks of RAM, and a fully connected switch at the heart of its bus fabric, you can easily arrange for the cores and DMA engines to run in parallel without contention," Raspberry Pi Foundation says.
The Raspberry Pi Pico pairs the custom RP2040 with 2MB of flash memory and a power supply chip supporting input voltages from 1.8-5.5V. That means it can be powered from two or three AA cells or a single lithium-ion cell, among other things.
What's also neat is that Raspberry Pi Foundation is not hording its custom chip soley for its own product line. The company has also partnered with Adafruit, Arduino, Pimoroni, and Sparkfun to create their own accessories around the RP2040.