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

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.