Yes — your assumptions are mostly right, but for a functional standalone RP2040 board, you still need a few critical blocks beyond USB D+/D−, a 5V→3.3V LDO, and GPIO headers.
Needed / recommended additions
- External QSPI flash — required for normal RP2040 program storage. The RP2040 has no internal flash. Add something like a W25Q16/W25Q32-style SPI flash connected to
QSPI_SD0..3, QSPI_SCLK, and QSPI_CSN.
- Micro-USB or USB-C connector
D+ → through 27 Ω series resistor → USB_DP
D− → through 27 Ω series resistor → USB_DM
VBUS / 5V → input of 3.3 V regulator
- connector shield/chassis handling as appropriate
- 3.3 V regulator
- USB 5 V into LDO or buck
- 3.3 V output to
IOVDD, USB_VDD, VREG_VIN, and analog supply filtering
- decoupling caps at regulator input/output
- BOOTSEL button
- Usually pulls
QSPI_CSN low during reset/power-up so the RP2040 enters USB bootloader mode.
- Strongly recommended for programming/debugging convenience.
- RESET / RUN button
- Momentary button from
RUN to GND.
- Optional but very useful.
- SWD programming/debug header
SWCLK, SWDIO, GND, and optionally 3V3/RUN.
- GPIO headers
- Bring out GPIOs plus several
GND and 3V3 pins.
- If you want Pico-like compatibility, match the Pico pinout.
- Power input protection
- At minimum: USB input bulk cap.
- Recommended: USB ESD protection on D+/D−, optional polyfuse, reverse/backfeed protection if other power sources are possible.
- Status LED
- Optional, but useful for firmware bring-up. Commonly connected to
GPIO25 like the Pico.
The current schematic already appears to have the RP2040, decoupling caps, crystal circuit, USB series resistors, and power-net structure started. The biggest missing functional item is the external QSPI flash; without it, the chip can enter ROM boot mode over USB, but it will not have persistent application storage.