Opens in a new tab

Raspberry Pi Pico W Pinout

Raspberry Pi Pico W is the classic Pico with an Infineon CYW43439 wireless chip that adds Wi-Fi (2.4 GHz) and Bluetooth. The edge pins stay in the same places as on the Pico, so you can reuse your wiring unchanged.

The wireless chip does take several internal GPIO, though, and the onboard LED has moved too – what to watch out for is summarized below the table.

Specifications

  • RP2040: 2× Arm Cortex-M0+ up to 133 MHz
  • 264 kB SRAM, 2 MB flash
  • Wi-Fi 802.11n (2.4 GHz) and Bluetooth 5.2 via CYW43439, onboard antenna
  • 26 GPIO with 3.3 V logic, 3 of them with a 12-bit ADC
  • 2× UART, 2× SPI, 2× I2C, 16 PWM channels, 8 PIO state machines
  • micro USB, 1.8–5.5 V power via VSYS
  • 21 × 51 mm – the same dimensions and pin layout as the Pico

The version with soldered headers is called the Pico WH. Its successor, the Pico 2 W, has the same wireless chip and wiring, just with the more powerful RP2350.

It is programmed just like the Pico – MicroPython, CircuitPython, C/C++ (Pico SDK) or the Arduino IDE. The original Pico pinout is on the Raspberry Pi Pico Pinout page.

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:
Raspberry Pi Pico W – pinoutRaspberry Pi Pico W – pinoutchiptron.eu · CC BY 4.0Raspberry Pi is a trademark of Raspberry Pi Ltd.RP2040micro USBLEDBOOTSELRaspberry Pi Pico WSWCLKGNDSWDIOLED: WL_GPIO0 (wireless chip) 1 GP0 UART0 TX I2C0 SDA SPI0 RX 2 GP1 UART0 RX I2C0 SCL SPI0 CSn 3 GND 4 GP2 I2C1 SDA SPI0 SCK 5 GP3 I2C1 SCL SPI0 TX 6 GP4 UART1 TX I2C0 SDA SPI0 RX 7 GP5 UART1 RX I2C0 SCL SPI0 CSn 8 GND 9 GP6 I2C1 SDA SPI0 SCK 10 GP7 I2C1 SCL SPI0 TX 11 GP8 UART1 TX I2C0 SDA SPI1 RX 12 GP9 UART1 RX I2C0 SCL SPI1 CSn 13 GND 14 GP10 I2C1 SDA SPI1 SCK 15 GP11 I2C1 SCL SPI1 TX 16 GP12 UART0 TX I2C0 SDA SPI1 RX 17 GP13 UART0 RX I2C0 SCL SPI1 CSn 18 GND 19 GP14 I2C1 SDA SPI1 SCK 20 GP15 I2C1 SCL SPI1 TX 40 VBUS → 5 V from USB (only when USB is connected) 39 VSYS ← Power input 1.8–5.5 V 38 GND 37 3V3_EN ← Connect to GND to turn off the 3.3 V supply 36 3V3(OUT) → 3.3 V output, max. load ~300 mA 35 ADC_VREF ↔ ADC reference (can also be external) 34 GP28 UART0 TX I2C0 SDA SPI1 RX ADC2 33 AGND Analog ground for the ADC (GP26–28) 32 GP27 I2C1 SCL SPI1 TX ADC1 31 GP26 I2C1 SDA SPI1 SCK ADC0 30 RUN ← Reset – connecting to GND restarts the chip 29 GP22 I2C1 SDA SPI0 SCK 28 GND 27 GP21 UART1 RX I2C0 SCL SPI0 CSn 26 GP20 UART1 TX I2C0 SDA SPI0 RX 25 GP19 I2C1 SCL SPI0 TX 24 GP18 I2C1 SDA SPI0 SCK 23 GND 22 GP17 UART0 RX I2C0 SCL SPI0 CSn 21 GP16 UART0 TX I2C0 SDA SPI0 RX GPIO UART I2C SPI ADC (analog) Power Ground (GND) Control / reset
Download:PNGSVG
Pin table – Raspberry Pi Pico W
PinNameDirectionUARTI2CSPIPWMADCNote
1GP0input/outputUART0 TXI2C0 SDASPI0 RXPWM0 A
2GP1input/outputUART0 RXI2C0 SCLSPI0 CSnPWM0 B
3GND–
4GP2input/outputUART0 CTSI2C1 SDASPI0 SCKPWM1 A
5GP3input/outputUART0 RTSI2C1 SCLSPI0 TXPWM1 B
6GP4input/outputUART1 TXI2C0 SDASPI0 RXPWM2 A
7GP5input/outputUART1 RXI2C0 SCLSPI0 CSnPWM2 B
8GND–
9GP6input/outputUART1 CTSI2C1 SDASPI0 SCKPWM3 A
10GP7input/outputUART1 RTSI2C1 SCLSPI0 TXPWM3 B
11GP8input/outputUART1 TXI2C0 SDASPI1 RXPWM4 A
12GP9input/outputUART1 RXI2C0 SCLSPI1 CSnPWM4 B
13GND–
14GP10input/outputUART1 CTSI2C1 SDASPI1 SCKPWM5 A
15GP11input/outputUART1 RTSI2C1 SCLSPI1 TXPWM5 B
16GP12input/outputUART0 TXI2C0 SDASPI1 RXPWM6 A
17GP13input/outputUART0 RXI2C0 SCLSPI1 CSnPWM6 B
18GND–
19GP14input/outputUART0 CTSI2C1 SDASPI1 SCKPWM7 A
20GP15input/outputUART0 RTSI2C1 SCLSPI1 TXPWM7 B
21GP16input/outputUART0 TXI2C0 SDASPI0 RXPWM0 A
22GP17input/outputUART0 RXI2C0 SCLSPI0 CSnPWM0 B
23GND–
24GP18input/outputUART0 CTSI2C1 SDASPI0 SCKPWM1 A
25GP19input/outputUART0 RTSI2C1 SCLSPI0 TXPWM1 B
26GP20input/outputUART1 TXI2C0 SDASPI0 RXPWM2 A
27GP21input/outputUART1 RXI2C0 SCLSPI0 CSnPWM2 B
28GND–
29GP22input/outputUART1 CTSI2C1 SDASPI0 SCKPWM3 A
30RUNinputReset – connecting to GND restarts the chip
31GP26input/outputUART1 CTSI2C1 SDASPI1 SCKPWM5 AADC0
32GP27input/outputUART1 RTSI2C1 SCLSPI1 TXPWM5 BADC1
33AGND–Analog ground for the ADC (GP26–28)
34GP28input/outputUART0 TXI2C0 SDASPI1 RXPWM6 AADC2
35ADC_VREFinput/outputADC reference (can also be external)
363V3(OUT)output3.3 V output, max. load ~300 mA
373V3_ENinputConnect to GND to turn off the 3.3 V supply
38GND–
39VSYSinputPower input 1.8–5.5 V
40VBUSoutput5 V from USB (only when USB is connected)
SWDSWCLKinputDebugging (SWD) – clock
SWDGND–
SWDSWDIOinput/outputDebugging (SWD) – data

