

The Adafruit Metro RP2040 (Manufacturer Part ID: 6003) is a versatile microcontroller board powered by the RP2040 chip. It features dual-core ARM Cortex-M0+ processors, a wide range of GPIO pins, and compatibility with the Arduino IDE, CircuitPython, and MicroPython. Designed for hobbyists, educators, and professionals, the Metro RP2040 is ideal for prototyping, IoT projects, and embedded systems development.








The Adafruit Metro RP2040 is packed with features that make it a powerful and flexible development board. Below are its key technical details:
| Specification | Value |
|---|---|
| Microcontroller | RP2040 (Dual-core ARM Cortex-M0+) |
| Clock Speed | 133 MHz |
| Flash Memory | 16 MB QSPI |
| SRAM | 264 KB |
| GPIO Pins | 21 (including analog inputs) |
| Analog Inputs | 4 (12-bit ADC) |
| Communication Interfaces | UART, I2C, SPI |
| USB | USB-C (supports USB 1.1 and HID devices) |
| Power Supply | 5V via USB-C or external power source |
| Operating Voltage | 3.3V (logic level) |
| Dimensions | 71.1 mm x 53.3 mm |
The Metro RP2040 features a standard pinout for easy integration into projects. Below is the pin configuration:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | 3V3 | 3.3V power output |
| 2 | GND | Ground |
| 3 | A0 | Analog input 0 / GPIO26 |
| 4 | A1 | Analog input 1 / GPIO27 |
| 5 | A2 | Analog input 2 / GPIO28 |
| 6 | A3 | Analog input 3 / GPIO29 |
| 7 | SDA | I2C data line / GPIO20 |
| 8 | SCL | I2C clock line / GPIO21 |
| 9 | TX | UART transmit / GPIO0 |
| 10 | RX | UART receive / GPIO1 |
| 11 | SCK | SPI clock / GPIO18 |
| 12 | MOSI | SPI master out, slave in / GPIO19 |
| 13 | MISO | SPI master in, slave out / GPIO16 |
| 14-21 | GPIO2-GPIO9 | General-purpose I/O pins |
The Adafruit Metro RP2040 is designed for ease of use, whether you're programming with the Arduino IDE, CircuitPython, or MicroPython. Below are the steps to get started and important considerations.
Below is an example of how to blink an LED connected to GPIO13:
// Blink an LED connected to GPIO13 on the Adafruit Metro RP2040
#define LED_PIN 13 // Define the GPIO pin for the LED
void setup() {
pinMode(LED_PIN, OUTPUT); // Set the LED pin as an output
}
void loop() {
digitalWrite(LED_PIN, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(LED_PIN, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
By following this documentation, you can effectively utilize the Adafruit Metro RP2040 for a wide range of projects and applications.