Documentation

ShillehTek Raspberry Pi Pico 2 Presoldered Headers | ShillehTek Product Manual
Documentation / ShillehTek Raspberry Pi Pico 2 Presoldered Headers | ShillehTek Product Manual

ShillehTek Raspberry Pi Pico 2 Presoldered Headers | ShillehTek Product Manual

shillehtek

Overview

The Raspberry Pi Pico 2 is a powerful, low-cost microcontroller board built on the RP2350 chip designed by Raspberry Pi. It features a dual-core Arm Cortex-M33 processor running at up to 150 MHz, 520 KB of on-chip SRAM, and 4 MB of onboard QSPI flash memory — a major step up from the original Pico. Our ShillehTek version ships with pre-soldered headers and a USB-C connector, so you can plug it in and start coding immediately.

With 26 multifunction GPIO pins (including 3 analog inputs), 2× UART, 2× SPI, 2× I2C, and 24 PWM channels, the Pico 2 is ideal for anything from simple blink-an-LED projects to complex robotics, data logging, and real-time sensor systems. It works with MicroPython, CircuitPython, the Arduino IDE, and the official C/C++ Pico SDK — whatever your preferred environment is.

Because the Pico 2 is the non-wireless variant, it's a great choice for projects where you need reliable computing and I/O but don't need WiFi or Bluetooth. If you do need wireless connectivity, check out our Pico 2W with Pre-Soldered Headers.

At a Glance

Microcontroller
RP2350
CPU
Dual Cortex-M33 @ 150 MHz
Memory
520 KB SRAM + 4 MB Flash
GPIO Pins
26 (3 ADC)
USB
USB-C 1.1
Logic Level
3.3V

Specifications

Parameter Value
Microcontroller Raspberry Pi RP2350 (dual Arm Cortex-M33 or RISC-V Hazard3)
Clock Speed Up to 150 MHz
SRAM 520 KB on-chip
Flash 4 MB QSPI
Input Voltage (VSYS) 1.8V - 5.5V
GPIO Logic Level 3.3V
GPIO Pins 26 multifunction pins
ADC Channels 3 × 12-bit ADC (GP26, GP27, GP28) + internal temperature sensor
Communication 2 × UART, 2 × SPI, 2 × I2C, 24 × PWM channels
PIO 3 × PIO blocks with 12 state machines
USB USB-C 1.1 host and device (presoldered USB-C)
Onboard LED User LED on GP25
Dimensions 21 × 51 mm
Headers Pre-soldered 2.54 mm male headers

Pinout Diagram

Raspberry Pi Pico 2 pinout diagram showing all 40 pins including GP0 through GP28 multifunction GPIO, ADC0 through ADC2, 3V3 output, VSYS, VBUS, RUN, and GND pins with UART, SPI, I2C, and PWM peripheral mappings

Wiring Guide

Powering the Pico 2

You have three ways to power the Pico 2: USB-C (most common), an external supply on VSYS, or regulated 3.3V directly on 3V3. The onboard buck-boost regulator accepts 1.8V to 5.5V on VSYS, making the board happy with anything from a LiPo to a USB power bank.

Pin Role Details
VBUS +5V from USB Only live when USB-C is connected
VSYS Main input 1.8V to 5.5V (LiPo, power bank, battery)
3V3 (OUT) Regulated 3.3V output Use to power 3.3V peripherals, max ~300mA
3V3_EN Regulator enable Pull to GND to shut down the board
GND Ground Multiple GND pins around the board
Tip: If you're powering the Pico 2 from both USB-C and VSYS at the same time, add a Schottky diode between your battery and VSYS to prevent current from flowing back into the battery.

External LED Wiring

Pico 2 GPIO outputs 3.3V logic. For a basic blink project, connect an LED through a 330 Ω current-limiting resistor. The onboard user LED on GP25 also works with no wiring required.

Component Pico 2 Pin
LED anode (+) GP15 (via 330 Ω resistor)
LED cathode (−) GND
Tip: You don't actually need an external LED to get started — the code examples below target the onboard LED on GP25. Skip straight to flashing MicroPython and blinking.

I2C Sensor Wiring

The Pico 2 has two I2C blocks. I2C0 defaults to GP4 (SDA) and GP5 (SCL), and I2C1 defaults to GP14 (SDA) and GP15 (SCL) — but almost any GPIO pair can be remapped to I2C.

Sensor Pin Pico 2 Pin Details
VCC 3V3 (OUT) For 3.3V sensors; use VBUS for 5V sensors
GND GND
SDA GP4 (I2C0)
SCL GP5 (I2C0)
Info: Most I2C breakout boards (BME280, MPU6050, SSD1306, etc.) include onboard pull-up resistors, so you don't need to add external pull-ups. If communication is flaky, try adding 4.7 kΩ pull-ups from SDA and SCL to 3V3.
Warning: If the sensor runs at 5V and outputs 5V on SDA/SCL, use a bidirectional level shifter between the sensor and the Pico 2. Pico 2 GPIO is NOT 5V tolerant and can be damaged by 5V logic.

SPI Module Wiring

