Raspberry Pi Pico H: A Deep Dive for Makers and Engineers
The Raspberry Pi Pico H is a low-cost, high-performance microcontroller board featuring the RP2040 chip, designed for embedded projects with added pre-soldered headers.

The Raspberry Pi Pico H is an evolution of the original Raspberry Pi Pico, designed to make getting started even easier. It retains the powerful RP2040 microcontroller at its core, a dual-core ARM Cortex-M0+ processor developed by Raspberry Pi. This board is not a single-board computer like its Raspberry Pi siblings; instead, it's a microcontroller development board, ideal for real-time control, sensor interfacing, and embedded applications.
At the heart of the Pico H is the RP2040, a custom silicon designed by Raspberry Pi. This chip boasts impressive performance for its class, featuring two ARM Cortex-M0+ cores that can run independently or in parallel, clocked at up to 133MHz. It also includes a generous amount of on-chip SRAM and dedicated PIO (Programmable I/O) state machines, which are a unique feature allowing for custom hardware interfaces to be implemented in software.
The 'H' in Pico H signifies the inclusion of pre-soldered 0.1" pitch headers, making it much simpler to connect components and breadboards without requiring soldering. This feature significantly lowers the barrier to entry for beginners and speeds up prototyping for experienced engineers. The Pico H is positioned as an accessible yet powerful platform for a wide range of applications, from simple blinking LEDs to more complex robotics and IoT projects, offering a compelling alternative to other microcontrollers in the market.
This board is particularly well-suited for makers, students, and embedded engineers who need a flexible, low-cost microcontroller with good performance and ample GPIO. Its dual-core nature, unique PIO capabilities, and extensive documentation make it a strong contender for learning embedded programming, prototyping new ideas, or building dedicated embedded systems. The addition of headers makes it an excellent choice for those who prefer not to solder or want to get projects up and running quickly.
Watch
Related video, embedded from YouTube.
Specifications
| Microcontroller / SoC | Raspberry Pi RP2040 |
| Architecture | Dual-core ARM Cortex-M0+ |
| Clock speed | Up to 133MHz |
| Flash / Storage | 2MB QSPI Flash (on-board) |
| RAM / SRAM | 264KB on-chip SRAM |
| Operating voltage | 3.3V |
| Digital I/O pins | 26 multi-function GPIO pins |
| Analog / ADC | 3x 12-bit ADC inputs (shared with GPIO) |
| PWM | 16 channels available across all GPIO pins |
| Connectivity | 2x SPI, 2x I2C, 2x UART |
| USB | 1x USB 1.1 (device and host support) |
| Power input | 1.8V - 5.5V via VSYS pin, or 5V via micro USB |
| Dimensions | 51mm x 21mm (board), 2.54mm (0.1") header pitch |
Pinout & pin functions
| Pin | Function |
|---|---|
| 3V3 | Power output (3.3V regulated) |
| GND | Ground |
| GP0 | GPIO, ADC0, UART0 TX, SPI0 TX |
| GP1 | GPIO, ADC1, UART0 RX, SPI0 RX |
| GP2 | GPIO, ADC2, UART1 TX, SPI0 SCK |
| GP3 | GPIO, ADC3, UART1 RX, SPI0 CSn |
| GP4 | GPIO, PWM |
| GP5 | GPIO, PWM |
| GP6 | GPIO, PWM |
| GP7 | GPIO, PWM |
| GP8 | GPIO, PWM |
| GP9 | GPIO, PWM |
| GP10 | GPIO, PWM |
| GP11 | GPIO, PWM |
| GP12 | GPIO, PWM |
| GP13 | GPIO, PWM |
| GP14 | GPIO, PWM |
| GP15 | GPIO, PWM |
| GP16 | GPIO, PWM |
| GP17 | GPIO, PWM |
| GP18 | GPIO, PWM |
| GP19 | GPIO, PWM, I2C1 SDA |
| GP20 | GPIO, PWM, I2C1 SCL |
| GP21 | GPIO, PWM, I2C0 SDA |
| GP22 | GPIO, PWM, I2C0 SCL |
| GP23 | GPIO, PWM |
| GP24 | GPIO, PWM, SPI1 TX |
| GP25 | GPIO, PWM, SPI1 RX |
| GP26 | GPIO, ADC0, PWM, SPI1 SCK |
| GP27 | GPIO, ADC1, PWM, SPI1 CSn |
| GP28 | GPIO, ADC2, PWM |
| RUN | System reset (active low) |
| ADC_VREF | ADC reference voltage input |
| 3V3_EN | 3.3V regulator enable output |
| 3V3_OUT | 3.3V power output |
| VBUS | USB VBUS input (5V when connected) |
| VSYS | System power supply input (1.8V - 5.5V) |
Wiring & circuit basics
The Raspberry Pi Pico H operates at a logic level of 3.3V. This means that any sensors or components you connect that communicate digitally should also be 3.3V compatible. Connecting 5V logic devices directly to Pico H GPIO pins can damage the microcontroller. If you need to interface with 5V devices, use a logic level shifter. Powering the Pico H can be done via the micro USB port (providing 5V) or through the VSYS pin, which accepts a voltage range of 1.8V to 5.5V. The onboard 3.3V regulator can supply up to 500mA, which is usually sufficient for most projects, but be mindful of the total current draw if powering multiple external components.
For a simple LED circuit, connect a current-limiting resistor (typically 220-330 ohms for a standard LED with 3.3V) to a GPIO pin (e.g., GP15). Connect the other end of the resistor to the anode (longer leg) of the LED. Connect the cathode (shorter leg) of the LED to a GND pin on the Pico H. When the GPIO pin is set to HIGH (3.3V), current will flow through the resistor and LED, illuminating it. The resistor protects both the LED and the Pico H's GPIO pin from excessive current.
To connect an I2C sensor, such as a common BME280 environmental sensor, you'll need to use the I2C pins. For example, connect the sensor's SDA pin to GP21 (I2C0 SDA) and its SCL pin to GP22 (I2C0 SCL). Ensure the sensor is also powered correctly, usually from the Pico H's 3V3_OUT pin, and connect its GND to a Pico H GND pin. Many I2C sensors also require pull-up resistors on the SDA and SCL lines; check the sensor's datasheet. The Pico H has internal pull-ups that can be enabled in software, but external resistors might be necessary for reliable communication.
Programming & getting started
The Raspberry Pi Pico H is well-supported by multiple development environments. For beginners, MicroPython and CircuitPython offer an accessible Python-based programming experience, allowing you to upload code directly without a complex build process. You can download the UF2 bootloader file from the Raspberry Pi website, hold down the BOOTSEL button while plugging in the Pico H, and drag and drop the UF2 file onto the RPI-RP2 drive that appears. This puts the Pico H into bootloader mode, ready for firmware.
For those familiar with C/C++, the official Raspberry Pi Pico SDK can be used with tools like CMake and GCC, often integrated within IDEs like VS Code with extensions, or PlatformIO. Alternatively, the Arduino IDE has excellent support for the Pico and RP2040 via board manager installation, providing a familiar environment for Arduino users. To flash your first program (e.g., a Blink sketch), select the correct board in your chosen IDE, write the code, and click the upload/compile button. The IDE will typically guide you through putting the Pico H into bootloader mode if needed.