/wordclock

ESP32 based DIY word clock project

Primary LanguageCApache License 2.0Apache-2.0

Wordclock

ESP32 based DIY wordclock project

TL;DR: check out this ✨demo video


Another take on the classic DIY word clock. This one requires a laser cutter but promises a very clean result and is quite cheap to make (about 50 €) while being feature packed with its 11x10 RGB LED matrix, RTC module (time setting survives power loss), light sensor, WiFi connectivity and more.

This project was designed for the tools available in our makerspace. The largest square that can be cut in an Epilog Mini laser cutter is approximately 30x30cm, so the clock is designed around that constraint.


Table of Contents

Project overview

Hardware

Building the clock from scratch involves mostly laser cutting and soldering. It is not technically challenging if you have basic soldering skills (and access to a laser cutter), but it does take time on both fronts. The project's hardware can be broken down in 3 major elements:

  • The faceplate is a glass panel from a cheap picture frame, that is spray painted on its back, then laser etched to mark the letters. The templates and instructions are located in the faceplate subdirectory.
  • The frame is a sandwich of laser-cut MDF boards. If could also be done with CEC or 3d printing. It holds everything together and most importantly the LED matrix. It has little wells for each LED to channel the light to the letters on the faceplate. The templates and assembly instructions are located in the frame subdirectory.
  • The electronics revolve around a WiFI enabled ESP32 development board and a matrix of 114 LEDs made from an LED strip. There is also an RTC module to keep track of time, and a light sensor (LDR). The schematics and instructions for assembly are located in the electronics subdirectory.

You can oviously choose to customize any of the provided templates to eg create a different faceplate, or adapt the frame to your specific needs (change the LED layout, add extra sensors, etc).

Software

The provided source code is using Arduino IDE with the arduino-esp32 library and a few others. It runs a web server though a WiFi captive portal in order to easily configure the clock from a computer or smartphone, and perform OTA firmware update (demo video).

It is, of course, possible to ditch that code entirely and use ESPHome or MicroPython instead.

Bill Of Materials

Electronics

Designation Sample purchase link Price
ESP32 (WROOM32) microcontroller amazon.fr 5,99 €
DS3231 RTC module amazon.fr 3,66 €
Level shifter 3.3 -> 5v amazon.fr 0,80 €
RGB addressable LEDs (WS2812), 60 per meter, 2 meters roll aliexpress.com 4,17 €
1000 uF capacitor amazon.fr 0,40 €
Power supply (5V, 6A) aliexpress.com 6,99 €
Female barrel plug amazon.fr 0,86 €
Light dependent resistor (LDR 5537) amazon.fr 0,08 €
Resistor 10k
Perfboard conrad.fr 3,36 €
Breakaway header pins amazon.fr 0,14 €
Wiring (silicon coating is recommended)
Solder
Kapton + Electrical tape
Heatshrink tubing
Hot glue gun + glue sticks

Frame

Designation Sample purchase link Price
MDF boards, ~30.5 cm by 30.5+ cm, 3mm and 6mm thick 615mm x 310mm boards, cut at Leroy Merlin 5€
Picture frame with glass panel, 30 by 30 cm leroymerlin.fr 2,99 €
Wood glue
Clamps
Spray paint (acrylic)
Edgeband
1mm black felt layer amazon.fr 1,11 €
Ultra low profile VELCRO® strip or similar amazon.fr 26 €
Black adhesive vinyl (just a small sheet)
Copper tape 51mm X 20m (optional) amazon.fr 18,98 €