Web Bluetooth Firmware Update
Web Bluetooth not available
On Linux, serve this file via localhost instead of opening directly:
python3 -m http.server 8000
Then open http://localhost:8000
Connection Failed
Only show devices with names starting with this prefix (case-insensitive)
The device is restarting with the new firmware. This may take 10-30 seconds.
If auto-reconnect fails, click "Connect" to manually reconnect.
Browse firmware from cloud storage
Click "Load Available" to see available firmware versions
| Downloading... |
| BLE WiFi Downloading... |
| Downloading... |
| Downloading... |
Click a row to load firmware for OTA update, or click the download icon to save to your PC.
The device is rebooting with new firmware. This typically takes 30-120 seconds.
Watch the lamp - when LEDs come back on, click Connect above.
Drop Nordic firmware here
or click to browse (.zip, .bin, .img)
Upload complete! Uploading... ( remaining)
/ KB
python -m http.server in this directory and open http://localhost:8000
http:// or use BLE update below.
Drop ESP32 firmware here
Use build/ohm_lamp.bin (NOT merged/ble-dfu)
Upload complete! ( remaining)
/ KB
ESP32 Update Mode Required
Entering update mode puts the ESP32 into ROM bootloader. The device will be non-functional until the update completes or is cancelled.
Drop ESP32 firmware here
Use merged binary from task package:ble-dfu
Update complete! ( remaining)
/ KB
STM32 DFU Not Available
This firmware version doesn't support STM32 DFU updates over BLE.
Update to newer lamp firmware to enable this feature.
STM32 Update Mode Required
Entering update mode puts the STM32 audio processor into bootloader. Audio will be non-functional until the update completes.
Drop STM32 firmware file here or click to browse
Accepts .bin files only
Stone DFU: Update the Stone firmware via BLE. This requires disconnecting the lamp from the Stone and connecting the web browser directly to the Stone.
The Stone is rebooting with new firmware. Wait for it to complete (~10-30 seconds).
Then click "Reconnect to Confirm" below to make the firmware permanent.
Error:
Current Stone version:
Drop Stone firmware here
or click to browse (.zip or .bin)
( remaining)
Confirmation Required
Stone has rebooted with the new firmware, but it must be confirmed to make it permanent. Without confirmation, Stone will revert to the old firmware on next reboot.
files cached from last file browser session
File Transfer Mode Required
Click "Enter File Mode" to access audio files on the STM32 SD card.
Note: Entering file mode will pause audio playback.
—
| Filename | Size |
|---|---|
No files match filter
No files loaded. Click Refresh to load file list.
Drop audio file here
or click to select (WAV, MP3, AAC, OGG, FLAC)
→ MP3 mono 48kHz 128kbps
Try a different file format
Already in target format (no conversion needed)
/ KB
Lamp must be connected to WiFi for audio uploads
Direct LED control for testing colors and positions.
Click "Enter Mode" to begin. Normal LED rendering will be paused.
| Baffle | R | G | B | W | Color | Actions |
|---|---|---|---|---|---|---|
|
|
Baffles 1-14: Tower LEDs (bottom to top). Halo: Ring around top.
Values: 0-255 for each color channel. Changes apply immediately.
Lower = more gradual at low brightness
| Time | Target | Mode | Duration | Color | |
|---|---|---|---|---|---|
Timeline: Click a track to set edit position. Shift+click to add keyframe. Drag blocks to reposition.
Editing: Click a block to select and edit its properties. Use Copy/Paste/Duplicate buttons for quick duplication.
"All Baffles": Affects all 15 channels at once. Ghost outlines show where "All" keyframes apply on individual tracks.
Switch the lamp between real stone and mock stone for testing. Power on the mock stone (Seeed Xiao nRF52840) before entering pairing mode.