Skip to content
On this page

Getting started with the Raspberry Pi Pico 2

Applies to: the plain Raspberry Pi Pico 2 (RP2350, 4 MB flash, no wireless). Pico 2 W adds wireless and has its own firmware file — it is out of scope here. First-generation Pico owner? Use the Pico getting-started guide instead.

The identity check

The Pico 2 is the second-generation board: RP2350, 4 MB flash, micro-USB, the same 40-pin DIP outline as the Pico. The BOOTSEL drag-and-drop mechanics are identical to the first generation — what changes is every firmware file and one name on the drive, so the two generations’ guides are separate pages.

PicoPico 2
ChipRP2040RP2350
BOOTSEL volumeRPI-RP2RP2350
MicroPython filerp2-pico-latest.uf2RPI_PICO2-latest.uf2
C/C++ board targetPICO_BOARD=pico (default)PICO_BOARD=pico2

Confirm the board itself first — plain Pico or Pico 2, and W or not, from the model and silkscreen. The BOOTSEL volume is a chip-generation clue, not a full board identification: RPI-RP2 points to RP2040, RP2350 to RP2350. Each firmware file above is built for one generation’s chip, so the volume tells you which guide’s file to drag — it does not promise that a wrong-generation file will be accepted or run. For what else changed between the generations, see Pico vs Pico 2.

Pick a language first

Same two official paths as the Pico, and the choice changes which file you drag:

PathYou dragYou get
MicroPythonthe Pico 2 .uf2 from micropython.organ interpreter; you write Python over USB serial (REPL)
C/C++ SDKyour own compiled .uf2a bare-metal binary; no interpreter on the board

MicroPython: drag, drop, REPL

From the official drag-and-drop guide:

  1. Push and hold BOOTSEL, connect USB to the computer, release BOOTSEL when the board appears as a mass-storage device called RP2350.
  2. Drag the Pico 2 MicroPython UF2 onto that volume. The board reboots — you are now running MicroPython.
  3. Access the REPL through USB serial.

Expected, then verified: with the correct firmware for this board, a drive literally named RP2350 appears and disappears after the drag — the official guide describes that reboot as the point where MicroPython is running. The disappearance itself is the expected flow, not proof of a working setup; verification is the next step — connect over USB serial and enter the MicroPython REPL. If the volume never appears, or it vanished but no serial port shows up, the USB board-not-detected checklist is the continuation.

C/C++ SDK: same flow, PICO_BOARD=pico2

The official quick-start steps are the same as for the Pico (CMake, Arm cross-compiler, pico_sdk_import.cmake, build a hello_world). One thing changes on the Pico 2: pass -DPICO_BOARD=pico2 to CMake — per the official examples README, that automatically selects PICO_PLATFORM=rp2350 and the board’s default pin configuration.

Two stdout expectations from the official sources, before you wonder where your prints went:

  • Default stdout is UART, not USB. The quick-start’s hello_world calls setup_default_uart(); on the Pico 2 the SDK board header defaults UART0 to GP0 (TX) / GP1 (RX). Without a serial adapter you will see nothing.
  • The USB route is a different example. hello_world/usb enables USB stdio and disables UART stdio (pico_enable_stdio_usb 1, pico_enable_stdio_uart 0, verbatim in that CMakeLists.txt); if the SDK’s TinyUSB submodule is not initialized, that example’s build is skipped with an explicit CMake message. Building it is the official path — this site has not built or run it.

What this page cannot tell you

  • We did not run these steps on hardware here. The flow is transcribed from the pinned official documents below; no MCUID device bring-up receipt exists for it.
  • Which MicroPython build you got — the download link tracks the latest release; this page does not pin a MicroPython version number or checksum.
  • Pico 2 W wireless setup — a different firmware file (RPI_PICO2_W) and a separate connectivity document; not covered here.
  • Windows/macOS step-by-step — the official quick-start and books are the source of truth for toolchain install details.

Sources