# boompi **Repository Path**: mirrors_TooTallNate/boompi ## Basic Information - **Project Name**: boompi - **Description**: Boombox built with Raspberry Pi - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-06-16 - **Last Updated**: 2026-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Boompi

# Boompi Boompi turns a Raspberry Pi into a boombox: a complete, flashable appliance OS for building your own - Bluetooth/AirPlay/Spotify audio, a touchscreen now-playing UI, game emulation, battery awareness, and remote control over Wi-Fi or BLE (web + iOS). It grew out of two custom builds and is becoming something anyone can put in a box: - **`boompid`** - Rust backend daemon: Bluetooth (BlueZ), Spotify Connect (librespot), AirPlay (shairport-sync), PipeWire volume, INA260 battery telemetry, FFT visualizer, album art. Serves a WebSocket/HTTP API. - **`boompi-ui`** - Slint touchscreen UI: renders directly on DRM/KMS on the boombox, or as a desktop app on a laptop for development. - **`web/`** - settings web app served by the box; **`web-remote/`** - the hosted Web Bluetooth remote ([boompi.n8.io](https://boompi.n8.io)); **`ios/`** - the native iOS app. - **`buildroot/`** - flashable, pre-configured SD card images (silent boot, A/B self-updates, first-boot setup). Box-specific hardware (display panel, DAC, battery sensor, wiring) is described by an on-device profile, not baked into the image - one image boots every build. The v1 stack (Node.js + Next.js + Chromium kiosk) lives on the `v1` branch. The (shipped) design and phased plan is in [`docs/PLAN.md`](docs/PLAN.md), the A/B update system in [`docs/UPDATES.md`](docs/UPDATES.md), and future work in [`docs/ROADMAP.md`](docs/ROADMAP.md). Releases are cut with [changesets](.changeset/README.md): merging the "Version Packages" PR publishes a GitHub Release with flashable images and OTA assets; every green build of `main` also refreshes the rolling `edge` prerelease. The boxes update themselves from either channel (Settings → Software). ## Development No hardware needed for UI work: ```sh make sim # terminal 1: backend with simulated sources/battery/visualizer make ui # terminal 2: the UI, connected to the local sim ``` Against a real boombox: ```sh make ui BACKEND=ws://boombox.local:3001/ws ``` Other targets: `make check`, `make test`, `make fmt`, `make clippy`.