MakerLab
Raspberry PiRaspberry Pi Pico H

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.

Raspberry Pi Pico H

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 / SoCRaspberry Pi RP2040
ArchitectureDual-core ARM Cortex-M0+
Clock speedUp to 133MHz
Flash / Storage2MB QSPI Flash (on-board)
RAM / SRAM264KB on-chip SRAM
Operating voltage3.3V
Digital I/O pins26 multi-function GPIO pins
Analog / ADC3x 12-bit ADC inputs (shared with GPIO)
PWM16 channels available across all GPIO pins
Connectivity2x SPI, 2x I2C, 2x UART
USB1x USB 1.1 (device and host support)
Power input1.8V - 5.5V via VSYS pin, or 5V via micro USB
Dimensions51mm x 21mm (board), 2.54mm (0.1") header pitch

Pinout & pin functions

PinFunction
3V3Power output (3.3V regulated)
GNDGround
GP0GPIO, ADC0, UART0 TX, SPI0 TX
GP1GPIO, ADC1, UART0 RX, SPI0 RX
GP2GPIO, ADC2, UART1 TX, SPI0 SCK
GP3GPIO, ADC3, UART1 RX, SPI0 CSn
GP4GPIO, PWM
GP5GPIO, PWM
GP6GPIO, PWM
GP7GPIO, PWM
GP8GPIO, PWM
GP9GPIO, PWM
GP10GPIO, PWM
GP11GPIO, PWM
GP12GPIO, PWM
GP13GPIO, PWM
GP14GPIO, PWM
GP15GPIO, PWM
GP16GPIO, PWM
GP17GPIO, PWM
GP18GPIO, PWM
GP19GPIO, PWM, I2C1 SDA
GP20GPIO, PWM, I2C1 SCL
GP21GPIO, PWM, I2C0 SDA
GP22GPIO, PWM, I2C0 SCL
GP23GPIO, PWM
GP24GPIO, PWM, SPI1 TX
GP25GPIO, PWM, SPI1 RX
GP26GPIO, ADC0, PWM, SPI1 SCK
GP27GPIO, ADC1, PWM, SPI1 CSn
GP28GPIO, ADC2, PWM
RUNSystem reset (active low)
ADC_VREFADC reference voltage input
3V3_EN3.3V regulator enable output
3V3_OUT3.3V power output
VBUSUSB VBUS input (5V when connected)
VSYSSystem 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.

Project ideas

RGB LED VU MeterCreate a visualizer that reacts to audio input using an ADC pin to read the audio signal and control the brightness and color of an RGB LED, demonstrating ADC and PWM usage.
Simple Weather StationInterface with a BME280 or similar sensor via I2C to measure temperature, humidity, and pressure, displaying the data on a small OLED screen, teaching I2C communication and sensor integration.
Custom USB HID DeviceProgram the Pico H to act as a custom keyboard or mouse using its USB host capabilities, allowing for unique macro pads or input devices, exploring USB HID protocols.
RP2040 PIO LED ControllerUtilize the Programmable I/O (PIO) state machines to create a custom, high-speed LED driver for addressable LEDs like WS2812B, showcasing the unique PIO feature for precise timing.
Basic Robotics ControllerDrive two DC motors using motor driver ICs (like L298N) connected to GPIO pins, implementing basic movement control (forward, backward, turn) and potentially reading encoder data, learning motor control and PWM.
Internet-Connected Sensor NodeCombine the Pico H with a Wi-Fi module (like an ESP8266 or ESP32 acting as a bridge) to send sensor data to a cloud service, introducing IoT concepts and wireless communication.

Buying tips & gotchas

When purchasing a Raspberry Pi Pico H, ensure you are buying from a reputable vendor to avoid counterfeit or lower-quality clones. The pre-soldered headers are a significant convenience, but if you prefer to solder your own headers or use castellated edges, the original Raspberry Pi Pico is a suitable alternative. Common pitfalls include forgetting the 3.3V logic level requirement, overloading the onboard 3.3V regulator, or misconfiguring the PIO state machines. Accessories like breadboards, jumper wires, and basic electronic components (resistors, LEDs, buttons) are essential for getting started with practical projects. Consider a small heatsink for the RP2040 if running at maximum clock speed under heavy load for extended periods.