This is my dot matrix clock made with ESP8266 WiFi capable MCU. Accurate time signal is acquired from NTP and weather information is available through Openweathermap.org API.
- 24 hour time display
- NTP sync
- Optional weather data from Openweathermap.org API
- Outside temperature display
- Wind speed display
- Wind direction display
- DST support (automatic change)
- Over the Air (OTA) firmware upgrade capability
- WifiManager Soft AP configuration interface
- ESP8266 board (recommended: NodeMCU/compatible see BOM)
- MAX7219 based LED matrix display (order from China)
- Openweathermap account (optional)
- PlatformIO
Current weather is displayed 3 times per minute for 4 seconds.
- NodeMCU v3 board
- MAX7219 based LED matrix
- Micro usb to USB cable
- Female-female dupont cable 5pcs (usually comes with the display)
NodeMCU 3.3V -> Matrix Vcc
NodeMCU GND -> Matrix GND
NodeMCU D8 -> Matrix DIN
NodeMCU D7 -> Matrix CS
NodeMCU D6 -> Matrix CLK
- Download and install PlatformIO
- Optionally read https://docs.platformio.org/en/latest/quickstart.html
PlatformIO automatically downloads all required libraries, boards, and configures your environment.
Optional steps for weather info functionality
-
Openweathermap: http://openweathermap.org/
- Register an account
- Get your API key at: https://home.openweathermap.org/api_keys
- Find your location/city id on here: https://openweathermap.org/find?q=
-
Changes in file main.cpp needed for weather functionality
- Add your api key from openweathermap: uncomment define WEATHERKEY
- Add your city id from same
- Save file
PlatformIO serial
platformio run --target upload
PlatformIO OTA
platformio run -t upload --upload-port <IP address of ESP>
-
Latest version of the Firmware uses the WifiManager library by tzapu to setup the clock
-
If no known WiFi AP is nearby, the clock starts the config portal
-
Connect to SSID: "MatrixAP"
-
Point your browser to 192.168.4.1
-
Follow instructions to configure your SSID, pass, API key and CityID
-
To manually force config AP mode, short D5 pin on NodeMCU to ground to enter
Obsolete config instructions for the serial version:
- If the clock fails to connect to an AP it will ask for credentials
- Run serial monitor (Arduino IDE) or minicom/putty, etc at 9600 bps
- Type in your own Wifi credentials
- Dimmable display brightness (request)
- Multiple NTP time-zone support
- bugfix, testing
- Vajk for beta testing & original HOWTO
- William Moeur for NTP code