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.
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 Pin | Function | Type | Recommended Usage |
---|---|---|---|
1 | UART-TX | GPIO | Keep free for code upload and serial communication with the computer. |
2 | UART-RX | GPIO | Keep free for code upload and serial communication with the computer. |
3 | Ground | Circuit ground. | |
4 | GPIO | ||
5 | GPIO | ||
6 | I2C-SDA | GPIO | Default for I2C communication. |
7 | I2C-SCL | GPIO | Default for I2C communication. |
8 | Ground | Circuit ground. | |
9 | GPIO | ||
10 | GPIO | ||
11 | GPIO | ||
12 | GPIO | ||
13 | Ground | Circuit ground. | |
14 | GPIO | ||
15 | GPIO | ||
16 | GPIO | ||
17 | GPIO | ||
18 | Ground | Circuit ground. | |
19 | GPIO | ||
20 | GPIO | ||
21 | SPI-RX (CIPO) | GPIO | Default for SPI communication. |
22 | SPI-CS | GPIO | Default for SPI communication. |
23 | Ground | Circuit ground. | |
24 | SPI-SCK | GPIO | Default for SPI communication. |
25 | SPI-TX (COPI) | GPIO | Default for SPI communication. |
26 | GPIO | Use for any analog input. | |
27 | GPIO | ||
28 | Ground | Circuit ground. | |
29 | GPIO | ||
30 | RUN | Reset (LOW will reset the board) | Use if a Programmable alternative to the physical reset button is required. |
31 | ADC | Use for any analog input. | |
32 | ADC | Use for any analog input. | |
33 | Ground | Circuit ground. | |
34 | ADC | Use for any analog input. | |
35 | ADC_VREF | ||
36 | 3V3 (OUT) | 3.3V power to circuit components. | |
37 | 3V3 (EN) | ||
38 | Ground | Circuit ground. | |
39 | VSYS | Advanced usage. | |
40 | VBUS | Advanced usage. |