1.8 KiB
ESP32 Matrix Clock
A Wi-Fi-enabled LED matrix clock with weather integration and web-based controls.
Features
-
Time Display: Precise time synchronization via NTP.
-
Weather Integration: Automatically fetches and scrolls current temperature and weather conditions from OpenWeatherMap every 10 minutes.
-
Web-Based Control: A responsive dashboard allows you to:
-
Toggle power.
-
Adjust brightness via slider.
-
Cycle weather updates ON/OFF.
-
Toggle Daylight Saving Time (DST).
-
Force Night Mode for low-light environments.
-
Push custom text messages to the display.
-
Smart Automation: Includes automatic brightness scaling based on a set night-mode schedule.
Hardware Requirements
-
Microcontroller: ESP32 Development Board (e.g., ESP32 DevKit V1).
-
Display: 4-in-1 MAX7219 LED Matrix Module (or 4 individual 8x8 modules daisy-chained).
-
Wiring: Jumper wires (Female-to-Female typically used for the matrix connections).
-
Power: 5V Power Supply (Note: If using 4+ modules, it is highly recommended to power the matrix directly from a 5V source rather than the ESP32's 3.3V pin to prevent instability or brownouts).
Wiring
- DATA: GPIO 13
- CS: GPIO 14
- CLK: GPIO 15
Library Requirements
To compile this project, the following libraries must be installed in your Arduino IDE (navigate to Sketch > Include Library > Manage Libraries... and search for these names):
-
MD_MAX72xx (by MajicDesigns): Handles the low-level LED matrix driver.
-
MD_Parola (Optional but recommended): Often used alongside MD_MAX72xx for easier text effects, though this project uses pure MD_MAX72xx.
-
NTPClient (by Fabrice Weinberg): Used to sync the time from the internet.
-
ArduinoJson (by Benoit Blanchon): Required to parse the JSON data returned by the OpenWeatherMap API.