Repository navigation
Included In This Release
Ready-to-flash firmware for both supported Waveshare ESP32-C6 1.47-inch boards, plus the self-contained Windows companion app package.
Firmware:
- supports the
KY-018ambient-light sensor - includes dedicated builds for
ST7789andJD9853displays - shows the ambient percentage, raw ADC value, and animated flower on the LCD
- sends raw telemetry over
USB Serial - can be selected and flashed from the Windows application
What Changed
- Added firmware support for both
Waveshare ESP32-C6-LCD-1.47(ST7789) andWaveshare ESP32-C6-Touch-LCD-1.47(JD9853). - Added a nine-frame pixel-art flower animation, smooth percentage transitions, a progress bar, and live
ADCtext on the device display. - Added manual bundled-firmware selection and refreshed COM-port selection to the Windows Update screen.
- Split the Update screen into separate PC application and device firmware tabs.
- Added manifest-driven firmware discovery and flashing parameters, including full semantic version support.
- Added project-owned merged-binary scripts that build every firmware variant, remove stale same-version artifacts, and emit a manifest beside each binary.
- Updated the portable release workflow to bundle every matching firmware binary and manifest with the standalone flashing tool.
Supported Hardware
Waveshare ESP32-C6-LCD-1.47withST7789display — selectesp32c6-displayWaveshare ESP32-C6-Touch-LCD-1.47withJD9853display — selectesp32c6-touchKY-018ambient-light sensor
Wiring:
VCC->3V3GND->GNDAO->GPIO4
Do not power the sensor from 5V, and avoid GPIO0 on ESP32-C6 because it can interfere with startup.
How To Flash
The recommended path is the bundled Windows application:
- Extract
luma-bloom-pc-app_2.2.0_win-x64-portable.zip. - Run
BrightnessSensor.ConsoleApp.exe. - Open
Update->Device firmware. - Select the firmware variant matching the board and select its COM port.
- Click
Flash firmware.
For a manual fallback, run one of these commands from the extracted package directory.
Standard ESP32-C6-LCD-1.47 (ST7789):
& ".\Tools\esptool.exe" --chip esp32c6 --port COM8 --baud 460800 write-flash 0x0 ".\Firmware\luma_bloom_esp32c6-display_2.2.0_merged.bin"Touch ESP32-C6-Touch-LCD-1.47 (JD9853):
& ".\Tools\esptool.exe" --chip esp32c6 --port COM8 --baud 460800 write-flash 0x0 ".\Firmware\luma_bloom_esp32c6-touch_2.2.0_merged.bin"Replace COM8 with the board's port. If the board is not detected, hold BOOT, press and release RST, then release BOOT.
Telemetry
The firmware sends newline-delimited JSON at 115200 baud. The transmitted value is the raw ADC reading; normalization and brightness processing happen in the Windows application.
{"id":"lumabloom","ts":1234567,"raw":1872}