Raspberry Pi Pico Hardware Overview

Created:  
Updated:   18Aug2024   08:09:36   UTC 2024-08-18T08:09:36Z
Rating:   (0 reviewsThis article has not been rated yet)

The Raspberry Pi Pico is the first microcontroller board from the Raspberry Pi Foundation, with their own RP2040 MCUMicrocontroller Unit featuring two ARMAdvanced Reduced Instruction Set Computer (RISC) Machines Cortex M0+ CPUCentral Processing Unit cores that can run up to 133MHz (before overclocking). It's low price, small form factor (2.1cm x 5.1cm), and the large amount of documentation, guides, and tutorials, makes this a good board to start with when learning about microcontrollers and programming in MicroPython or C/C++.

This hardware overview of the RPi Pico board covers specs, board layout, pinout, power, and I/O.


There are four different versions of the Pico currently available.

Pico:
Standard board with no headers
Pico H:
Has headers soldered on the board and a 3-pin 1.0mm pitch JST SH side entry connector (SM03B-SRSS-TB) for Serial Wire Debug (SWDSerial Wire Debug) soldered on the end of the board
Pico W:
Includes a WiFi chip and internal antenna and no headers on the board
Pico WH:
Same as the Pico W, but with headers soldered on the board and a 3-pin 1.0mm pitch JST SH top entry connector (BM03B-SRSS-TB) for Serial Wire Debug (SWDSerial Wire Debug) soldered on the end of the board
RPi Pico Board Versions

These are the official board versions offered by Raspberry Pi, but retailers can offer their own modified version of the Pico and Pico W by soldering their own headers and also include different SWDSerial Wire Debug connector pins that may not be soldered on the board.

RPi Pico Specs

RPi Pico Specs
Parameter Description
Board Model Raspberry Pi Pico
Main Processor 32-bit 133MHz Dual-Core ARMAdvanced Reduced Instruction Set Computer (RISC) Machines Cortex-M0+

RP2040 Datasheet (PDF)
Memory
  • 264KB on-chip SRAMStatic Random Access Memory
  • 2MB on-board QSPIQuad Serial Peripheral Interface (QSPI) is a serial communication interface designed for talking to flash chips by using 4 data lines. Flash
Interface
  • 1x USBUniversal Serial Bus 1.1 Host or Device Full/Low speed with USBUniversal Serial Bus Micro-B port
  • 26x Digital I/O with 16x PWMPulse-Width Modulation
  • 8x Programmable I/O (PIOProgrammable Input/Output (PIO) can be programmed to process data transmission, such as a non-standard serial interface, without using resources from the CPU.) state machines for custom peripheral support
  • 3x analog inputs with 12-bit 500kspsKilo Samples Per Second (1000 samples/s) ADCAnalog-to-Digital Converter (ADC, A/D, or A-to-D)
  • 2x UARTUniversal Asynchronous Receiver-Transmitter, 2x I2CInter-Integrated Circuit. Also referred to as IIC or I2C., 2x SPISerial Peripheral Interface
Note: I/O Pins are 3.3V with a maximum total current of 50mA (sum of all current being sourced/sunk by GPIOGeneral Purpose Input Output and QSPIQuad Serial Peripheral Interface (QSPI) is a serial communication interface designed for talking to flash chips by using 4 data lines. pins)
Timers
  • 4x timers
  • Watchdog Timer (WDTWatchdog Timer)
  • 2 on-chip PLLPhase-Locked Loops to generate USBUniversal Serial Bus and core clocks
Power There are 3 ways to power the board
  • Micro-USB B port: 5V±10% DC
  • VBUS Pin: 5V±10% DC
  • VSYS Pin: 1.8V to 5.5V DC
Board has on-chip programmable LDOLow Dropout Regulator regulator to generate core voltage.

Low-power sleep and dormant modes
Operating Temperature
  • -20°C to 85°C (Pico and Pico H)
  • -20°C to +70°C (Pico W and Pico WH)
Board Size (LxW) 51mm x 21mm (2.01in x 0.83in)

RPi Pico Board Layout

Components

The components on the RPi Pico are all on the top of the board with the main components labeled in the figure below. The bottom of the board is not shown because it only consists of solder joints, PCB traces, and Test Points (TP).

