Adafruit
Adafruit Metro RP2040
The Adafruit Metro RP2040 brings the Raspberry Pi RP2040 dual-core processor to the standard Metro/UNO shield-compatible form factor. With 16 MB of QSPI flas...
Get notified when back in stock
The Adafruit Metro RP2040 brings the Raspberry Pi RP2040 dual-core processor to the standard Metro/UNO shield-compatible form factor. With 16 MB of QSPI flash, a microSD card slot, USB-C, and a rich set of debugging ports, this board is an excellent platform for CircuitPython, Arduino, MicroPython, or C/C++ development.
The RP2040's unique PIO (Programmable I/O) state machine system lets you create custom hardware peripherals — driving NeoPixels, I2S audio, LED matrices, TFT displays, and even VGA output without consuming CPU cycles.
Key Features
- RP2040 Dual-Core ARM Cortex-M0+ @ 133 MHz – With 264 KB SRAM across six independent banks
- 16 MB QSPI Flash – Ample storage for firmware and CircuitPython files (~7 MB available for user files)
- 24 GPIO Pins – 4 analogue inputs, 16 PWM channels, 3.3V logic
- MicroSD Card Slot – SPI-connected with additional SDIO pins for advanced use
- 8 PIO State Machines – Custom hardware peripherals for NeoPixels, I2S, displays, and more
- UNO Shield Compatible – Standard Metro form factor; GPIO numbering matches classic Arduino pins
- USB-C – Power and data with USB 1.1 host and device support
- 6–12V DC Jack – With on/off switch and polarity protection
- STEMMA QT / Qwiic Port – Solderless I2C connection
- RX/TX Switch – Swap D0/D1 pin assignments to match Arduino UART convention or RP2040 native order
- Debugging Ports – PicoProbe (3-pin JST SH) and SWD (2×5 0.05") connectors
- NeoPixel + LED – On-board RGB NeoPixel and pin 13 LED
RP2040 Peripherals
- 2× UART, 2× SPI, 2× I2C controllers
- 16× PWM channels
- USB 1.1 controller with host and device support
- 8× PIO state machines (2 PIO blocks × 4)
- DMA controller, interpolator, and integer divider
Ideal For
- CircuitPython and MicroPython projects with shield compatibility
- Data logging to microSD with RP2040 processing
- Custom peripheral projects using PIO state machines
- Arduino-form-factor prototyping with dual-core RP2040
Package Contents
- 1× Adafruit Metro RP2040 (with headers)
Resources
Jargon buster
Plain-language definitions for the technical terms used above.
- CircuitPython
- A beginner-friendly version of Python designed to run directly on microcontroller boards. If a product supports CircuitPython, you can often program it by copying code files onto the board rather than setting up a more complex toolchain.
- DC
- DC means direct current, where electricity flows in one constant direction, as supplied by batteries, USB ports and many plug-pack power supplies. When a product specifies DC, it runs from a DC supply rather than mains AC, so you need to provide the correct voltage and polarity.
- GPIO
- General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
- Headers
- Rows of connector contacts on a fixed pitch (commonly 2.54 mm) used to link a board to a breadboard, jumper wires, or another board. They come as male pin headers and female socket headers; when a module ships with pre-soldered headers it can be used straight away, whereas bare pads require soldering the pins yourself.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- I2S
- I2S is a digital audio interface used to send sound data between chips, such as from a microcontroller to an audio amplifier or DAC. It matters if your project needs cleaner digital audio output than a basic buzzer or PWM signal can provide.
- LED
- A light-emitting diode (LED) is a small electronic component that emits light when current flows through it in the correct direction. Because it only conducts one way, its polarity matters, and a through-hole LED must be soldered the correct way around to light up.
- MicroPython
- A version of the Python programming language made to run on microcontrollers. It matters because it lets beginners write readable code to control LEDs, sensors, motors and displays without needing to start with lower-level languages.
- microSD card
- A microSD card is a small removable flash memory card used to store data such as audio, images, logs or program files. Its capacity and formatting (often FAT32 or exFAT) affect how much can be stored and whether the card needs preparing before use.
- NeoPixel
- A type of addressable LED system where colour data is sent along a single digital data line from one LED or controller to the next. Compatibility matters because the timing and signal format must match for the lights or driver board to respond correctly.
- PWM
- Pulse Width Modulation is a way for a digital pin to simulate variable output power by switching on and off very quickly. It matters for controlling things like LED brightness, motor speed, or servo-style signals from a microcontroller pin.
- Qwiic
- Qwiic is a plug-in connector system for I2C devices that uses small 4-pin cables, so you can connect compatible sensors without soldering. It matters because your controller or adapter also needs Qwiic, or you will need a cable or breakout to wire it up.
- RGB
- Short for red, green and blue, the three primary colours of light that are mixed in varying amounts to make a wide range of colours. In electronics RGB can refer to an LED or pixel that blends these three colours, or to a colour signal or interface that carries separate red, green and blue channels.
- RP2040
- The RP2040 is a dual-core Arm Cortex-M0+ microcontroller chip from Raspberry Pi, used on many maker boards and offering programmable I/O, multiple GPIO pins and reasonable processing speed. Code and accessories built for that chip should work where RP2040 compatibility is listed, though demanding tasks such as reading a camera can require careful pin allocation and timing.
- RX
- RX means receive, usually showing data being received by the board. An RX indicator LED can help with troubleshooting USB or serial communication.
- Shield
- An add-on board that plugs into a main controller board to give it extra features such as sensing, motor control or communication. Knowing a product supports shields helps you judge whether it can connect neatly into an existing maker-board setup.
- SPI
- A fast serial communication bus often used for displays, memory cards, and sensors. It matters because SPI devices need specific pins for clock and data, plus a separate chip-select line for each device.
- SRAM
- Fast temporary memory used by a processor while a program is running. More SRAM helps with projects that handle larger data buffers, networking, displays, or more complex code.
- STEMMA QT
- A small plug-in connector system for I2C boards that lets you connect compatible sensors and controllers without soldering. It matters because it can make wiring faster and less error-prone, especially when adding several small modules to a project.
- SWD
- Serial Wire Debug (SWD) is a two-wire programming and debugging interface used with many ARM Cortex-M microcontrollers. It provides low-level access to program, recover or debug the microcontroller.
- TFT
- A thin-film transistor display is a common type of colour LCD used for graphics screens. Knowing a product is for TFTs helps you check that the driver board matches the display’s connector, resolution, backlight, and signalling method.
- TX
- TX means transmit, usually showing data being sent from the board. A TX indicator LED can help you see when the board is communicating or uploading code.
- UART
- UART is a simple asynchronous serial interface that sends data over separate transmit and receive wires, usually labelled TX and RX, with both ends set to the same baud rate. It is a common way for microcontrollers and other serial devices to exchange data.
- USB 1.1
- USB 1.1 is an older USB standard with much slower data transfer than USB 2.0 and later versions. Compatibility with it allows connection to very old computers, though data-heavy tasks such as video may be limited at that speed.
- USB-C
- USB-C is a small, reversible USB connector that can carry power, data and, on some devices, video over a single cable. The same connector can range from charging only to high-speed data, so the functions a given port actually supports vary.
- VGA
- VGA has two common meanings in electronics: as a resolution it usually refers to a 640 x 480 pixel image, which is modest detail suitable for basic display or inspection rather than high definition; as a connector it refers to the analogue 15-pin video output long used on computers and monitors. Check which sense a listing means.
Find this product in
Brands
Microcontrollers
welcome to circuitpython
Circuit Diagram · 10.6 MB · Click any page to view full size
rp2040 arduino with the earlephilhower core
Example Code · 964.5 KB · Click any page to view full size
Resources & Downloads
Guides, code examples, and more
Related Tutorials
Free guides on learn.littlebird.com.au