Advanced Technical Information
These sections contain the “under the hood” technical details of the Bedside Lamp system. This information is generally not required for standard setup, configuration, or daily use. Instead, it is provided for the curious, the tinkerers, and those brave souls looking to modify the firmware for their own bespoke projects.
🐉 Here Be Dragons
By entering these pages, you are leaving the “safe zone” of standard consumer setup. I am happy to answer questions about the official firmware, but if you start rewriting the logic or swapping out hardware components, you’re officially the Captain of your own ship. I simply don’t have the bandwidth to troubleshoot custom forks!
System Architecture Overview
The system relies on a distributed processing model across three separate ESP controllers. While they work together as a cohesive unit, each maintains its own firmware, filesystem, and logic.
- HTML & UI: To keep modifications straightforward, the entire web application (HTML, CSS, and JavaScript) is stored as embedded strings within a dedicated
html.hheader file. This means you don’t need to worry about managing SPIFFS assets for the UI—just compile and flash.
In This Section
- Firmware and File Structure – A breakdown of the Kauf bulb firmware and the specific source files for the Primary and Display units.
- Configuration Files – Detailed JSON mappings of the
config.json,discovery.json, and alarm files. - Display Library and Fonts – Technical requirements for the TFT_eSPI library and custom icon fonts.
- Partitions and Flashing – Memory offsets and partition tables for manual flashing via the Arduino IDE or third-party utilities.