RPi Pico Board Components
USBUniversal Serial Bus Port:
The USB port is a USB 1.1 Host or Device Full/Low speed with a Micro-B (OTGUSB On-The-Go (OTG) is a specification built into the USB port that allows devices to act as a host to control and power external devices or act as a peripheral.) connector that can supply a regulated 5V to power the board and establish serial communication with a computer to program the microcontroller, send commands, and read data from it. Even though the RP2040 is capable of being both device or host, the port's ID pin is not connected (it is "floating"), meaning that it always identifies as a device to OTGUSB On-The-Go (OTG) is a specification built into the USB port that allows devices to act as a host to control and power external devices or act as a peripheral.-compliant cables and devices.
3.3V Buck-Boost SMPS Converter:
The on-board RT6150B-33GQW Buck-Boost SMPSSwitch-Mode Power Supply (RT6150x Datasheet PDF) regulator outputs a stable 3.3V to the RP2040 MCUMicrocontroller Unit and its I/OInput/Output, and can be used to power external circuitry.

The buck-boost converter is a type of Switch-Mode Power Supply that can seamlessly switch from buck to boost mode and can maintain an output voltage of 3.3V from a wide range of input voltages (1.8V to 5.5V), allowing flexibility in the choice of power supply such as a single Lithium-Ion cell or 3 AA cells in series. The three inputs the Pico board is powered by (USB, VBUS pin, and VSYS pin) all run through RT6150B.

Another feature of the RT6150B is the Power Save (PS) mode controlled by GPIO23. When the PS mode is low (default on the Pico) the regulator is in Pulse Frequency Modulation mode which saves considerable power. Setting the PS mode high or when under a heavy load puts the regulator into Pulse Width Modulation (PWMPulse-Width Modulation) mode that forces the SMPSSwitch-Mode Power Supply to switch continuously, which reduces the output ripple at the expense of lower efficiency.
RP2040 MCU:
The RP2040 MCUMicrocontroller Unit is the brain of the Pico consisting of a 32-bit 133MHz Dual-Core Arm Cortex-M0+. This MCUMicrocontroller Unit has an on-chip PLLPhase-Locked Loop that allows a variable core frequency. Th RP2040 has 264KB of multi-bank SRAMStatic Random Access Memory, GPIO with digital I/OInput/Output and PWMPulse-Width Modulation, a 12-bit 500kspsKilo Samples Per Second (1000 samples/s) ADCAnalog-to-Digital Converter (ADC, A/D, or A-to-D), Programmable IO (PIOProgrammable Input/Output (PIO) can be programmed to process data transmission, such as a non-standard serial interface, without using resources from the CPU.), timer based interrupts, and communication channels for UARTUniversal Asynchronous Receiver-Transmitter/I2CInter-Integrated Circuit. Also referred to as IIC or I2C./SPISerial Peripheral Interface.
12MHz Crystal Oscillator:
The RP2040 has its own internal oscillator, but since the frequency of this internal oscillator is not well defined or controlled, varying from chip to chip as well as different supply voltages and temperatures, a stable external 12MHz crystal oscillator with a 30ppmParts Per Million tolerance is used.
2MB QSPIQuad Serial Peripheral Interface (QSPI) is a serial communication interface designed for talking to flash chips by using 4 data lines. Flash:
The Pico has 2MB of on-board flash memory with the Winbond W25Q16JV chip (W25Q16JV Datasheet PDF ). This memory chip is accessed via the QSPIQuad Serial Peripheral Interface (QSPI) is a serial communication interface designed for talking to flash chips by using 4 data lines. interface using the execute-in-place (XIPExecute In Place (XIP) is a method of executing programs directly from long-term storage rather than copying it into RAM) hardware. This allows an external flash memory to be addressed and accessed by the system as though it were internal memory. The on-board flash can be (re)programmed with either the SWDSerial Wire Debug port or by the special USBUniversal Serial Bus Mass Storage Device mode.
On-Board LEDLight Emitting Diode:
The Pico has a on-board programmable LEDLight Emitting Diode connected to GPIO25 that you can turn on and off with your code.
SWDSerial Wire Debug Pins:
The Standard Serial Wire Debug (SWDSerial Wire Debug) port at the end of the Pico board (three gold pads with the word 'DEBUG' above them) is a 2-wire interface consisting of a clock (SWCLK), data line (SWDIO), and ground (GND) pins. The SWDSerial Wire Debug allows you to do the following:
  • Reset the system, upload a program into external Flash or internal SRAMStatic Random Access Memory, and run code without any BOOTSEL button presses
  • Interactively debug code running on the RP2040 (run, halt, step, set breakpoints, etc.)
  • Access the processors memory and I/OInput/Output peripherals through the system bus
