Wordclock with WS2812B RGB LED modules driven by an ESP8266 module
This is my interpretation of the popular wordclock project. Key features:
- runs on ESP8266 (ESP-07)
- using Arduino framework
- 114 WS2812B LEDs (driven by AdaFruit_NeoPixel library)
- WiFi connected
- WiFiManager allows for easy configuration when WiFi network is not yet configured
- NTP client regularly fetches time
- integrated web server handles configuration interface for colors, time server etc.
- automatic brightness using LDR
The clock is built into an IKEA Ribba picture frame (€5), the front plate is screen printed to get fully opaque and sharp mask. The time is displayed using words with five minute resolution and the LEDs in the four corners display the minutes between the word changes. Seconds are visualized using the background slowly filling with an alternative color (configurable using the Web interface).
The configuration interface is accessible using any browser at the URL http://wordclock.local and allows to change foreground color, background color, the seconds progress color and other options.
The ESP8266 has been wired in dead bug style, I didn't bother to create a PCB for that. Modules with integrated voltage regulator, buttons, USB and LDR would have been a better option, but delivery from China is so slow and I didn't want to wait that long. The WS2812B LEDs are wired using thin copper wire. When fully powered, the voltage drop on the power wires is quite high and the last LEDs in the chain don't get enough voltage and stop responding. In the next version, I will use thicker wire for the power lines.
The base for the LEDs is made of MDF milled on my CNC mill. It consists of a 12 mm back plate with holes and small rims for the LEDs to rest on and a 12 mm front plate having holes with equal diameter. I added a first diffusor of thin paper between the two plates (to make the LED less visible) and painted the inside of the holes white. On top I added a second diffusor (plastic foil) so the light tunnel gets invisible.