The Pico 2 has two SPI blocks. SPI0 defaults to GP16 (RX/MISO), GP17 (CSn), GP18 (SCK), and GP19 (TX/MOSI). These are the typical pins used in most Pico tutorials and libraries.

Module Pin Pico 2 Pin
VCC 3V3 (OUT) or VBUS (5V)
GND GND
MOSI GP19
MISO GP16
SCK GP18
CS GP17
Tip: SPI signals are 3.3V logic. If your module (like some SD cards or older displays) outputs 5V on MISO, use a level shifter. Most modern modules designed for the Pico ecosystem are already 3.3V friendly.

Code Examples

MicroPython — Blink the Onboard LED

blink.py
# Raspberry Pi Pico 2 - MicroPython Blink Example
# Blinks the onboard LED on GP25

from machine import Pin
import time

led = Pin(25, Pin.OUT)

while True:
    led.value(1)
    time.sleep(0.5)
    led.value(0)
    time.sleep(0.5)

MicroPython — Read the Onboard Temperature Sensor

temp_sensor.py
# Raspberry Pi Pico 2 - Read the internal temperature sensor
# The RP2350 has a built-in temperature sensor on ADC channel 4

from machine import ADC
import time

sensor_temp = ADC(4)
conversion_factor = 3.3 / 65535

while True:
    reading = sensor_temp.read_u16() * conversion_factor
    # Formula from the RP2350 datasheet
    temperature = 27 - (reading - 0.706) / 0.001721
    print("Temperature: {:.2f} C".format(temperature))
    time.sleep(1)

CircuitPython — Blink

code.py
# Raspberry Pi Pico 2 - CircuitPython Blink Example
# Flash the latest CircuitPython .uf2 first, then save this as code.py

import board
import digitalio
import time

led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT

while True:
    led.value = True
    time.sleep(0.5)
    led.value = False
    time.sleep(0.5)

Arduino IDE

pico2_blink.ino
// Raspberry Pi Pico 2 - Arduino IDE Blink Example
// Install "Raspberry Pi Pico/RP2040/RP2350" board package by Earle Philhower
// Select: Tools > Board > Raspberry Pi Pico 2

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(115200);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  Serial.println("LED ON");
  delay(500);
  digitalWrite(LED_BUILTIN, LOW);
  Serial.println("LED OFF");
  delay(500);
}

C/C++ Pico SDK

blink.c
// Raspberry Pi Pico 2 - Pico SDK Blink Example
// Build with the official pico-sdk (>= 2.0.0 for RP2350 support)

#include "pico/stdlib.h"

int main() {
    const uint LED_PIN = 25;
    gpio_init(LED_PIN);
    gpio_set_dir(LED_PIN, GPIO_OUT);

    while (true) {
        gpio_put(LED_PIN, 1);
        sleep_ms(500);
        gpio_put(LED_PIN, 0);
        sleep_ms(500);
    }
}

Frequently Asked Questions

How do I flash MicroPython onto the Pico 2?
Hold down the BOOTSEL button while plugging in the USB-C cable. The Pico 2 will appear as a USB drive called RPI-RP2. Drag and drop the latest RP2350 MicroPython .uf2 file from micropython.org onto the drive. The board will reboot automatically into MicroPython.
Is the Pico 2 compatible with Raspberry Pi Pico code and libraries?
Mostly yes. The pin layout is identical to the original Pico, so physical wiring transfers directly. MicroPython and CircuitPython code works with essentially no changes. For C/C++ projects, you need pico-sdk 2.0.0 or later, and you set PICO_BOARD=pico2 when building.
What's different between the Pico 2 and the original Pico?
The Pico 2 uses the new RP2350 chip with dual Arm Cortex-M33 cores at 150 MHz (vs. 133 MHz M0+ on the original), 520 KB of SRAM (vs. 264 KB), 4 MB of flash (vs. 2 MB), hardware security features like TrustZone, and optional RISC-V Hazard3 cores. It also adds a third PIO block. Our version ships with USB-C instead of micro-USB.
Does the Pico 2 have WiFi or Bluetooth?
No. This is the wired-only variant. If you need wireless, grab the Pico 2W, which adds 2.4 GHz WiFi and Bluetooth 5.2 via an Infineon CYW43439 module.
How many of the GPIO pins can read analog voltages?
Three: GP26 (ADC0), GP27 (ADC1), and GP28 (ADC2). The ADC is 12-bit, reading values from 0 to 4095 across a 0-3.3V input range. There's also a fourth ADC channel tied to an internal temperature sensor, and a fifth connected to VSYS for battery voltage monitoring.
Can I power the Pico 2 from a LiPo battery?
Yes. Connect the battery positive terminal to VSYS and negative to GND. VSYS accepts 1.8V to 5.5V, which covers a single-cell LiPo's full discharge range (3.0V-4.2V). An onboard buck-boost regulator produces a stable 3.3V regardless of battery voltage.
Is the Pico 2 safe to connect to 5V sensors?
The GPIO pins are 3.3V ONLY — they are not 5V tolerant. You can power 5V sensors from the VBUS pin (when USB is connected), but any data line that carries 5V logic back to the Pico 2 must go through a level shifter or voltage divider first. Many modern sensors work fine at 3.3V anyway.

Related Tutorials