ESP8266 LED Matrix Clock




About: DIY enthusiast.

Intro: ESP8266 LED Matrix Clock

ESP8266 LED Matrix Clock

Simple LED matrix Clock based on the popular ESP8266 with Real Time Clock module and time synchronization over WiFi from an NTP server.

Step 1: Parts and Tools

First let's see what we need.


  • 6 x 8x8 MAX7219 LED Matrix
  • 1 x RTC DS3231
  • 1 x ESP12 Board
  • 1 x pasta jar
  • 1 x 5.5mm X 2.1mm DC Power Supply Metal Jack Panel Mount
  • 1 x USB to 5.5mm X 2.1mm barrel jack 5v dc power cable
  • 1 x Window tint film
  • 11 x female to female dupont wires


  • soldering iron
  • spray bottle
  • hobby knife
  • double sided tape

All the parts can easily be sourced from ebay/aliexpress and/or local stores.

Step 2: Preparing the LED Matrix

I found it easier to buy 2 x 4pcs modules, cut one of them in half and solder it to the other one while maintaining the orientation printed on the PCB.

Step 3: Connect the LED Matrix Display and the RTC to the ESP8266

Solder the pin headers on the modules then use the dupont cables to connect them as follows.

MAX7219 to ESP8266

  • VCC - 3.3V
  • GND - GND
  • CS - D8
  • DIN - D7
  • CLK - D5

DS3231 to ESP8266

  • GND - GND
  • VCC - 3.3V
  • SDA - D1
  • SCL - D2

One note on the RTC module, apparently it also has the ability to charge the battery, however that's not a good idea when using a CR2032. One possible solution would be to cut the trace marked on the image in order to disable the charging part of the circuit. Further information on this can be found here.

Step 4: Flash the ESP8266 Module

Nest step would be to upload the code to the ESP8266.

While the original code can be found here (many thanks to the author !) you can find attached the English version of it.

The upload process is pretty straight forward, just don't forget to update the code with your WiFi credentials.

char ssid[] = "xxxxx";         				// your network SSID (name)
char pass[] = "xxxxx"; // your network password

Step 5: Apply the Solar Film on the Pasta Jar

I've decided to only cover one part of the jar with film to keep the rest of components visible.

After some trial and error I've noticed that the 'secret' is to have both the jar and the film as wet as possible with soapy water to be able to make adjustments as you apply it. Use the spray bottle to keep everything nice and wet and the hobby knife to cut the excess film.

Once it completely dries the film should be pretty well stretched on the jar.

Step 6: Prepare the DC Power Supply Metal Jack

Solder 2 dupont wires to the DC jack. They will be connected to the ESP8266 as follows.

  • + - VIN
  • - - GNG

Drill a whole in the middle of the jar lid and mount the DC jack.

Step 7: Putting Everything Together

To make things a bit more tidy I sticked the RTC and the ESP8266 to the back of the LED display using some double sided tape. Make sure that the modules are not touching any of the LED modules contacts, and if they do, use some electrical tape to cover the contacts in order to avoid any shorts.

Also, in order to make sure the display does not move once I screw back the lid of the jar, I added some tape on the bottom end of it so that is stays in place on the bottom of the jar.

All that remains is to plug the USB cable and that's it !

Step 8: Further Ideas

  • Add a backup battery charged thru a TP4056;
  • Add a temperature and humidity sensor;
  • Design a 3d printed case;
  • Add a light sensor to dim the display at night.

Hope you enjoyed this project and if you have any questions feel free to ask.

Thank you for reading!



    • Audio Contest 2018

      Audio Contest 2018
    • Furniture Contest 2018

      Furniture Contest 2018
    • Fix It! Contest

      Fix It! Contest

    12 Discussions


    Reply 16 days ago


    Please let me know what's missing so I can update the step.



    Question 6 weeks ago on Step 7

    I'm a fairly new maker and love your simple yet elegant design for this clock! Nicely done!

    I do have one, fairly stupid question about the 12 or 24 hour clock design. Is it possible to easily recode to display 12 hour am / pm time? Or will I require an Arduino or something else?

    In other words:
    Instead of the 24hr military style display as seen in your photo? I am planning this to be a gift for some young people and I just want it to be a simple clock. No explaining, etc. lol!

    Please be gentle with me guys and gals, I'm just learning lol.

    I don't want to spend a lot of time and money on this project if I can not make the clock use AM/PM time instead of military (0-24 hr clock).

    Appreciate any constructive, positive based answers to my newbie coding question.

    Thank you to anybody who can help answer this question. It has now just occurred to me, I should probably go take a look at the code for this thing... There may already be notations about 12/24 hour comments in the programming code... Duh Sorry If I wasted anybodys time. I'm posting this because its taken a long while for me to type.

    I am partially paralyzed and suffer from a significant brain injury to boot. We can only try our best and ask questions... Again, I appreciate any helpful comments.

    1 more answer

    Answer 6 weeks ago

    Glad you like this project! Haven't tried this yet, but you might want to play around with these variables:

    const unsigned char _24_hour_format = 0;const unsigned char _12_hour_format = 1;

    7 weeks ago

    It's very nice, but I have a small problem, I found LED Matrix with IC on one side, IE I can't attach matrix together unless I turn them 90 degrees . is there any way that I can rotate numbers which enables me to attach them together?

    3 replies

    Reply 6 weeks ago

    Also if anybody else has answered, could I get their answer posted here please? I also have several of your type of display I would like to use in a similar fashion! Appreciate any suggestions or answers. Thanks!


    Reply 6 weeks ago

    I had the same problem with the displays I already had. But I went to and found the same ones in this tutorial for less than two or three bucks a piece I believe? But, they are shipped from China so it will take a good three weeks or so to get them. Assuming you live in USA. They are for sale on Ebay and Amazon but for considerably more money per unit, if you don't want to wait.

    Hope this helps!


    Reply 6 weeks ago

    You might want to reach out to the author of the sketch for advice on how to do that.