Quick quiz: How many ESP8266 modules do you need to make an LED clock? Hint: a clock displays 12 hours.
Nope! Twelve is not the answer. But that didn’t stop Hackaday.io user [tamberg] from building a 12-ESP clock during the Bilbao, Spain Maker Faire. The “advantage” of using so many ESP8266s is that each one can independently control one hour LED and its associated slice of five minute-marker LEDs. Each ESP fetches the time over the Internet, but only lights up when it’s time.
It’s like parallel processing or something. Or maybe it’s redundant and failsafe. Or maybe it’s just an attempt to put the maximum Internet into one Thing. Maybe they had a team of twelve people and wanted to split up the load evenly. (We couldn’t think of a real reason you’d want to do this.)
All snark aside, the project looks great as you can see in this Flickr gallery, and all of the design files are available if you’d like to re-use any parts of this project. We’re thinking that the clock face is pretty cool.
The code for each unit is available for your perusal. On line 13, you can see where they set a variable (in firmware) that tells each ESP which hour it represents.
More interestingly, starting around line 38 is a cute trick to extract the time from the nearest Google server. Basically, the Goog returns a “Date:” string, and the code reads it. Read more on that technique over on the ESP forum.
Commenteers, fire up your “overkill” lasers; we like the project for everything that it does right. At least it’s not a chainsaw-powered flashlight.
The Flickr video seen above has this description:
Each ESP controls a 5 minute slice of the clock. On boot-up, there’s no connection (orange). Once connected to the WiFi network (blue), each ESP polls the currrent time with a simple HEAD Web request to google.com, then displays its part of the clock (blue or pink, minutes green). Note the “glitches” due to the independent operation of the slices (plus a programming bug in slice 0, fixed later). The red button was supposed to show a heartbeat and reset all ESPs, but there was not enough time to implement this. For this video, the clock displays seconds, instead of minutes, as does the finished version.