Tasmota is a monolithic firmware application for ESP8266/ESP32 microcontrollers that enables local control of IoT devices via MQTT, HTTP, Serial, or KNX protocols. It provides a web-based configuration interface, OTA update capabilities, automation features (timers/rules), and runtime extensibility through the Berry scripting language. The architecture integrates numerous hardware drivers, networking stacks, GUI components (LVGL), audio processing, and cryptographic implementations into a single firmware image built with PlatformIO. Key entry points include the web server for configuration, MQTT client for telemetry/control, serial command interface, OTA update mechanism, and hardware abstraction layer for peripherals. Data flows involve configuration persistence, sensor telemetry transmission, command reception for actuator control, and firmware update streams.
This repository provides ESPHome components for integrating the Xiaomi Mijia Bedside Lamp 2 with Home Assistant. It enables full control of the lamp's RGBWW LEDs, front panel touch interface (buttons and slider), and illumination through custom ESPHome components. The firmware replaces the original Xiaomi firmware to eliminate cloud dependencies and enable local-only control. The architecture follows ESPHome's component model with hardware abstraction layers (HAL) for light control and front panel I2C communication. Key features include individually controllable front panel LEDs, light presets with group support, disco mode for immediate updates, night light calibration, and smooth color transitions with hardware-aware handling of low-brightness limitations. The design emphasizes separation of concerns, with distinct modules for color handling, state management, and event processing. Notable technical implementations include a Chain of Responsibility pattern for handling different light modes (off, night, RGB, white), a flexible preset system with group-based activation, and specialized transition handling that avoids attempting smooth color changes at very low brightness levels where the hardware cannot perform them reliably. The firmware maintains compatibility with modern ESPHome versions through active maintenance and timely adaptation to API changes.
HomePlate is embedded firmware for Soldered Inkplate e-paper displays, turning them into wall-mountable smart dashboards. It connects via WiFi to Home Assistant (through MQTT and screenshots) or TRMNL to display content such as Home Assistant dashboards, TRMNL screens, custom images, QR codes, and text messages. The firmware is built on PlatformIO with FreeRTOS, supporting deep sleep for battery life, OTA updates, and a captive portal web configurator. It uses MQTT for Home Assistant discovery, exposing sensors (WiFi RSSI, battery, temperature) and config entities. The architecture is activity-driven: an activity queue dispatches display modes (HomeAssistant, Trmnl, Info, etc.) triggered by MQTT, timers, or physical buttons. Power management is a core focus, with configurable sleep schedules, a wakelock system for critical operations, and always-on mode. The codebase is well-organized, includes unit tests, and has reusable components like a buffer stream wrapper and sleep scheduling logic. It is actively maintained with CI/CD, releases, and a web installer.