hardware/rp2040-pico.md
Table of Contents
RP2040 / Raspberry Pi Pico
Model Info (from USB detection)
- Detected as:
RP2 Boot(Raspberry Pi) - Serial:
E0C9125B0D9B - Mode: BOOTSEL (mass storage bootloader)
- Volume:
RPI-RP2— mounts as FAT16 drive (/dev/disk4) - Board: Plain Raspberry Pi Pico (not Pico W — no wireless)
Bought 3 of these.
How to Program
1. Arduino IDE (easiest, sketch-like)
- Install the Raspberry Pi Pico/RP2040 board package:
- Arduino IDE → Boards Manager → search "pico"
- Install Earle Philhower's core or the official Arduino RP2040 core
- Write your sketch as usual
- Export compiled binary → outputs a
.uf2file - Drag the
.uf2file onto theRPI-RP2volume - Pico auto-resets and runs the code
Gotchas:
- RP2040 is 3.3V only — no 5V tolerant pins. Use level shifters for 5V sensors.
- No built-in WiFi (this is plain Pico, not Pico W)
- Some Arduino libraries need tweaks (timers, analogWrite, PIO)
2. C/C++ SDK (full power)
- Raspberry Pi's official Pico SDK
- CMake-based setup
- Full access to PIO, dual-core, DMA
3. MicroPython / CircuitPython
- Flash once with the MicroPython
.uf2 - Then edit
.pyfiles on the board - Easiest for prototyping
Notes
- BOOTSEL mode = hold BOOTSEL button while plugging in, or while pressing RESET
- Drag-and-drop
.uf2flashing works on macOS natively (no extra tools needed) - If it shows up as a serial port instead of a drive, it's running user code (not in BOOTSEL)