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.
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).
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.
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 |
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 € |