Pins used on the board

These chip pins are used by parts on the board and are not broken out:

PinFunction on the board
GP23Wi-Fi chip – WL_ON (power on)
GP24Wi-Fi chip – WL_D (data / interrupt)
GP25Wi-Fi chip – WL_CS
GP29Wi-Fi chip – WL_CLK; also ADC3 (VSYS/3)

What to watch out for

  • GPIO are not 5V tolerant. Use a level shifter for 5V signals.
  • The onboard LED is not on GP25 as on the Pico, but on a GPIO of the wireless chip – Pin("LED") in MicroPython, CYW43_WL_GPIO_LED_PIN in the Pico SDK.
  • GP23, GP24, GP25 and GP29 serve the wireless chip and are not broken out to the header.
  • ADC3 (GP29) also serves as the SPI clock of the wireless chip – measuring the VSYS voltage is therefore more complicated than on the Pico.
  • ADC is only on GP26–28 (ADC0–2), range 0–3.3 V.
  • The antenna is at the end of the board opposite the USB – metal or copper beneath it reduces Wi-Fi range.

Raspberry Pi Pico W projects on chiptron.eu/

Projects and guides on chiptron.eu/:

  • 100 IoT projects – MicroPython projects with code and schematics for Pico W, ESP32 and ESP8266
  • Picogame – a 2D game engine for CircuitPython on RP2040, RP2350 and the PicoPad

More pinouts

See all pinouts on the Pinouts page.

Related Articles