Hybrid Arduino + Pico SDK monorepo for Raspberry Pi Pico W / Pico 2W projects.
projects/creepy_halloween_sonar/(Arduino /arduino-cli)pico2w_lcd_soundboard/(Arduino /arduino-cli)pico_lcd_generative_art/(Pico SDK / CMake)pico_am_radio/(Pico SDK / CMake)kitchen_wall_clock/(Arduino /arduino-cli)
shared/pico_display/shared LCD driver + text rendering code (buildable by both toolchains)
scripts/- root build/verify/flash/doctor/smoke helpers
./scripts/build.sh --all./scripts/build.sh --project creepy_halloween_sonar
./scripts/build.sh --project pico2w_lcd_soundboard
./scripts/build.sh --project pico_lcd_generative_art
./scripts/build.sh --project pico_am_radio
./scripts/build.sh --project kitchen_wall_clock./scripts/build.sh --all --no-flash./projects/creepy_halloween_sonar/build.sh
./projects/pico2w_lcd_soundboard/build.sh
./projects/pico_lcd_generative_art/build.sh
./projects/pico_am_radio/build.sh
./projects/kitchen_wall_clock/build.sh./scripts/doctor.sh
./scripts/verify.sh --all
./scripts/smoke.sh --project pico_lcd_generative_artverify.shruns prerequisite checks, builds, preset sync regression, then smoke checks.smoke.shreportsPASSor explicitSKIPPEDwhen hardware is unavailable.
cmake -S . -B .build/root
cmake --build .build/root --target build_all
cmake --build .build/root --target verify_allAvailable CMake targets:
build_creepy_halloween_sonarbuild_pico2w_lcd_soundboardbuild_pico_lcd_generative_artbuild_pico_am_radiobuild_kitchen_wall_clockbuild_allverify_all
When build scripts run without --no-flash, they attempt UF2 copy to:
- macOS:
/Volumes/RPI-RP2or/Volumes/RP2350 - Linux:
/media/$USER/RPI-RP2,/media/$USER/RP2350,/run/media/$USER/RPI-RP2, or/run/media/$USER/RP2350
If no mount is present, flashing is skipped and reported.
If files under shared/ change, rebuild all dependent projects (prefer ./scripts/build.sh --all or ./scripts/verify.sh --all).