Local SoundTouch cloud replacement on an ESP32 stick.
Bose shut their cloud down — this brings the preset buttons back.
Plug your ESP32 board into USB, click below, and pick the serial port that appears.
The browser detects the chip and flashes the matching factory image.
Version … — same image you build locally with
./scripts/build_release.sh.
SoundTouch 10/20/30, firmware 27.0.6.x /
27.0.3.x) and rewrite its cloud URLs to point at the stick
— each speaker reboots once in the process (~60 s). Existing presets
are preserved automatically. After the initial boot pass the
auto-mode stays armed as a periodic cron (default every 30 minutes)
and picks up newcomers automatically.http://bosefix.local/ right after provisioning and flip
the Auto-Migrate at Boot switch at the top
before the device finishes discovering your speakers.
manifest.json.0x0 in one shot. Old contents are erased.bosefix.local on mDNS;
open http://bosefix.local/ to manage your Bose speakers.*-firmware.bin and *-littlefs.bin
files next to the factory images are for.
Each target ships three artefacts you can download and flash manually with
esptool.py:
bosefix32-<tgt>-factory.bin — full image, flash to 0x0bosefix32-<tgt>-firmware.bin — app only, for OTAbosefix32-<tgt>-littlefs.bin — Web UI assets, for FS-OTAExample:
esptool.py --chip esp32s3 -p /dev/ttyACM0 write_flash 0x0 bosefix32-s3-factory.bin