A driverless, web-controlled multi-channel SPI flash programmer and SPI debugger built on the Raspberry Pi Pico (RP2040) and Pico 2 (RP2350).
- firmware/ — C firmware (Pico SDK + TinyUSB, CMake). Exposes a WebUSB vendor interface with WinUSB (MS OS 2.0) descriptors — no driver needed.
- web/ — Vite + React + TypeScript dashboard: channel & pin-mux setup, SPI debugger, flash chip info, hex viewer, erase / write / read with progress and cancel. Includes a simulated device for demo/development.
- docs/ — Specification, USB protocol, implementation plan.
# firmware (Pico); use -DPICO_BOARD=pico2 for Pico 2
cd firmware
cmake -B build -DPICO_BOARD=pico
cmake --build build -j
# copy build/rp_flash_programmer.uf2 to the RPI-RP2 / RP2350 drive
# web GUI
cd web
npm install
npm run dev # open in Chrome/Edge, click "Connect"The web GUI offers the firmware built in firmware/build-*/ for download
(served directly by npm run dev; copied to dist/firmware/ by
npm run build — build the firmware first). Set SITE_URL when building
for deployment (e.g. SITE_URL=https://example.com/ npm run build) to get a
canonical URL, absolute social-preview image URLs and a sitemap.