Files
2026-07-12 16:05:58 +00:00

48 lines
1.8 KiB
Markdown

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