BOOTSEL Button:
The Pico has a white button labeled BOOTSEL on the board that stands for 'boot selection'. This switches your Pico between two start-up modes: a mass storage device mode to load firmware and boot mode. When you hold down the 'BOOTSEL' button while connecting the micro USBUniversal Serial Bus to a computer it will show up as a mass storage device, like a USBUniversal Serial Bus flash drive or external hard drive, where you can load your bootloader firmware (UF2UF2 is a firmware file format developed by Microsoft that allows for flashing microcontrollers over USB. It appears as a Mass Storage Device (USB Drive) when attached to your computer, so you can copy firmware to a USB drive instead of having to burn it using other tools. file) onto the board. After the bootloader is installed you can use the Python Shell REPLRead-Eval-Print Loop (REPL) is a simple interactive computer programming environment that takes single user inputs, executes them, and returns the result to the user. or add your program code onto the board.

Pinout

The RPi Pico board has total of 40 pins that are used for Power, Digital I/OInput/Output (including PWMPulse-Width Modulation and serial communication), and Analog Inputs. There are also 3 pins at the bottom of the board for SWDSerial Wire Debug. Many of the I/O pins are multi-functional that are configured in software to be digital, analog, or communication pins.

The RPi Pico board pinout is shown in the figure below. The pins labeled 1 through 40 are physical pin numbers that refers to the physical location the pins appear on the board. There are different breakout boards for the RP2040 MCU, which may have different physical pin numbers. The pin names used in the Pico code (MicroPython and C++) are the numbers next to GP (e.g., physical pin 17, GP13, is designated as the integer 13 in code). This is so you can move your code between different breakout boards for the RP2040 MCU without having to change the code.

RPi Pico Pinout

RPi Pico Power

The power supply circuitry of the Pico is shown in the figure below. Both the USB plug and VBUS pin are connected directly to each other and then through a MBR120VLSFT1G Schottky diode that can carry up to 1A to the RT6150B Buck-Boost Converter. The one-way nature of the diode protects against incorrect polarity on VBUS and prevents VBUS and VSYS from back-powering the other if power is supplied to both (accidentally or deliberately).

RPi Pico Powerchain (source RPi Pico Datasheet)

Input Power

There are 3 ways to power the Pico board:

  • USBUniversal Serial Bus Micro-B port with 5V±10% DC
  • VBUS Pin with 5V±10% DC
  • VSYS Pin in the range of 1.8V to 5.5V DC

The figure below shows where each of these inputs are located on the RPiRaspberry Pi Pico board.

RPi Pico Input Power

USB Input Power:

The micro-USB port can power the Pico board from a computer, wall adapter, battery, or other source that delivers 5V±10% DC. Since VBUS is directly connected to the USB port, it can provide the same voltage to external circuits. Likewise, VSYS can also be used to provide voltage to external circuits, but will be slightly lower with a 0.7V voltage drop across the Schottky diode (i.e., VSYS becomes VBUS minus the Schottky diode 0.7V voltage drop). If the micro-USB port is the only power source, VSYS and VBUS can be safely shorted together to eliminate the Schottky diode drop (which improves efficiency and reduces ripple on VSYS).

VBUS Input Power:

The Pico board could be powered by providing 5V±10% DC to the VBUS pin (Pin 40). This would internally power VSYS via the onboard Schottky diode with a drop of 0.7V, but you must not connect another power supply to the USB connector to avoid back-powering either source, especially when connecting to a computer for programming.

Following VBUS in the schematic shows two resistors, R10 (5.6kΩ) and R1 (10kΩ), as a voltage divider that brings the voltage down from 5V to 3.2V for GPIO24. This allows GPIO24 to monitor if VBUS is on/off, while R10 and R1 act to pull VBUS down to make sure it is 0V if VBUS is not present.

VSYS Input Power:
The VSYS pin is a better option than VBUS for powering the Pico by pins due to its wider input voltage range of 1.8V to 5.5V DC and makes use of the Schottky diode to prevent the USB/VBUS and VSYS from back-powering the other. VSYS is RC filtered and divided by 3 (by R5, R6 and C3 in the Pico schematic) and can be monitored on ADCAnalog-to-Digital Converter (ADC, A/D, or A-to-D) channel 3. This can be used for example as a crude battery voltage monitor.

