Skip to content

This is an NTP clock built on an ESP8266 & five MAX7219 connected in series

Notifications You must be signed in to change notification settings

enjoyneering/MatrixClock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

license-badge version stars hit-count github-issues

MatrixClock

This is an NTP clock built on an ESP8266 & five MAX7219 or MAX7221 connected in series.

alt text

  • automatic synchronization with NTP servers or manually with browser time
  • automatic Daylight Saving Time
  • three fonts to choose from
  • show weather from OpenWeatherMap (for 5 seconds, every 10 seconds)
  • control the brightness of the display by sunrise/sunset or from 8am to 8pm if there is no OpenWeatherMap account
  • web interface Bootstrap + jQuery
  • updating the firmware and file system image via the web interface
  • DFPlayer Mini as daily alarm and hourly chime
  • individual volume for daily alarm and hourly chime
  • hourly chime with a choice of 10 tracks and an interval setting
  • daily alarm clock with a choice of 10 tracks and a smooth increase in volume
  • bonus, a simple mp3 player with saving the current track number in RTC memory
  • bonus, OpenWeatherMap recorder (logger) with charts

The software is provided "AS IS" without warranty of any kind

  • Download Flash Download Tools from here
  • Download MatrixClock *.bin files
  • In Flash Download Tools:
    • set SPI speed 80MHz
    • set SPI Mode QIO
    • set Flash Size 32Mbit
    • check DoNotChgBin
    • fw_latest.bin at address 0x00000
    • fs_latest.bin at address 0x200000
  • Connect any ESP8266 with QIO 4MB flash to USB, select COM port & baud rate than press Start

alt text

  • Connect five MAX7219 or MAX7221 as follows:
    • GPIO13/D7 to DIN/MOSI
    • GPIO14/D5 to CLK/SCLK
    • GPIO15/D8 to CS (can be changed via the WEB interface after)
    • Vcc to +4.0v..+5.0v
    • Gnd to Gnd
    • recommend changing the resistor R1 from 10K to 59K (for 2.5V/10mA LEDs) or to 25K (for 2.5V/20mA LEDs)
  • Connect DFPlayer Mini (YX5200, YX5300, JL AAxxxx or GD3200B) as follows:
    • GPIO5/D1 to RX
    • GPIO4/D2 to TX
    • Vcc to +3.2v..+5.0v
    • Gnd to Gnd
    • 2W/4ohm speaker to SPK1 and SPK2
    • put files from mp3_sd_root folder to SD card, up to 36GB formatted as FAT16 or FAT32
    • if you hear loud noise, add a 1K resistor between GPIO4/D2 and TX pins
    • recommended to set the jumper to the STBY-> BUSY position
  • Voltage
    • to show the correct voltage, change the resistor R1 on the WeMos D1 Mini from 220K to 470K, then connect pin A0 to pin 3V3

alt text

  • Connect to MatrixClock WiFi access point using password 12345678
  • Type in browser http://192.168.4.1/
  • Put User Name: admin and Password: 12345678
  • For security purposes, please change login/password for the access point Settings -> Access Point Config and Settings -> Server Config page then click Save
  • If MatrixClock screen doesn't blink 5 times and doesn't show time go to Matrix Driver Config page and rearrange CS pin according to your schematic then click Save and Reboot. Make sure GPIO13/D7 connected to DIN/MOSI and GPIO14/D5 to CLK/SCLK
  • Set WiFi Network name and password in Settings -> Station Config page than click Save and Reboot
  • The MatrixClock will connect to the WiFi network and MatrixClock access point will disappear
  • Type in browser http://matrixclock.local/ (use IP address instead of mDNS on Android and Win7 devices, address can be found in the UART logs at speed 115200bps)
  • Go to Time or Settings -> NTP Config and set your timezone than click Save and Reboot
  • Get free API key from OpenWeatherMap and put it in corresponding field on Settings -> Weather Config page, set other filds than click Save and Reboot. Matrix Clock now updates the current weather every 2.5 minutes and shows the weather icon and temperature for 5 seconds every 10 seconds.

Used library:

alt text

Releases

No releases published

Packages

No packages published