The hardware for this project is the 2018 Thotcon 0x9 badge, which is itself a spin on the Sparkfun ESP8266 Thing (https://www.sparkfun.com/products/13231), a breakout / development board for the ESP8266 WiFi SoC. Onboard is a 128x64 UC1701 graphic LCD display and 3 tactile buttons. The badge's stock firmware can be found here (https://github.com/poplicola/Thotcon-0x9/)
My project started as just a NTP updated desk clock, but shortly evolved to include reading the current color from the Cheerlights project (https://cheerlights.com/). I have another project in the works to show the current cheerlights color in a unique way, and was using this as my prototype for that other project.
The badge boots up, joins my WiFi LAN, connects to an NTP server and retrieves the current time, then connects to the Cheerlights MQTT server. Every time a new color is broadcast in the cheerlights topic, the name of that color is displayed on the LCD, as well as on a simple web page hosted by by the badge.
I am not doing anything with the buttons yet, but could easily use them to change modes / pages on the LCD. There are a few more timezone and daylight saving time settings I want to add to this project as well.
My code is provided here (https://github.com/gigawatts/thotcon0x9-ntp-clock)