DIY ESP8266 Led Matrix Clock Kit

Entry-level DIY kit, designed as fun activity one can complete in one evening

Public Chat
Similar projects worth following
Starting from
andrey-malyshenko has 764 orders / 23reviews
Ships from Poland
This entry level Kit as quick and simple to-it-together activity for soldering education and just for fun. I designed it to assemble it together with my 6-years old son. End result is internet-synchronized digital clock, that helps my son to learn clocks and helps me sleep better, by hearing less of "Is it morning already, dad?" at 6 am.
  • ESPHome and LED Matrix clock

    andriy.malyshenko05/27/2024 at 20:35 0 comments

    Recently I discovered some ESPHome capabilities when combined with Home Assistant installation. Actually, I was working on some ESP32-based TFT screen with weather information, but then there was the "why not" moment. 

    End result looks like this. The fun part is that you can additionally push any message you'd like to it. I'm thinking Google Calendar integration coming up...



    As always code is added to the GitHub

  • Automatic time zone configuration

    andriy.malyshenko06/21/2023 at 20:21 0 comments

    When I did this clock project for myself I didn't realize that you'd need to configure time zone settings more than once. But after I start selling those on Tindie few people asked some advice on how to configure time zone without re-flashing firmware.

    Although re-flashing LED clock if a good educational exercise, it make perfect sense to allow configuring TZ on the fly, by changing settings via UI. After some thinking I found even better way to approach this.

    In the latest version clock will just request timezone settings based on location (and powered by IP geo-location services obviously). I'm still testing the whole flow, but so far it works perfectly.

    I did few smaller improvements along the way, mostly to address other issues people contacted me about.

    So now if Wifi connection is not available Clock will invite you on the screen to connect to the configuration AP. Also it will sync the clock little more often to pick up daylight saving time changes.

  • Laser cut acrylic panel

    andriy.malyshenko04/25/2023 at 20:38 0 comments

    I love my clock ;) I have one just above my desk. Another one in kids bedroom. And another one at my mother's house. One thing that bothered me - absence of a case. I could make a 3D-printed case, but frankly always lacking time to do a good design. I can do some design in an evening, but to make a good design takes much more.

    I decided to take a shortcut and order a acrylic case for now. It quite cheap (when ordered in quantities) and it actually looks surprisingly good. Bonus: Now I can keep the clock on the top of my display.

  • 3 colors available

    andriy.malyshenko12/21/2022 at 14:17 0 comments

    Quick update, as requested by few Tindie customers, clock now available in 3 colors, blue being brightest one, and green most deem.

    And more importantly, it can play Game of Life, when it is not too busy being clock!

    Latest code as usual at gihub

View all 4 project logs

  • 1
    Start by checking all parts are present

    Make sure that all parts came in good shape and no apparent damage is done on the way.

  • 2
    Solder two 5-pin male headers to the screen

    Disconnect 2 edge led matrix modules from the screen. Be careful not to bend the pins, otherwise it would be a lot of dancing to put them back later on. Don't worry about orientation, they have markings on one side

  • 3
    Solder Wemos D1 module - headers to module first

    Solder headers to the Wemos D1 module. Long part of the header should be directed to the motherboard. Make sure to align them right, use motherboard as an aligning tool.

    Start with just one pin each side and double check your work. Then you can proceed to other pins

View all 10 instructions

Enjoy this project?



MHE wrote 11/15/2023 at 16:34 point

This is a great little project! I do have one question, maybe others have run into similar issues? I've changed the firmware a bit (quite easy to do actually with the platformio VScode plugin!) and I am happy with the result. However, what I find is that the clock is *sometimes* off by (exactly) one hour. If I then reset it, it's on time again. Does anyone have a suggestion to what to look into to solve this.
For reference, what I changed: removed blinking and showing of (scrolling) date, turn off clock (the leds) between certain times (i.e., during the night).

  Are you sure? yes | no

aratansi wrote 06/23/2023 at 12:20 point

what's the buzzer for ?

  Are you sure? yes | no

andriy.malyshenko wrote 06/23/2023 at 13:09 point

You can implement alarm if you'd like to. I didn't do it, not a big fan of buzzer alarms myself.

  Are you sure? yes | no

Robert White wrote 05/09/2023 at 00:21 point

HI Andriy Thanks for the clock module I really love it. I have a question. I connected the clock to my wifi, have changed the time zone and rebuild/uploaded and it is displaying the correct localtime. I now need to move the clock to a new location with a different router. Rebuild/upload leaves the clock looking for the old ssid.I dont seem to be able to connect to the wifi config screen. How do I change the ssid? Thanks Regards Robert

  Are you sure? yes | no

Jim wrote 03/22/2023 at 13:55 point

I have built the kit and this is exactly what I was looking for to put in the ham shack. I have left it running for a while with the serial console attached. I am seeing a problem after 24 hours when it tries to get the next NTP update. When it tries to connect, it gets a "Soft WDT reset" (the watch dog timer kicks off). Looking around a bit, I think the issue might be because the WiFi link sets unused for so long. (There are a couple of different places where I saw reference to similar issues and this seemed to be one common theme.) It doesn't take long for it to reset, get the time, and start running (around 15 seconds based on the original time you see set and the time you see set after the the WDT kicks off). I was going to look at doing a single ping to the local gateway once a minute to see if that kind of network keep alive "heartbeat" would help. It isn't that big of a deal, but it is one of those things will be bother me if I don't dig into it a bit. :-)

  Are you sure? yes | no

andriy.malyshenko wrote 03/22/2023 at 14:28 point

Hi Jim, I have 3 of those clocks running around the clock and never had this issue. I would assume it would depend on your router and if it will accept device back into the network after long absence, as you described. For the quick fix, I'd set Wifi to be live all the time (if you not running of the batteries, that wouldn't make much difference for you anyway). Wonder it that would fix it.

  Are you sure? yes | no

Jim wrote 03/22/2023 at 20:20 point

The WiFi is up the whole time, but some notes I've seen say the ESP8266 has issues sometimes if it goes for a long period (hours) without using WiFi. I did watch things happen today: it freezes (because it was in the middle of scrolling the date just by coincidence) and then resets. On the console I see:

Local time: Tue Mar 21 18:20:49 2023
UTC time:   Tue Mar 21 18:20:49 2023

/* Everything above is from yesterday's connect, below starts 24 hours later */

*wm:Connecting to SAVED AP: dogiron
*wm:connectTimeout not set, ESP waitForConnectResult... 

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Soft WDT reset

/* There is a stack dump, but the fact is the watch dog timer kicked, so it doesn't mean much. */

It resets after all of that and works just like when it was first powered up. There was only a one or two second pause once it started trying to connect and the WDT going off. That plus the message "connectTimeout not set" makes me wonder if the issue is that the connect timer might need to be longer. I'm going to see what happens if I shorten the period for it to try to sync to see if the problem persists (and would be a little easier to troubleshoot if it was happening once an hour instead of once a day).

  Are you sure? yes | no

andriy.malyshenko wrote 03/23/2023 at 09:59 point

Jim, feel free to submit a pull request if you manage to fix it.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates