Repository navigation
What You Need
For a first setup with one LED strip you need very little. This page lists the parts, explains how to choose them, and how to work out the power supply.
| Part | What to look for | Why |
|---|---|---|
| Controller board | An ESP32-S3 with at least 4 MB flash. HyperLED is developed and tested on the Waveshare ESP32-S3-Zero (4 MB flash, 2 MB PSRAM). | This is the "brain". It runs HyperLED and its web interface. |
| LED strip | WS2812B, 5 V, individually addressable ("NeoPixel") is the easy start. Also fine: WS2813, WS2815 (12 V). | The lights. Many other types work too, see the full list below. |
| Power supply | The right voltage for your strip (5 V for WS2812B) and enough current (see below). | The LEDs need far more power than the ESP32 can give. |
| USB cable | A data cable (not "charge only"), matching your board. | To flash the firmware once. |
| Resistor | About 330 Ω (anything from 220 to 470 Ω is fine). | Protects the data pin. |
| Capacitor | 1000 µF, at least 6.3 V (use 10 V or 16 V if you like). Mind the polarity. | Absorbs the current spike when the strip switches on. |
| Wires | Thick enough for the current (the 5 V and GND wires carry the LED current). | |
| (optional) Level shifter | 74AHCT125, from 3.3 V to 5 V. | Only if the strip flickers; see Wiring and power. |
You also need a computer (Windows, macOS or Linux) for the first installation, and a 2.4 GHz Wi-Fi network. After that, a phone is enough for everything.
Tip: Buy a strip with a few more LEDs than you think you need - you can always set a lower LED count in HyperLED.
HyperLED is built for the ESP32-S3 and mostly tested on it. The Slave also runs on the ESP32-C6 (for example the ESP32-C6 Super Mini); that is new and still being tested, see Several devices. Other ESP32 chips could work in theory, but need changes in the code. If you want to know more, read Hardware setup in the repository. The requirements in short:
- Wi-Fi (2.4 GHz) and ESP-NOW
- at least 4 MB flash (two update slots plus a file system)
- enough RAM for the web server, encryption and radio at the same time
- for HUB75 panels: a chip that the panel library supports
You choose the type in the web interface under Devices → LED hardware → LED type (see First light). WS2812B (the "WS281x" entry) is the usual choice and the best one to start with: it is the type that has been tested on real hardware. HyperLED supports many more. This is the complete list, in the order of the drop-down list.
Digital LEDs (1-Wire): one data wire
| Entry in the list | Typical strips | Status |
|---|---|---|
| WS281x | WS2812B, WS2813, WS2815 (12 V), WS2811 and clones; RGB | ✅ tested |
| SK6812/WS2814 RGBW | strips with an extra white LED | |
| TM1814 | RGBW strips | |
| 400kHz | older strips with 400 kHz timing | |
| TM1829 | RGB | |
| UCS8903 | RGB | |
| APA106/PL9823 | RGB pixel LEDs | |
| TM1914 | RGB | |
| FW1906 GRBCW | RGB plus cold and warm white | |
| UCS8904 RGBW | RGBW | |
| SM16825 RGBCW | RGB plus cold and warm white | |
| WS2811 White | single-colour white strips | |
| WS281x WWA | white strips with warm white, cold white and amber | |
| WS2805 RGBCW | RGB plus cold and warm white (12 V) |
Digital LEDs (SPI / 2-Wire): a data and a clock wire
| Entry in the list | Typical strips | Status |
|---|---|---|
| WS2801 | older RGB strips | |
| APA102 | APA102, SK9822 ("DotStar") | |
| LPD8806 | RGB | |
| LPD6803 | RGB | |
| PP9813 | P9813 / PP9813 |
Analog / simple LEDs (PWM): no data signal; the ESP32 dims each colour channel itself, usually through a driver or MOSFETs
| Entry in the list | What it drives | Status |
|---|---|---|
| On/Off | a lamp or relay that only switches | |
| PWM White | one channel, single-colour strips | |
| PWM CCT | two channels: cold and warm white | |
| PWM RGB | three channels | |
| PWM RGBW | four channels | |
| PWM RGB+CCT | five channels |
Scan matrix panels
| Entry in the list | What it drives | Status |
|---|---|---|
| HUB75 | HUB75 LED panels, for example 64 × 64; set the driver chip to Generic (most panels), FM6126A, ICN2038S, FM6124, MBI5124 or DP3246 if you see ghosting or flicker | ✅ tested (generic) |
"Not yet tested on hardware" means the driver was checked against the library and the data sheet, but nobody has run it on a real strip yet. If you try one, please tell us in an issue, with the exact strip you used.
For 12 V and 24 V strips in which several LEDs share one chip (for example WS2805), the setting LEDs per chip matters; see First light.
LED panels (HUB75, for example 64 × 64) are connected with a fixed pinout that the web interface shows you; see Panels and elements and Several devices (a panel can run on a board of its own, a Slave).
A single WS2812B LED can draw about 60 mA when it is fully white (red, green and blue at full brightness). So:
Current in amps = number of LEDs × 0.06
| LEDs | Worst case (all white, full brightness) |
|---|---|
| 30 | 1.8 A |
| 60 | 3.6 A |
| 144 | 8.6 A |
| 300 | 18 A |
You will rarely run all LEDs at full white, and HyperLED has a brightness limiter that keeps the current under the limit you set (see First light). Still, choose a supply that is at least as strong as your limit, and use thick wires and feed long strips from both ends.
HyperLED also works it out for you: under Devices → LED hardware → Power supply it shows the recommended supply for the number of LEDs you entered.
Important: The ESP32 must not power the LEDs. Use a proper power supply for the strip and connect only the data line and a common ground to the ESP32. How: Wiring and power.
HyperLED is open source (EUPL-1.2) · Source code · Issues · HyperLED ist Open Source
🇬🇧 English
- Home
- Get started
- Use it
- Go further
- Help
🇩🇪 Deutsch
- Startseite
- Loslegen
- Benutzen
- Weiter gehen
- Hilfe