# 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.