pi_pico/color_switcher
Mohamed Salem 66e18ed248 Extract reusable components into git submodules
STD_TYPES, MCU_UART, MCU_USB, MCU_PIO, HAL_COM, HAL_LED moved to
separate repos under common/ as git submodules. Each submodule ships
with default config (cfg/) that projects can override.

color_switcher/src/ now contains only project-specific components
(APP_CLSW, SYS_ECU). CMake sources_config references common/ via
COMMON_DIR. Docker volume mounts ../common:/common so the container
sees the submodules. Build verified — zero errors.
2026-04-13 03:55:25 +02:00
..

Color Switcher

A Raspberry Pi Pico project that sends commands over UART to a connected computer. Written entirely in C using the Pico SDK.

Prerequisites

No local toolchain installation needed — everything runs inside the container.

Building

# Build the Docker image (first time only, or after Dockerfile changes)
docker compose build

# Compile the firmware
docker compose up

The .uf2 firmware file will appear in build/.

Flashing

  1. Hold the BOOTSEL button on the Pico and plug it into USB
  2. It mounts as a USB mass storage device
  3. Drag the .uf2 file from build/ onto the Pico
  4. The Pico reboots and runs the firmware

Interactive Shell

To drop into the build container for debugging or manual commands:

docker compose run --rm pico-build bash