Skip to content

jaisor/ESP_LED_Controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RingLight ESP LED Controller

Glamor shot

Features

  • Two LED rings - outer (141 LEDs) and inner (126 LEDs) wired up in series for a total of 267 LEDs
  • Controlled by ESP32 (most stable). Code is compatible with ESP8266, but I was suffering stability issues with wifi and longer LED strips.
  • WiFi connected and managed
    • creates a default AP, listening to http://192.168.4.1
    • capable of joining existing 2.4GHz networks
    • serves a webpage for managing LED - strip size, mode, brightness
  • Firmware update over WiFi - new firmware.bin file can be uploaded at /update after the IP address

Components

3D filament

I used the ones below but likely many others will work. Make sure the white is translucent enough, print a 3 layer sheet and put it in-front of some LEDs.

Assembly and wiring

Print 4 of each:

Assemble as described below. Rotate the light ring segments by 45 degrees so they join in the middle of the dark ring segments. This improves stability. If loose-fitting, use a few drops of superglue to set the dark and light rings together. Assembly diagram

Cut the two LED strips to 141 and 126 LEDs. Keep as many of the existing wires and connectors as possible. Wire the strips data in series - outer first then inner. The beginning of the outer ring data pin goes to the connector data pin. Join the power wires in parallel: 5V/VCC together to the 5V connector pin; GND(-) together to GND on connector pin. Providing power to both start and ends of the strips reduces voltage sag and ensures even light at all brightness levels.

Schematic Wiring Closeup Wiring Complete

By default in Configuration.h the LEDs data is connected to pin 12 on the ESP, but most other GPIO pins can be used if needed.

LED_PIN_STRIP = 12 - GPIO12 - above VIN (5V), GND and GPIO13

ESP32 pins

Solder the power and data cables between the LED connector, ESP32 and DC connector as shown below, using the basic 3D printable enclosure. The board is mounted above the DC connector with 3mm screws

ESP32 box assembled ESP32 box

Enclosure STL files. Print in PLA, PETG or any other hard filament.

Configuration.h

This file configures various default settings, like:

  • ESP pin used to drive the LED data (defaults are referenced below)
  • WiFi AP name/password
  • LED strip type, size, default brightness