MorphingClockQX: A Dynamic LED Clock using ESP8266 and Matrix LED Panels



In this exciting project, I took inspiration from the innovative Morphing Clock, originally created by Harry and Gary Quiring, which is renowned for displaying smooth numeric transitions on a vibrant 64x128 Matrix LED panel and ESP8266. My goal was to extend this and create a larger, more feature-rich version, which I named MorphingClockQX. By redesigning the digit fonts and enhancing their morphing transitions, I achieved a visually appealing and larger clock display using two LED panels.
One of the main challenges in this project was ensuring accurate and reliable timekeeping. Originally, the clock synchronized its time solely via the internet, which could sometimes lead to inaccuracies or interruptions by tracking with ESP8266 crystal. To solve this issue, I integrated a DS3231 Real-Time Clock (RTC) module that communicates using the I²C protocol, ensuring precise time tracking even when the internet connection is unavailable.
To enhance user convenience, I incorporated a Wi-Fi Manager system. This innovative addition enables the clock to generate its own hotspot when it’s unable to connect to a known Wi-Fi network. Users can then easily connect to this hotspot, access a temporary web interface, and input their Wi-Fi credentials. This seamless approach significantly simplifies the setup process.
Furthermore, I implemented features for both automatic and manual synchronization of the clock. The automatic sync ensures the clock updates regularly, maintaining accuracy, while the manual sync provides users with immediate control in case of discrepancies.
Recognizing the need for additional information display, I optimized the layout to include optional space on the left side of the LED panel. This dedicated area elegantly presents the current date and local weather conditions. Additionally, considering localization, I developed a custom Persian date calculation function, enabling the clock to display accurate Persian calendar dates, which is calculated entirely locally on the device without external dependencies.
Here's an example showcasing the smooth font transitions:
For those interested in seeing this innovative clock in action, I've prepared a detailed video demonstration on YouTube:
[Insert YouTube link here]
To further encourage innovation and collaboration, I've shared the entire project, including the source code and the PCB design necessary for assembling all hardware components:
[Insert source code and PCB design link]
More photos :
This project significantly advanced my coding and development skills. It taught me the nuances of reading, interpreting, and extending existing codebases while adding meaningful and practical new features. Working on MorphingClockQX not only refined my technical skills but also deepened my understanding of user-centric design and hardware integration.