Description

ESPClock will be an open-source, Wi-Fi connected digital clock powered by ESP32 and ESPHome, designed to seamlessly integrate with Home Assistant. Featuring a 3D-printable case, the clock combines modern style with smart home functionality.

Goals

Key features:

  • real-time clock
  • native Home Assistant integration
  • optional sensors for temperature, humidity and ambient light
  • custom 3D-printable case
  • open-source firmware and hardware design
  • easy YAML-based configuration

Resources

  1. https://esphome.io/
  2. https://gist.github.com/baierjan/773e20a5061780f0a27ed86619dbffba

The Hacking

Chapter 1: Inventory

After thoroughly inspecting my closet, I managed to gather a handful of useful components. I decided to keep things simple and avoid making the project unnecessarily complex, opting for ready-made modules instead of assembling everything from individual parts. This approach saves time and reduces the chances of compatibility issues. The components I settled on are:

  • Microcontroller: ESP32-LPkit
  • 4-digit 7-segment display with integrated controller: TM1637
  • Temperature and humidity sensor: DHT22
  • Carbon dioxide sensor: MH-Z19
  • PIR motion sensor: AM312
  • Illumination sensor: VEML7700
  • I2S-compatible microphone module: SPH0645LM4H
  • A couple of micro switches
  • A few LED diodes with appropriate resistors

With this list, the essential environmental parameters should be well covered. The clock’s main function—displaying the current time—is handled by the bright 0.56-inch display. Additionally, the setup provides simple input options through buttons and possibly even voice commands in the future.

Chapter 2: Wiring Diagram

I went through the datasheets for all the components to determine the most effective way to connect them. After comparing different options and checking for compatibility, I finalized the following wiring diagram.

Chapter 3: Firmware

For the software part, I decided to use ESPHome, which offers an easy and reliable way to integrate the clock with Home Assistant. All the components from the inventory are natively supported, so there is no need to write much additional code.

The following example shows how the YAML configuration for the clock may look: espclock.yaml

esphome:
  name: esp-430930
  friendly_name: ESPClock
  comment: ESP based smart digital clock

esp32:
  board: esp32dev
  framework:
    type: esp-idf

logger:
  baud_rate: 0

packages:
  - !include common/connection.yaml

i2c:
  - sda: GPIO21
    scl: GPIO22

i2s_audio:
  - i2s_bclk_pin: GPIO27
    i2s_lrclk_pin: GPIO25

uart:
  - rx_pin: GPIO3
    tx_pin: GPIO1
    baud_rate: 9600

sensor:
  - platform: dht
    model: DHT22
    pin: GPIO14
    temperature: 
      name: Temperature
      accuracy_decimals: 1
    humidity: 
      name: Humidity
      accuracy_decimals: 0
    update_interval: 60s
  - platform: veml7700
  - platform: mhz19

binary_sensor:
  - platform: gpio
    id: am312
    pin: GPIO34
    device_class: motion
  - platform: gpio
    id: switch_1
    pin: GPIO13
  - platform: gpio
    id: switch_2
    pin: GPIO35

microphone:
  - platform: i2s_audio
    adc_type: external
    i2s_din_pin: GPIO26

display:
  - platform: tm1637
    clk_pin: GPIO32
    dio_pin: GPIO33

output:
  - platform: gpio
    id: red_output
    pin: GPIO17
  - platform: gpio
    id: yellow_output
    pin: GPIO16
  - platform: gpio
    id: green_output
    pin: GPIO4

light:
  - platform: binary
    output: red_output
    id: red_light
  - platform: binary
    output: yellow_output
    id: yellow_light
  - platform: binary
    output: green_output
    id: green_light

Chapter 4: Case Design

This part of the project is still a work in progress. I’m currently exploring different design ideas to create a case that complements both the functionality and appearance of the clock.

Looking for hackers with the skills:

esp32 home-assistant homeassistant 3d-printing 3dprint kicad

This project is part of:

Hack Week 25

