ESP8266 LED Matrix Clock

by ZaNgAbY in Circuits > Arduino

43191 Views, 147 Favorites, 0 Comments

ESP8266 LED Matrix Clock

IMG_20180704_101543.jpg

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.

NEW ! ESP32 version also available

Parts and Tools

5-5mm-x-2-1mm-FEMALE-PANEL-MOUNT-DC-POWER-Supply-Adapter-Metal-JACK.jpg
black_window_tint.jpg
USB-Port-to-5-5mm-2-1mm-5V-DC-Barrel-Jack-Power-Cable.jpg
ds3231-rtc-module-cr2032.jpg
dupont.jpg
ESP12.jpg
MAX7219.jpg
pasta_jar.jpg

First let's see what we need.

Parts:

  • 6 x 8x8 MAX7219 LED Matrix Banggood
  • 1 x RTC DS3231
  • 1 x ESP12 Board Bangood
  • 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 Bangood

Tools:

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

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

Preparing the LED Matrix

IMG_20180625_222506_1.jpg
IMG_20180625_222318.jpg

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.

Connect the LED Matrix Display and the RTC to the ESP8266

IMG_20180625_222553.jpg
trace_cut.png
clock_bb.png

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.

Flash the ESP8266 Module

Arduino_ide.jpg

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

Downloads

Apply the Solar Film on the Pasta Jar

IMG_20180626_231536_1.jpg
stanley-knive.jpg
IMG_20180703_210507_HDR.jpg
IMG_20180703_210557_HDR.jpg

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.

Prepare the DC Power Supply Metal Jack

IMG_20180627_224628_1.jpg
IMG_20180627_230318_1.jpg
IMG_20180627_230335_1.jpg

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.

Putting Everything Together

IMG_20180703_205931_1.jpg
IMG_20180703_213935_HDR.jpg
consumption.png
ESP8266 LED Matrix Clock

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 !

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!