Smart LED

An ESP8266-based music-reactive lighting system for addressable LED strips. It features MQTT integration for smart home connectivity, multiple animation modes, and support for both 5V and 12V hardware configurations.

Smart LED

Smart LED is a comprehensive firmware solution designed to transform addressable LED strips into dynamic, music-reactive visualizers. Built on the ESP8266 platform, specifically the WeMos D1 Mini, the project combines audio-reactive animations with static lighting modes, all while providing seamless integration into modern smart home ecosystems via the MQTT protocol.

Core Functionality and Features

The project is divided into two main operating categories: music-synchronized modes and static background effects. The music-reactive component processes audio signals to drive the LED strip, creating vibrant patterns that respond to the rhythm and intensity of the sound. For atmospheric lighting, the system includes a variety of pre-programmed static modes.

Key features include:

  • MQTT Integration: Connects to a broker (like WQTT) to allow remote control and automation through smart home platforms.
  • WiFi Connectivity: Enables wireless configuration and control.
  • Customizable Modes: Users can define a list of up to 10 favorite modes from a larger library, allowing for personalized lighting sequences.
  • Flexible Hardware Support: Designed to work with both 5V and 12V LED strips, with provided schematics for voltage regulation and transistor-based switching.

Technical Architecture

The system is built using the Arduino framework for ESP8266. It utilizes a modular file structure to separate configuration from logic:

  • settings.h: Contains network credentials for Wi-Fi and MQTT broker details (server, port, user, and password).
  • 01_Settings.ino: Handles hardware-specific parameters such as the number of LEDs (NUM_LEDS) and pin assignments for buttons and data lines.

For physical control, the project supports optional buttons that can be mapped to various functions, such as switching modes or adjusting brightness. The power management circuit often employs a PNP transistor to handle the current requirements of longer LED strips.

Hardware and PCB Design

While the project can be built on a breadboard, the author provides a professional PCB design hosted on OSHWLab. This universal board is designed to accommodate different power sources (5V or 12V) and includes the necessary footprints for the WeMos D1 Mini, resistors, capacitors, and stabilizers required for a stable build.

Getting Started

To set up the Smart LED system, developers need to:

  1. Configure the settings.h file with their local Wi-Fi and MQTT broker information.
  2. Adjust the strip parameters in 01_Settings.ino to match their specific LED hardware.
  3. Flash the firmware to a WeMos D1 Mini using the Arduino IDE.
  4. Follow the provided wiring diagrams to connect the LED strip and power supply.

Detailed documentation, including a step-by-step setup guide and mode tables, is available through the project’s Habr article and the repository’s internal documentation folders.