Output Power

There are 3 pins on the Pico board that can provide 5V and 3.3V output power to external devices provided that the Pico is powered through the USB port.

  • VBUS Pin
  • VSYS Pin
  • 3V3 Pin

The figure below shows where each of these outputs are located on the RPi Pico board.

RPi Pico Output Power
VBUS Pin Output Power:

The VBUS pin is directly connected to the power line of the USB port, so the voltage and current output depends on the USB power source and the voltage drop across the USB cable. According to the USB 2.0 specs, the voltage ranges are different for low and high power buses:

  • Low Power Bus:
    The minimum voltage at the host port, hub port, and device are specified to be at least 4.75V, 4.4V, and 4.35V respectively and up to a maximum voltage of 5.25V with a max current rating of 100mA.
  • High Power Bus:
    The voltage range is 4.75V to 5.25V with a max current of 500mA.

This is assuming that the manufacturer's design of USB power source is fully compliant with the USB specs (there are many products on the market that deviate from the specs).

VSYS Pin Output Power:

The VSYS pin is connected to the power line of the USB port with an inline Schottky diode that has a voltage drop of 0.7V. The output voltage of VSYS is the USB voltage (VBUS) minus 0.7V across Schottky diode. The current rating of VSYS is the same as the USB current rating.

3V3 Pin Output Power:

The 3V3 pin outputs +3.3V from the Pico's internal SMPSSwitch-Mode Power Supply regulator. The maximum output current will depend on RP2040 load and VSYS voltage and it is recommended to keep the load on this pin less than 300mA.

Power Control Pins

There are 2 external input pins and one internal pin (configured by software) that allow you to control the Pico's power.

  • 3V3_EN External Pin
  • RUN External Pin
  • GP23 Internal Pin

The figure below shows where both the external pins are located on the RPi Pico board.

RPi Pico Power Control Pins
3V3_EN Pin:
The 3V3_EN pin allows you to disable the Pico's SMPSSwitch-Mode Power Supply regulator, which will shut off the Pico and any components powered by it. The 3V3_EN pin connects to the SMPS regulator enable pin and is set HIGH (to VSYS) connected through a 100kΩ resistor. If this pin is set to LOW (or GND) it will disable the regulator.
RUN Pin:
The RUN pin allows you to reset the RP2040, so you can add a reset button with an external switch across the RUN and GND pins. The RUN pin is connected to the RP2040 enable pin, which has an internal (on-chip) pull-up resistor to 3.3V of about 50kΩ. If the RUN pin is set to LOW (or GND) it will reset the RP2040.
GP23 Power Save Internal Pin:
The GP23 internal pin controls the RT6150 PS (Power Save) pin. When PS is LOW (the default on Pico) the regulator is in Pulse Frequency Modulation mode, which, at light loads, saves considerable power by only turning on the switching MOSFETs occasionally to keep the output capacitor topped up. Setting PS HIGH forces the regulator into Pulse Width Modulation (PWM) mode. PWM mode forces the SMPS to switch continuously, which reduces the output ripple considerably at light loads (which can be good for some use cases) but at the expense of much worse efficiency. Note that under heavy load the switcher will be in PWM mode irrespective of the PS pin state.

Power Sensing Pins

There are two internal GPIO pins on the Pico for power sensing.

GP24 USB/VBUS Monitor:
GP24 is at the center of a voltage divider (R1 and R10) off the VBUS from USB and can be used to detect if the USB is supplying power.
GP29 VSYS Voltage Monitor:
GP29 is connected to VSYS and can be used to measure the VSYS voltage level using the ADC. If a battery is connected to VSYS to power the Pico board, then GP29 can be used as a crude voltage monitor.

Digital I/O

There are 30 pins total that can function as 0V or 3.3V digital I/O pins with the capability of being programmed as either input or output. The digital pins are capable of sourcing or sinking up 50mA from all pins in total (IIOVDD_MAX). They also have an additional feature of setting an internal pull-up resistor (50kΩ to 80kΩ) or internal pull-down resistor (50kΩ to 80kΩ) in software.

RPi Pico Digital I/O Pins
GPIO Pins:
The digital I/O pins on the RPi Pico are GP0 - GP22 and GP26 - GP28. The gap of missing pins between GP22 and GP26 are used internally. All GPIO pins can be configured as external interrupts on HIGH, LOW, rising edge, or falling edge.
PWM Pins:
All of the GPIO pins are capable of Pulse-Width Modulation (PWM) where you can use up to 16 of them at the same time. PWM is used to generate pulses with a specified duty cycle to control the brightness of LEDs, control motors, and can provide limited analog-like output.

