Topics
Raspberry Pico

Raspberry Pico

The Raspberry Pi Foundation manufactures a range of a very popular single-board computer called Raspberry Pi. This is a very compact, inexpensive, but reasonably powerful computer that is used in IoT projects. They have now started making a range of microcontroller boards called the Raspberry Pico. The Pico can be used as an alternative to Arduino Nano but requires to be programmed using microPython using an IDE called Thonny. Also, unlike Arduino boards which are available in multiple form factors (shapes and sizes), Raspberry Picos are only available in one form factor but they do support WiFi.

We will be using a Raspberry Pico in some of our projects. The physical board and its pinout diagram are shown below, followed by an explanation of all pins.

Raspberry Pico
Raspberry Pico Pinout

The pins on the Raspberry Pico are explained below. Note that several pins offer multiple functions including acting as a GPIO and a communication pin for UART, SPI, and I2C. One set of pins is the default for a communication protocol while the others can be configured for use in the program. All Raspberry Pi Pico GPIOs can output PWM signals.

Board PinFunctionTypeRecommended Usage
1UART-TXGPIOKeep free for code upload and serial communication with the computer.
2UART-RXGPIOKeep free for code upload and serial communication with the computer.
3GroundCircuit ground.
4GPIO
5GPIO
6I2C-SDAGPIODefault for I2C communication.
7I2C-SCLGPIODefault for I2C communication.
8GroundCircuit ground.
9GPIO
10GPIO
11GPIO
12GPIO
13GroundCircuit ground.
14GPIO
15GPIO
16GPIO
17GPIO
18GroundCircuit ground.
19GPIO
20GPIO
21SPI-RX (CIPO)GPIODefault for SPI communication.
22SPI-CSGPIODefault for SPI communication.
23GroundCircuit ground.
24SPI-SCKGPIODefault for SPI communication.
25SPI-TX (COPI)GPIODefault for SPI communication.
26GPIOUse for any analog input.
27GPIO
28GroundCircuit ground.
29GPIO
30RUNReset (LOW will reset the board)Use if a Programmable alternative to the physical reset button is required.
31ADCUse for any analog input.
32ADCUse for any analog input.
33GroundCircuit ground.
34ADCUse for any analog input.
35ADC_VREF
363V3 (OUT)3.3V power to circuit components.
373V3 (EN)
38GroundCircuit ground.
39VSYSAdvanced usage.
40VBUSAdvanced usage.

Recommended Pin Usage

Arduino Nano Pinout