Pimoroni PIM558 - Tiny 2040, 8MB version. Postage-stamp-sized RP2040 development board with USB-C connector. Perfect for portable projects, wearables and embedding into items.
Stamp-sized RP2040 development board with a USB-C connector, perfect for portable projects, wearables and embedding into things.
While Pimoroni love the Raspberry Pi Pico, they also wanted something smaller with more flash. Introducing the Tiny 2040 - a tiny powerhouse capable of carrying out really ambitious projects.
The Tiny 2040 is powered and programmable over USB-C, and features an 8MB QSPI (XIP) flash stick (a budget 2MB version is also available). The board is designed with castellated pads so it can be soldered directly onto a PCB (or you can fit header pins to connect it to a breadboard or wire things directly). Pimoroni have also managed to fit a user-programmable RGB LED, a reset button and some clever circuitry that lets you use the boot button as a user-controlled switch.
It is compatible with firmware built for the Raspberry Pi Pico, but offers fewer pins due to its size. You can even run MicroPython on it!
Due to demand we now also have Tiny 2040s available with downward-facing header pins which the pirates have lovingly pre-soldered.
Features
Powered by RP2040
ARM Cortex M0+ running at up to 133 MHz.
264kB SRAM
USB-C connector for power, programming and data
2MB or 8MB QSPI flash with XIP support.
User-controllable RGB LED
Twelve IO pins (including four 12-bit ADC channels)
Switch for a basic input (also works as DFU selector during boot).
Built-in 3V3 regulator (regulator current max output 300mA).
Input voltage range 3V - 5.5V
Dimensions: approx 22.9 x 18.2 x 6 mm (L x W x H, including USB-C port).
The Tiny 2040 is firmware agnostic! You can program it in C/C++ or MicroPython in the same way as the Raspberry Pi Pico, although you need to be aware that it has fewer pins. The RP2040 getting started page has (lots of) information on how to do this (and download links for the firmware/SDK).
You can also use CircuitPython on your Tiny 2040! CircuitPython is a beginner-friendly, established ecosystem with lots of example code and drivers for working with a wide range of hardware.
CircuitPython firmware for the Tiny 2040: 8MB / 2MB.
The RGB LED is connected to GP18-GP20 and is active low (so on/off is inverted compared to the Raspberry Pi Pico LED). You can PWM the pins to dim the LED - see Tonygo2's MicroPython example.
About the RP2040
The Raspberry Pi RP2040 microcontroller is a dual-core ARM Cortex M0+ running at 133 MHz. It includes 264kB of SRAM, 30 multi-function GPIO pins (including a four-channel 12-bit ADC), a bunch of standard peripherals (I2C, SPI, UART, PWM, clocks etc.) and USB support.
One of the RP2040's really exciting features is the programmable IOs which let you run custom programs that can handle GPIO pins and move data between peripherals - they can offload tasks that require high data rates or precise timing that would traditionally demand a lot of heavy CPU work.