Analog Inputs

The RPi Pico RP2040 has a 12-bit 500kSPSKilo Samples Per Second (1000 samples/s) ADCAnalog-to-Digital Converter (ADC, A/D, or A-to-D) that can read between 0V and 3.3V analog signals with three channels that can be used as inputs and a fourth channel that is used internally for the onboard temperature sensor. This converter scales an analog signal in a range of 0 to 4095, with a resolution between readings of 3.3 volts per 4095 units (0.8mV per unit).

RPi Pico Analog Input Pins
Analog Input Pins:
There are 3 analog input pins on the Pico: ADC0, ADC1, and ADC2.
ADC_VREF and AGND:
The ADC_VREF is the ADC 3.3V power supply voltage filtered using an RC filter (201Ω into 2.2μF). For improved ADC performance you can provide an external precision voltage reference, such as an LM4040, that is connected to the ADC_VREF pin to ground AGND pin, but this will reduce the analog input voltage range from 0V to 3.0V.

More details on measuring analog voltages with the Pico can be found in the article Measuring DC Voltage with a Raspberry Pi Pico (MicroPython) provided below.

Measuring DC Voltage with a Raspberry Pi Pico (MicroPython)

Created:   25May2024   04:39:22   UTC 2024-05-25T04:39:22Z
Updated:   05Aug2024   03:12:23   UTC 2024-08-05T03:12:23Z
Rating:  (0 reviewsThis article has not been rated yet)

How to measure 0V to 3.3V DC voltage with the RPi Pico microcontroller board in MicroPython, including how to improve the precision and accuracy of measurements by calibrating the Pico ADC or by using an external precision voltage reference.

Communication

The RPi Pico board has standard communication I/O for UART, I2C, and SPI. The Pico has pins for 2x UART, 2x I2C, and 2x SPI with the pin locations shown in the figure below. If more UART/I2C/SPI channels or other communication interfaces (SDIO, CAN, etc.) are needed, they can be created using PIO with up to 8x state machines (small processors capable of executing assembly instructions stored in shared PIO memory) where any state machine has independent, simultaneous access to any GPIO.

RPi Pico Communication Pins

UART

UART transmits and receives data over two data lines (RX, TX). The RPi Pico has two UART interfaces, UART0 and UART1, where each interface has a pair of (RX, TX) data lines that allow a maximum speed of 961.6 kBaud.

More details on how UART works can be found in the UART Communication article below.

UART Communication

Created:   02Sep2023   19:38:43   UTC 2023-09-02T19:38:43Z
Updated:   11Aug2024   22:51:42   UTC 2024-08-11T22:51:42Z
Rating:  (0 reviewsThis article has not been rated yet)

How UART communication works:

  • Hardware Wiring
  • Data Packet and Bit Ordering
  • Transmission Signal and Speed
  • Software UART

I2C

I2C operates on a synchronous bus for half-duplex communication over a short distance with two lines (SDASerial Data LineSCLSerial Clock (SCL) is the output clock signal line from the master device. Also referred to as SCK, SCLK, or CLK.). The RPi Pico has has two I2C interfaces, I2C0 and I2C1, that supports Standard Mode (100kHz), Fast Mode (400kHz), and Fast Mode Plus (1MHz) with 7-bit and 10-bit addressing as master or slave. The multi-master/multi-slave configurations of I2C gives the RPi Pico the capability of controlling a network of devices (e.g., sensors, LCDLiquid Crystal Display, memory modules, etc.) with just two data pins and software.

More details on how I2C works can be found in I2C Communication article below.

I2C Communication

Created:   04Sep2023   03:56:24   UTC 2023-09-04T03:56:24Z
Updated:   12Aug2024   02:01:10   UTC 2024-08-12T02:01:10Z
Rating:  (0 reviewsThis article has not been rated yet)

How I2C communication works:

  • Hardware Wiring
  • Data Packet and Bit Ordering
  • Transmission Signal and Speed
  • Software I2C

SPI

