Skip to content
:material-chip: Open-Source IoT Hardware & Firmware

Open IoT & Smart Home Ecosystem

Modular LEGO-mounted environmental sensor carriers, low-power E-Paper smart clocks, ESPHome fleet firmware, and coordinated Home Assistant automations.

E-Paper Smart Clock & Environmental Sensor

  • What This Ecosystem Is


    • Open Hardware Carriers — Custom KiCad-designed carrier boards sized precisely for LEGO plates (12×6 and 8×6 grids with 4.8 mm stud-hole clearance).
    • Low-Power Telemetry & Clocks — Ambient-aware e-paper displays (1.54", 2.13", 2.9", 4.2", and 5.65" 7-color) updating cleanly via partial refresh and pausing during sleep.
    • Multi-Sensor Environmental Telemetry — Accurate indoor air quality, temperature, barometric pressure, relative humidity, VOC index, light levels, and PM2.5 dust concentrations.
    • 40+ Distributed ESPHome Nodes — Highly dependable fleet running on ESP32-C3, ESP32-C6, ESP32-S3, ESP8266, and ESP8285 with OTA updates and encrypted API connections.
    • Home Assistant Orchestration — Seamless integration with Home Assistant using custom blueprints, adaptive night modes, and Zigbee/MQTT coordination.
  • Design Philosophy


    • No Proprietary Walled Gardens — Zero cloud lock-in. 100% local processing via ESPHome native API and local MQTT brokers.
    • Modular & Repairable — Modular LEGO casing allows instant prototyping, infinite color combinations, wall mounts, and desk stands without 3D printing brittle snap-fits.
    • Power & Ghosting Awareness — Display refresh cycles engineered to eliminate ghosting (full_update_every: 30) while avoiding disruptive screen flicker in living spaces.
    • Standardized Footprints — Interchangeable headers supporting WeAct e-paper modules, Bosch BME280/BME680, Sensirion SGP30/SGP40, and TEMT6000 light sensors.

Architectural Overview

The ecosystem unites custom hardware carriers, edge firmware, and local home orchestration into a robust, self-healing loop:

flowchart TD
    subgraph Hardware ["Custom LEGO Hardware Carriers"]
        S1["Sensor Carrier 12x6<br>(ESP32-C3 SuperMini)"]
        S2["Mini Carrier 8x6<br>(ESP32-C6 SuperMini)"]
        S3["Specialized Nodes<br>(PM2.5 Dust / RGB Trees / Atom 5x5)"]
    end

    subgraph SensorsDisplays ["Sensors & Displays"]
        BME["Bosch BME280 / BME680<br>(Temp, Humidity, Pressure, VOC)"]
        SGP["Sensirion SGP30 / SGP40<br>(Air Quality Index)"]
        TEMT["TEMT6000<br>(Ambient Lux Sensor)"]
        EPD["E-Paper Displays<br>(1.54'', 2.13'', 2.9'', 4.2'', 5.65'')"]
    end

    subgraph Firmware ["ESPHome Firmware Engine"]
        F1["Partial Refresh Logic<br>(5-min SNTP Wall Clock)"]
        F2["Ambient Light Gating<br>(Night Refresh Pause <= 1.0 lx)"]
        F3["Encrypted Native API & Fallback MQTT"]
        F4["Captive Portal & Safe Wireless OTA"]
    end

    subgraph Orchestration ["Home Assistant Core Hub"]
        HA["Home Assistant Core"]
        BP["Custom Blueprints<br>(IKEA Rodret/Trådfri, Ventilation, Night Mode, Alarm)"]
        WF["Weather Forecast JSON & Synced Entities"]
    end

    S1 --> BME & SGP & TEMT & EPD
    S2 --> BME & TEMT & EPD
    Hardware --> Firmware
    Firmware <--> |Encrypted Native API| HA
    HA --> BP
    HA --> |Forecast & Sensor Data| Firmware

Key Project Pillars

  • 12x6 Sensor Board PCB

    Custom Sensor Hardware


    Custom KiCad carrier boards designed to fit LEGO brick dimensions:

    • 12×6 Carrier (rev 3): ESP32-C3 SuperMini, BME280/680, SGP30/40, TEMT6000, 2.13"/1.54" e-paper displays.
    • 8×6 Mini Carrier: ESP32-C6 SuperMini, BME680 SPI, TEMT6000, and 1.54" display.
    • Includes full schematics, Gerber files, and STEP 3D models.

    Browse hardware designs

  • E-paper 3D Render

    E-Paper Display Guide


    Exhaustive documentation on driving SPI e-paper displays in ESPHome:

    • Tested controllers: SSD1680, SSD1681, SSD1683, GooDisplay GDEY042T81, Inkplate 6 Color.
    • Fast monochrome partial refresh (< 0.3s) without screen flashing.
    • Nighttime refresh pause based on ambient light level (TEMT6000 <= 1.0 lx).

    Read e-paper driver notes

  • ESPHome Fleet Network

    ESPHome Node Fleet


    A deployed fleet of 41 production nodes across indoor and outdoor spaces:

    • Celestial & Malebranche naming system: Pluto, Venus, Jupiter, Saturn, Uranus, Moon, Mars, Alichino, Calcabrina, etc.
    • Multi-room climate monitors, PM2.5 dust monitors, holiday lighting strips, and M5Stack Atom Matrix LED displays.

    Explore the 41-node catalog

  • Home Assistant Logo

    Home Assistant & Blueprints


    Automations tying the sensor ecosystem into daily routines:

    • Blueprints for bathroom humidity extraction fans.
    • Ambient-lux-gated motion lighting and dynamic night mode.
    • IKEA Rodret, Somrig, and Trådfri wireless switch event controllers.

    View automation blueprints


Linked Repositories

Repository Platform Description
48broadbent / broadbent GitLab Production ESPHome firmware configurations, e-paper display routines, and fleet deployments.
48broadbent / ha-blueprints GitLab Curated Home Assistant blueprints (humidity extraction, lighting, remotes, alarm).
48broadbent / homeassistant GitLab Central Home Assistant configuration, dashboard YAML, and automations.
m-lego / sensor GitLab KiCad schematics, PCB layout, 3D STEP models, and BOM for 12×6 LEGO multisensor carrier.
m-lego / sensor-1.54 GitLab KiCad PCB design and production BOM for ultra-compact 8×6 LEGO ESP32-C6 sensor board.
alinelena / mlego GitHub Inspiration codebase and style guide for modular LEGO mechanical keyboards & documentation.
alinelena / iot GitHub Source repository and automated build pipeline for this documentation website.