Adafruit Feather RP2040 puts the RP2040 chip into the standardized Feather form factor. The main pins are in the same places as on other Feathers, so the board fits FeatherWing add-on boards.
Compared with the Pico, it adds a Li-Po charger, a STEMMA QT connector, an RGB LED and 8 MB of flash.
Specifications
- RP2040: 2× Arm Cortex-M0+ up to 133 MHz, 264 kB SRAM
- 8 MB flash
- USB-C, Li-Po charger with a JST PH connector
- STEMMA QT / Qwiic (I2C) connector for sensors without soldering
- NeoPixel RGB LED (GPIO16), red LED (GPIO13), BOOT and RESET buttons
- 4 analog inputs A0–A3 (GPIO26–29)
- Feather form factor, 50.8 × 22.9 mm
It is best supported in CircuitPython, but MicroPython, the Arduino IDE and the Pico SDK work too. The pin names on the board (A0, D24, SCK…) are the same in Arduino and CircuitPython.
Pinout and pin table
Hover over a pin in the diagram or a table row; use the filter to highlight a bus. You can download the pinout as PNG or SVG.
| Pin | Name | Arduino | Direction | UART | I2C | SPI | PWM | ADC | Note |
|---|---|---|---|---|---|---|---|---|---|
| 1 | RST | input | Reset – connecting to GND restarts the chip | ||||||
| 2 | 3V3 | output | 3.3 V output from the regulator | ||||||
| 3 | 3V3 | output | 3.3 V output from the regulator | ||||||
| 4 | GND | – | |||||||
| 5 | GPIO26 | A0 | input/output | UART1 CTS | I2C1 SDA | SPI1 SCK | PWM5 A | ADC0 | |
| 6 | GPIO27 | A1 | input/output | UART1 RTS | I2C1 SCL | SPI1 TX | PWM5 B | ADC1 | |
| 7 | GPIO28 | A2 | input/output | UART0 TX | I2C0 SDA | SPI1 RX | PWM6 A | ADC2 | |
| 8 | GPIO29 | A3 | input/output | UART0 RX | I2C0 SCL | SPI1 CSn | PWM6 B | ADC3 | ADC3 – measures VSYS on the Pico, free here |
| 9 | GPIO24 | D24 | input/output | UART1 TX | I2C0 SDA | SPI1 RX | PWM4 A | ||
| 10 | GPIO25 | D25 | input/output | UART1 RX | I2C0 SCL | SPI1 CSn | PWM4 B | ||
| 11 | GPIO18 | SCK | input/output | UART0 CTS | I2C1 SDA | SPI0 SCK | PWM1 A | ||
| 12 | GPIO19 | MOSI | input/output | UART0 RTS | I2C1 SCL | SPI0 TX | PWM1 B | ||
| 13 | GPIO20 | MISO | input/output | UART1 TX | I2C0 SDA | SPI0 RX | PWM2 A | ||
| 14 | GPIO1 | RX | input/output | UART0 RX | I2C0 SCL | SPI0 CSn | PWM0 B | ||
| 15 | GPIO0 | TX | input/output | UART0 TX | I2C0 SDA | SPI0 RX | PWM0 A | ||
| 16 | GPIO6 | D4 | input/output | UART1 CTS | I2C1 SDA | SPI0 SCK | PWM3 A | ||
| 17 | GPIO2 | SDA | input/output | UART0 CTS | I2C1 SDA | SPI0 SCK | PWM1 A | I2C SDA – also on the STEMMA QT connector | |
| 18 | GPIO3 | SCL | input/output | UART0 RTS | I2C1 SCL | SPI0 TX | PWM1 B | I2C SCL – also on the STEMMA QT connector | |
| 19 | GPIO7 | D5 | input/output | UART1 RTS | I2C1 SCL | SPI0 TX | PWM3 B | ||
| 20 | GPIO8 | D6 | input/output | UART1 TX | I2C0 SDA | SPI1 RX | PWM4 A | ||
| 21 | GPIO9 | D9 | input/output | UART1 RX | I2C0 SCL | SPI1 CSn | PWM4 B | ||
| 22 | GPIO10 | D10 | input/output | UART1 CTS | I2C1 SDA | SPI1 SCK | PWM5 A | ||
| 23 | GPIO11 | D11 | input/output | UART1 RTS | I2C1 SCL | SPI1 TX | PWM5 B | ||
| 24 | GPIO12 | D12 | input/output | UART0 TX | I2C0 SDA | SPI1 RX | PWM6 A | ||
| 25 | GPIO13 | D13 | input/output | UART0 RX | I2C0 SCL | SPI1 CSn | PWM6 B | Red LED (D13) | |
| 26 | VBUS | output | 5 V from USB (only when USB is connected) | ||||||
| 27 | EN | input | Logic 0 disables the 3.3 V regulator and thus the whole board | ||||||
| 28 | VBAT | input/output | Li-Po cell voltage (JST PH connector) |
Pins used on the board
These chip pins are used by parts on the board and are not broken out:
| Pin | Function on the board |
|---|---|
| GPIO16 | NeoPixel (RGB LED) |
| GPIO4 | BOOT button – from revision D (board.BUTTON in CircuitPython) |
What to watch out for
- GPIO are not 5V tolerant. Use a level shifter for 5V signals.
- The EN pin disables the 3.3 V regulator and with it the whole board – handy for a power switch when running on battery.
- The board has no divider for measuring the cell voltage – to monitor the battery, add your own divider to an analog input.
- I2C on GPIO2/3 is shared with the STEMMA QT connector.
- VBUS carries 5 V from USB only when a cable is connected.
RP2040 and CircuitPython on chiptron.eu/
Projects and guides on chiptron.eu/:
- Picogame – a game engine for CircuitPython optimized for RP2040 and RP2350 chips
More pinouts
See all pinouts on the Pinouts page.