SPI provides full-duplex synchronous serial communication at high speeds over short distances using 4 lines (MOSIMaster Out Slave In (MOSI) is the SPI data output line from the master device, MISOMaster In Slave Out (MISO) is the SPI data output line from the slave device, SSSlave Select (SS) is the SPI output line from the master device to indicate that data is being sent. Also referred to as Chip Select (CS)., and SCKSerial Clock line). The RPi Pico has has two SPI interfaces, SPI0 and SPI1, that supports a maximum clock speed of 62.5Mbps. It can be used for interfacing the RPi Pico with peripheral devices such as sensors, RTCReal-Time Clocks, LCDLiquid Crystal Displays, external memory modules, and wireless transceiver modules.

More details on how SPI works can be found in SPI Communication article below.

SPI Communication

Created:   01Nov2023   07:16:11   UTC 2023-11-01T07:16:11Z
Updated:   12Aug2024   02:22:42   UTC 2024-08-12T02:22:42Z
Rating:  (0 reviewsThis article has not been rated yet)

How SPI communication works:

  • Hardware Wiring
  • Data Transmission and Bit Ordering
  • Data Rate Speed and Quad SPI
  • Software SPI

Conclusion

The Raspberry Pi Pico board specs, layout, power, and I/O were shown to help you become more familiar with the board and its capabilities. It's small form factor (2.1cm x 5.1cm), ability to program in either MicroPython or C/C++, documentation, and low price tag makes this board a good choice.

Related Content

Products

Options for purchasing RPi Pico boards are given below.


RP2040 <span class="tooltip">RPi<span class="tooltiptext">Raspberry Pi</span></span> Pico Board Products

Created:   27Jul2023   23:50:32   UTC 2023-07-27T23:50:32Z
Updated:   04Sep2024   00:31:23   UTC 2024-09-04T00:31:23Z

Processor:
32-bit 133MHz Dual-Core ARMAdvanced Reduced Instruction Set Computer (RISC) Machines Cortex-M0+
Memory:
2MB QSPIQuad Serial Peripheral Interface (QSPI) is a serial communication interface designed for talking to flash chips by using 4 data lines. Flash and 264KB SRAMStatic Random Access Memory
Interface:
1x Micro-B USB, Up to 30x Digital I/OInput/Output with PWMPulse-Width Modulation, 4x Analog Inputs 12-bit ADCAnalog-to-Digital Converter (ADC, A/D, or A-to-D), 2x UARTUniversal Asynchronous Receiver-Transmitter, 2x I2CInter-Integrated Circuit. Also referred to as IIC or I2C., 2x SPISerial Peripheral Interface, and PIOProgrammable Input/Output (PIO) can be programmed to process data transmission, such as a non-standard serial interface, without using resources from the CPU.
Boards:
RPiRaspberry Pi Pico, Pico H, Pico W, and Pico WH

Options for purchasing microcontroller boards based on the RP2040 MCUMicrocontroller Unit are given below.


RP2040 Microcontroller Products

Created:   11Dec2022   23:50:41   UTC 2022-12-11T23:50:41Z
Updated:   04Sep2024   22:33:49   UTC 2024-09-04T22:33:49Z

Processor:
32-bit 133MHz Dual-Core ARMAdvanced Reduced Instruction Set Computer (RISC) Machines Cortex-M0+
Memory:
2MB QSPIQuad Serial Peripheral Interface (QSPI) is a serial communication interface designed for talking to flash chips by using 4 data lines. Flash and 264KB SRAMStatic Random Access Memory
Interface:
Up to 30x Digital I/OInput/Output with PWMPulse-Width Modulation, 4 channel 12-bit 500kbs ADCAnalog-to-Digital Converter (ADC, A/D, or A-to-D), USB 1.1 Host and Device Full/Low speed, and UARTUniversal Asynchronous Receiver-Transmitter/I2CInter-Integrated Circuit. Also referred to as IIC or I2C./SPISerial Peripheral Interface/PIOProgrammable Input/Output (PIO) can be programmed to process data transmission, such as a non-standard serial interface, without using resources from the CPU.
Boards:
  • RPiRaspberry Pi Pico, Pico H, Pico W, Pico WH
  • Adafruit QT Py, ItsyBitsy, Feather
  • SparkFun Pro Micro, Thing Plus
  • Pimoroni Tiny 2040, Pico LiPo
  • Seeed Studio XIAO
  • Waveshare RP2040-Zero, RP2040-Plus

Article Rating

Sign in to rate this article

Sign In


(0) Comments

Sign in to leave a comment

Sign In