Activity

  • 2 days ago: jbaier_cz added keyword "esp32" to this project.
  • 2 days ago: jbaier_cz added keyword "home-assistant" to this project.
  • 2 days ago: jbaier_cz added keyword "homeassistant" to this project.
  • 2 days ago: jbaier_cz added keyword "3d-printing" to this project.
  • 2 days ago: jbaier_cz added keyword "3dprint" to this project.
  • 2 days ago: jbaier_cz added keyword "kicad" to this project.
  • 10 days ago: rsimai liked this project.
  • 11 days ago: opithart liked this project.
  • 11 days ago: pdostal liked this project.
  • 12 days ago: frantisek.simorda liked this project.
  • 13 days ago: pvlasin liked this project.
  • 17 days ago: michals liked this project.
  • 18 days ago: dpopov liked this project.
  • 19 days ago: emiler liked this project.
  • 24 days ago: jbaier_cz started this project.
  • 24 days ago: jbaier_cz originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    Capyboard, ESP32 Development Board for Education by emiler

    Capyboard is an ESP32 development board built to accept individual custom-made modules. The board is created primarily for use in education, where you want to focus on embedded programming instead of spending time with connecting cables and parts on a breadboard, as you would with Arduino and other such devices. The board is not limited only to education and it can be used to build, for instance, a very powerful internal meteo-station and so on.

    Hack Week 25

    My plan is to create a new revision of the board with updated dimensions and possibly even use a new ESP32 with Zigbee/Thread support. I also want to create an extensive library of example projects and expand the documentation. It would be nice to also design additional modules, such as multiplexer or an environment module.

    Goals

    • Implement changes to a new board revision
    • Design additional modules
    • Expand documentation and examples
    • Migrate documentation backend from MkDocs to Zensical

    Hack Week 24

    I created a new motherboard revision after testing my previous prototype, as well as a light module. This project was also a part of my master's thesis, which was defended successfully.

    Goals

    • Finish testing of a new prototype
    • Publish source files
    • Documentation completion
    • Finish writing thesis


    Play with esp32 to create domotics stuff by aginies

    Description

    Play with ESP32 board and multiple small peripherals

    https://github.com/aginies/domotique

    Goals

    • Finish the pool project
    • add support of NFC auth in the door project
    • improve the doc
    • project to manage solar panel (router)

    Resources

    esp32 home


    Smart-Home Reverse Engineering and Automation by pstivanin

    Description

    This project focuses on expanding smart-home automation by reverse-engineering several closed systems, developing missing integrations, and unifying them into a fully automated Home Assistant environment. The work includes protocol analysis, custom API design, and deep automation logic, combined with improvements to monitoring and camera workflows. The outcome will be a coherent ecosystem with enhanced control, transparency, and automation for heating, circulation, security, and access systems.

    Goals

    Samsung EHS

    • Add the Elfin-EW11 to the hydronic module (F1/F2)
    • Install the EHS integration and set it up
    • Add automation and dashboards for anti-legionella, temperatures, COP, etc

    Grundfos Recirculation Pump

    • Disassemble the pump and add the custom PCB
    • Write ESPHome firmware
    • Integrate the pump into HA with simple and advanced automation modes (e.g. shower, anti-legionella, etc)

    External Gate Automation

    • Add two Shelly relays (pedestrian + full-open).
    • Implement arrival automation, remote access, and safety timers.

    Extra goals

    • Look into influxdb and grafana for storing long term data like PV
    • Look into an outdoor air quality monitor so that I can better control my CMV

    Done

    Garage Door Automation

    • Add a Shelly relay for control
    • Add optional open/close detection.
    • Implement routines such as auto-close, geofence open, timeout warning.

    Camera Dashboard

    • Add WebRTC real-time feeds.
    • Add controls for lights, sirens, strobe, and presets.
    • Create a multi-camera layout optimized for mobile and desktop.
    • Show IVS events (tripwire, intrusion).

    Pellet Stove

    • Reverse engineer the WINET protocol.
    • Implement structured sensor parsing (temperatures, status, alarms).
    • Implement command support for ON/OFF, power level, fan, and shutdown.
    • Create robust automations for daily routines and error handling.

    Dahua Event Proxy Server


    Hack / Access old Freebox Delta wifi webcam by fcrozat

    Description

    French ISP Free was providing a wifi webcam which would integrate with their alarm offering but could only be used with one version of their fiber modem.

    I've switch to a new generation of modem and the alarm offering is gone but I still own the webcam which is not usable anymore.

    Goals

    Try to get access to the webcam feed (either reprovision it or access its video feed) to integrate it on Home Assistant.

    Resources


    Expand home assistant support for Freebox / Iliadbox modem by fcrozat

    Description

    My ISP (Free) fiber modem (Freebox) has a pretty rich API to control and monitor it.

    It is currently supported in Home Assistant but not to the full extend of the available API, including additional Wifi repeaters.

    Goals

    Adding support for Wifi repeaters linked to the ISP modem in Home Assistant.

    Resources

    https://dev.freebox.fr/sdk/os/ (old version of the API) the latest version of the api is only available from the modem webUI atm


    Smart-Home Reverse Engineering and Automation by pstivanin

    Description

    This project focuses on expanding smart-home automation by reverse-engineering several closed systems, developing missing integrations, and unifying them into a fully automated Home Assistant environment. The work includes protocol analysis, custom API design, and deep automation logic, combined with improvements to monitoring and camera workflows. The outcome will be a coherent ecosystem with enhanced control, transparency, and automation for heating, circulation, security, and access systems.

    Goals

    Samsung EHS

    • Add the Elfin-EW11 to the hydronic module (F1/F2)
    • Install the EHS integration and set it up
    • Add automation and dashboards for anti-legionella, temperatures, COP, etc

    Grundfos Recirculation Pump

    • Disassemble the pump and add the custom PCB
    • Write ESPHome firmware
    • Integrate the pump into HA with simple and advanced automation modes (e.g. shower, anti-legionella, etc)

    External Gate Automation

    • Add two Shelly relays (pedestrian + full-open).
    • Implement arrival automation, remote access, and safety timers.

    Extra goals

    • Look into influxdb and grafana for storing long term data like PV
    • Look into an outdoor air quality monitor so that I can better control my CMV

    Done

    Garage Door Automation

    • Add a Shelly relay for control
    • Add optional open/close detection.
    • Implement routines such as auto-close, geofence open, timeout warning.

    Camera Dashboard

    • Add WebRTC real-time feeds.
    • Add controls for lights, sirens, strobe, and presets.
    • Create a multi-camera layout optimized for mobile and desktop.
    • Show IVS events (tripwire, intrusion).

    Pellet Stove

    • Reverse engineer the WINET protocol.
    • Implement structured sensor parsing (temperatures, status, alarms).
    • Implement command support for ON/OFF, power level, fan, and shutdown.
    • Create robust automations for daily routines and error handling.

    Dahua Event Proxy Server


    Expand home assistant support for Freebox / Iliadbox modem by fcrozat

    Description

    My ISP (Free) fiber modem (Freebox) has a pretty rich API to control and monitor it.

    It is currently supported in Home Assistant but not to the full extend of the available API, including additional Wifi repeaters.

    Goals

    Adding support for Wifi repeaters linked to the ISP modem in Home Assistant.

    Resources

    https://dev.freebox.fr/sdk/os/ (old version of the API) the latest version of the api is only available from the modem webUI atm


    Play with esp32 to create domotics stuff by aginies

    Description

    Play with ESP32 board and multiple small peripherals

    https://github.com/aginies/domotique

    Goals

    • Finish the pool project
    • add support of NFC auth in the door project
    • improve the doc
    • project to manage solar panel (router)

    Resources

    esp32 home


    Build a Single Camera 3D Scanner (Photogrammetry). by lparkin

    Description

    I want to see how fast I can develop a single-camera (pi camera module v3) rig with a stepper motor controlling a turntable that rotates the model being scanned. The trick here is not to be super fancy with 100's of sensors and data inputs, quite the opposite. I want to see how accurate I can scan objects into 3D-printable models using only a camera and as many fixed and known parameters as possible.

    Speed to be augmented with agentic AI coding companion. As it stands, I have a 3D printer, pretty much all the electronics I need.

    Goals

    • Design and print working/workable camera rig
    • Design and print working/workable turntable (considering printing my own cylinder-style bearings as well)
    • Assemble rig components into MVP assembly
    • Develop application that can hook into existing tools, or leverage a library like openCV, to process 2D images into a 3D model.
    • Iterate until models are good enough to 3D print.

    Resources

    • https://www.instructables.com/3D-scanning-Photogrammetry-with-a-rotating-platfor/
    • https://www.instructables.com/3d-Scan-Anything-Using-Just-a-Camera/
    • https://www.instructables.com/Build-a-DIY-Desktop-3d-Scanner-With-Infinite-Resol/
    • https://www.instructables.com/3D-Laser-Scanning-DIY/


    Discover 3d printing tools and improve integration in Linux desktop and flatpak by fcrozat

    Description

    Owner of a first 3d printing for some weeks (Bambulab P2S), I want to learn a bit more about the various tools to use it and, if needed, make sure they work fine in Linux desktop with flatpak.

    Goals

    Test the following tools: slicers: Bambu Studio, Orca Slicer addons: Bambu Connect design: Blender, Freecad, Fusion 360

    See if they can work fine on Aeon using Flatpak and try to improve integration in Linux desktop

    Resources

    • https://wiki.bambulab.com/en/software/bambu-studio/studio-quick-start
    • https://wiki.bambulab.com/en/software/bambu-connect
    • https://www.orcaslicer.com/
    • https://www.blender.org/
    • https://www.freecad.org/
    • https://www.autodesk.com/products/fusion-360/personal
    • Spoolman
    • Spoolman integration in Home Assistant


    Discover 3d printing tools and improve integration in Linux desktop and flatpak by fcrozat

    Description

    Owner of a first 3d printing for some weeks (Bambulab P2S), I want to learn a bit more about the various tools to use it and, if needed, make sure they work fine in Linux desktop with flatpak.

    Goals

    Test the following tools: slicers: Bambu Studio, Orca Slicer addons: Bambu Connect design: Blender, Freecad, Fusion 360

    See if they can work fine on Aeon using Flatpak and try to improve integration in Linux desktop

    Resources

    • https://wiki.bambulab.com/en/software/bambu-studio/studio-quick-start
    • https://wiki.bambulab.com/en/software/bambu-connect
    • https://www.orcaslicer.com/
    • https://www.blender.org/
    • https://www.freecad.org/
    • https://www.autodesk.com/products/fusion-360/personal
    • Spoolman
    • Spoolman integration in Home Assistant