The clock face's circumference is 1.0675 meters, which is just a few centimeters too long for a 1-meter LED strip. Rather than cutting 60 LEDs apart and spacing them by hand, I 3D printed a plastic ring and attached it to the back of the clock face. The LEDs light up the wall behind the clock.
An ESP8266 controls the lights using Adafruit's NeoPixel library and synchronizes with an NTP server to keep accurate time. Between synchronizations, it uses the Arduino Time library with no external RTC. To detect the time zone, it uses an IP address geolocation service coupled with a time zone lookup service.
I also made a simple web interface to control the timezone, colors, brightness, etc.
(Thankfully, my university recently installed a WiFI network specifically for the Internet of Things, which is perfect for this project.)
Acknowledgments:
- My sister Stephanie for giving me the original clock
- Byron and Hanway for helping with the electrical debugging and soldering
- Colten and Andrew from the fab lab for helping me design and build/print the backing
- Daniel for shipping me the 3D printed parts