Opens in a new tab

Adafruit Feather RP2040 Pinout

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 names:
Adafruit Feather RP2040 – pinoutAdafruit Feather RP2040 – pinoutchiptron.eu · CC BY 4.0RP2040USB-CRESETBOOTSTEMMA QTFeather RP2040LED: GPIO13 1 RST → Reset – connecting to GND restarts the chip 2 3V3 ← 3.3 V output from the regulator 3 3V3 ← 4 GND 5 GPIO26 A0 I2C1 SDA SPI1 SCK ADC0 6 GPIO27 A1 I2C1 SCL SPI1 TX ADC1 7 GPIO28 A2 UART0 TX I2C0 SDA SPI1 RX ADC2 8 GPIO29 A3 UART0 RX I2C0 SCL SPI1 CSn ADC3 9 GPIO24 D24 UART1 TX I2C0 SDA SPI1 RX 10 GPIO25 D25 UART1 RX I2C0 SCL SPI1 CSn 11 GPIO18 SCK I2C1 SDA SPI0 SCK 12 GPIO19 MOSI I2C1 SCL SPI0 TX 13 GPIO20 MISO UART1 TX I2C0 SDA SPI0 RX 14 GPIO1 RX UART0 RX I2C0 SCL SPI0 CSn 15 GPIO0 TX UART0 TX I2C0 SDA SPI0 RX 16 GPIO6 D4 I2C1 SDA SPI0 SCK 28 VBAT ↔ Li-Po cell voltage (JST PH connector) 27 EN ← Logic 0 disables the 3.3 V regulator and thus the whole board 26 VBUS → 5 V from USB (only when USB is connected) 25 GPIO13 D13 UART0 RX I2C0 SCL SPI1 CSn 24 GPIO12 D12 UART0 TX I2C0 SDA SPI1 RX 23 GPIO11 D11 I2C1 SCL SPI1 TX 22 GPIO10 D10 I2C1 SDA SPI1 SCK 21 GPIO9 D9 UART1 RX I2C0 SCL SPI1 CSn 20 GPIO8 D6 UART1 TX I2C0 SDA SPI1 RX 19 GPIO7 D5 I2C1 SCL SPI0 TX 18 GPIO3 SCL I2C1 SCL SPI0 TX 17 GPIO2 SDA I2C1 SDA SPI0 SCK GPIO Arduino UART I2C SPI ADC (analog) Power Ground (GND) Control / reset
Download:PNGSVG
Pin table – Adafruit Feather RP2040
PinNameArduinoDirectionUARTI2CSPIPWMADCNote
1RSTinputReset – connecting to GND restarts the chip
23V3output3.3 V output from the regulator
33V3output3.3 V output from the regulator
4GND–
5GPIO26A0input/outputUART1 CTSI2C1 SDASPI1 SCKPWM5 AADC0
6GPIO27A1input/outputUART1 RTSI2C1 SCLSPI1 TXPWM5 BADC1
7GPIO28A2input/outputUART0 TXI2C0 SDASPI1 RXPWM6 AADC2
8GPIO29A3input/outputUART0 RXI2C0 SCLSPI1 CSnPWM6 BADC3ADC3 – measures VSYS on the Pico, free here
9GPIO24D24input/outputUART1 TXI2C0 SDASPI1 RXPWM4 A
10GPIO25D25input/outputUART1 RXI2C0 SCLSPI1 CSnPWM4 B
11GPIO18SCKinput/outputUART0 CTSI2C1 SDASPI0 SCKPWM1 A
12GPIO19MOSIinput/outputUART0 RTSI2C1 SCLSPI0 TXPWM1 B
13GPIO20MISOinput/outputUART1 TXI2C0 SDASPI0 RXPWM2 A
14GPIO1RXinput/outputUART0 RXI2C0 SCLSPI0 CSnPWM0 B
15GPIO0TXinput/outputUART0 TXI2C0 SDASPI0 RXPWM0 A
16GPIO6D4input/outputUART1 CTSI2C1 SDASPI0 SCKPWM3 A
17GPIO2SDAinput/outputUART0 CTSI2C1 SDASPI0 SCKPWM1 AI2C SDA – also on the STEMMA QT connector
18GPIO3SCLinput/outputUART0 RTSI2C1 SCLSPI0 TXPWM1 BI2C SCL – also on the STEMMA QT connector
19GPIO7D5input/outputUART1 RTSI2C1 SCLSPI0 TXPWM3 B
20GPIO8D6input/outputUART1 TXI2C0 SDASPI1 RXPWM4 A
21GPIO9D9input/outputUART1 RXI2C0 SCLSPI1 CSnPWM4 B
22GPIO10D10input/outputUART1 CTSI2C1 SDASPI1 SCKPWM5 A
23GPIO11D11input/outputUART1 RTSI2C1 SCLSPI1 TXPWM5 B
24GPIO12D12input/outputUART0 TXI2C0 SDASPI1 RXPWM6 A
25GPIO13D13input/outputUART0 RXI2C0 SCLSPI1 CSnPWM6 BRed LED (D13)
26VBUSoutput5 V from USB (only when USB is connected)
27ENinputLogic 0 disables the 3.3 V regulator and thus the whole board
28VBATinput/outputLi-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:

PinFunction on the board
GPIO16NeoPixel (RGB LED)
GPIO4BOOT 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.

Related Articles