The BigTreeTech SKR Pico (V1.0 and V2.0) translates the Raspberry Pi RP2040 microcontroller’s raw GPIO pins into dedicated 3D printer headers for TMC2209 stepper drivers, JST-XH thermistors, and MOSFET-controlled heaters. Below is the direct mapping from the board’s silkscreen labels to the underlying RP2040 GPIO numbers required for Klipper or Marlin firmware configuration.
The Complete SKR Pico Pinout Reference Table
When configuring your printer.cfg in Klipper, you can use either the board aliases (e.g., gpio11) or the SKR Pico silkscreen names. This table maps the physical board headers to the exact RP2040 GPIO pins. Assumption: This table reflects the V1.0 hardware layout, which remains the most widely deployed version; V2.0 swaps a few fan MOSFET pins but retains the core stepper and heater mapping.
| Board Silkscreen / Function | RP2040 GPIO Pin | Klipper Alias / Notes |
|---|---|---|
| X-STEP / X-DIR / X-EN | GPIO11 / GPIO10 / GPIO12 | Enable is active low (!gpio12) |
| Y-STEP / Y-DIR / Y-EN | GPIO6 / GPIO5 / GPIO7 | Enable is active low (!gpio7) |
| Z-STEP / Z-DIR / Z-EN | GPIO19 / GPIO18 / GPIO20 | Enable is active low (!gpio20) |
| E0-STEP / E0-DIR / E0-EN | GPIO14 / GPIO13 / GPIO15 | Extruder motor; active low enable |
| TMC2209 UART (Shared) | GPIO9 | Single-wire multiplexed UART for all 4 drivers |
| HE0 (Hotend Heater) | GPIO23 | Drives high-side MOSFET |
| HB (Heated Bed) | GPIO21 | High-current MOSFET; ensure 24V supply |
| TH0 (Hotend Thermistor) | GPIO27 | ADC1 input; polarity insensitive for NTC |
| THB (Bed Thermistor) | GPIO26 | ADC0 input; polarity insensitive for NTC |
| FAN0 / FAN1 / FAN2 | GPIO17 / GPIO16 / GPIO24 | PWM capable; FAN0 is typically part-cooling |
| Z-PROBE (BLTouch Control) | GPIO22 | Servo/Control signal pin |
| Z-MIN (Endstop / Probe IN) | GPIO29 | Pull-up enabled; reads probe trigger |
Source: Official BigTreeTech SKR Pico GitHub repository and Klipper Configuration Reference.
Wiring Standards & Regional Color Code Variants
The SKR Pico itself operates strictly on 12V–24V DC and 5V/3.3V logic. However, the wiring harnesses you connect to it—and the AC mains wiring feeding your 24V power supply (PSU)—are governed by regional electrical standards. Misinterpreting these color codes is a primary cause of dead RP2040 chips and tripped breakers.
AC Mains Input to the 24V PSU (NEC vs. IEC)
The SKR Pico requires a 24V DC PSU (like a Mean Well LRS-200-24). The AC input side of that PSU must be wired according to your region's code. Always de-energize, lock out, and verify dead with a multimeter before touching PSU terminals.
| Function | US / NEC Standard (120V AC) | EU / IEC 60446 Standard (230V AC) | Old UK (Pre-2006 Legacy) |
|---|---|---|---|
| Line (Hot) | Black | Brown | Red |
| Neutral | White | Blue | Black |
| Earth (Ground) | Green / Bare | Green-Yellow | Green-Yellow |
Stepper Motor Wire Colors (NEMA vs. IEC/Legacy)
The SKR Pico uses standard 4-pin JST-XH connectors for the X, Y, Z, and E steppers. The board expects Coil A on pins 1-2 and Coil B on pins 3-4. However, stepper wire colors vary wildly by manufacturer and region.
- US / NEMA Standard (Most common on modern NEMA 17s): Black (A+), Green (A-), Red (B+), Blue (B-).
- EU / IEC Legacy (Often found on older European stock): Red (A+), White (A-), Blue (B+), Black (B-).
- Safe Interpretation: Never trust the colors blindly. Use your multimeter in continuity mode to short the wires together in pairs. When you find a pair that creates physical resistance when spinning the motor shaft by hand, that is one complete coil. Plug that pair into pins 1-2, and the remaining pair into pins 3-4.
Pins and Rows People Get Wrong
When building with the SKR Pico, three specific pinout areas consistently cause hardware damage or firmware faults.
1. The Z-Probe Header (5-Pin vs. 3-Pin Confusion)
The SKR Pico features a dedicated 5-pin probe header labeled 5V | GND | IN | GND | OUT.
The Mistake: Builders plug standard 3-pin mechanical endstops into this header, misaligning the 5V pin with the endstop's signal pin, which feeds 5V directly into a 3.3V-tolerant RP2040 GPIO, frying the chip.
The Fix: If using a 3-pin endstop, use the dedicated Z-MIN 3-pin header, not the 5-pin probe header. If using a BLTouch, the 5-pin layout matches perfectly, but verify the IN pin aligns with the BLTouch's white signal wire.
2. TMC2209 UART Multiplexing
The Mistake: Users look for four separate UART TX/RX pairs for the four stepper drivers and assume the board is missing traces.
The Fix: The SKR Pico uses a single-wire UART bus on GPIO9. It multiplexes the connection using the MS1/MS2 address pins on each TMC2209 driver. In Klipper, you only define uart_pin: gpio9 once per driver block; the firmware handles the addressing automatically.
3. Interpreting Faded Silkscreen Markings
The white silkscreen on the SKR Pico can wear off, or be obscured by the large TMC2209 heatsinks. Safe Interpretation: If the endstop or thermistor labels are faded, use the physical board edge as your reference. On all BTT SKR boards, the GND pin is always on the outermost edge of the endstop and thermistor blocks. The signal pin is always in the center. Never guess; if the silkscreen is illegible, trace the outer pin to the large ground plane copper pour using a multimeter in continuity mode to confirm it is GND before applying power.
SKR Pico Pinout FAQ
How do I map the SKR Pico RP2040 GPIOs in Klipper?
In your printer.cfg, set the [mcu] section to your Pico's serial path. For the stepper pins, you can use the raw RP2040 GPIO numbers (e.g., step_pin: gpio11) or the official Klipper board aliases if you include the [include config/btt_skr_pico_v1.0.cfg] file, which allows you to use aliases like step_pin: x_step_pin. Always use the raw gpioXX format if you are writing the config from scratch to avoid alias conflicts.
What is the correct wire sequence for a 5-pin BLTouch on the SKR Pico?
Looking at the SKR Pico's 5-pin probe header with the pins facing you and the USB port pointing down, the sequence from left to right is: 5V, GND, IN (Z-MIN signal), GND, OUT (Servo control). A standard BLTouch wiring harness plugs in directly without modification, provided the connector's locking tab faces outward. Ensure the white wire (IN) aligns with the third pin.
Can I use a standard Raspberry Pi Pico pinout chart for the SKR Pico?
No. While the SKR Pico uses the RP2040 chip, the PCB traces route those GPIOs to completely different physical headers than the standard Raspberry Pi Pico development board. For example, GPIO25 on a standard Pico is the onboard LED, but on the SKR Pico, GPIO25 is routed to the Y-axis TMC2209 UART chip-select/address line. Always use the BTT-specific pinout table provided above or the official Klipper board definitions.






