Firmware and File Structure


[PLACEHOLDER: Firmware and File Structure]

As detailed in prior topics, this system can be built using a single controller with wired sensors, or in a multi-controller system using wireless sensors.

📢 Changing Sensor Types
The primary firmware is designed to support either locally wired or remote wireless sensors without firmware modifications! Instead, you use the web configuration to tell the controller which type of sensor(s) to expect. This means that either sensor configuration can be used “out of the box” and you can easily switch later without needing to alter the firmware.

Understanding how the controller files are structured is essential for anyone looking to modify or compile the source code, or to verify their installation.

Primary Controller

The Primary ESP32 acts as the “brain” for logic and external integrations. This is also the controller tha is wired to and controls the LED strip(s). When working with the source code, the primary controller’s firmware consists of two files:

  • standalone_controller.ino: The main C++ source code containing the logic, MQTT/API handling, and hardware controls.
  • html.h: A critical header file containing the entire web application (HTML, CSS, and JavaScript) as embedded strings.

Release Binary New Install: Primary_Ctrl_vx.xx_Full.bin
Release Binay Firmware Update: Primary_Ctrl_vx.xx_Update.bin

(The single .bin contains the compiled output of both the .ino and .h files.)

Wireless Sensor Controller

Each wireless controller maintains its own version of the firmware and its own configuration setttings:

  • standalone_sensor.ino: The core logic for screen rendering and touch response.
  • html_sensor.h: The web interface for configuring the sensor (type, properties, etc.).

Release Binary New Install: Sensor_Ctrl_vx.xx_Full.bin
Release Binay Firmware Update: Sensor_Ctrl_vx.xx_Update.bin

(The single .bin contains the compiled output of both the .ino and .h files.)

⚠️ The “Don’t Cross the Streams” Warning
While the files look similar, the pin mappings and logic are fundamentally different. Never attempt to flash the Primary firmware to the Sensor controller or vice versa. Doing so won’t just fail; it will likely lock up the system so hard it may require a manual USB recovery and a very patient afternoon. Verify your file names twice before clicking that “Update” button!

<- Previous: Advanced Tech Info Next: Configuration Files ->

Copyright © 2026 Resinchem Tech. Firmware documentation for personal use. Commercial use, republishing or embedding prohibited.

This site uses Just the Docs, a documentation theme for Jekyll.