Skip to content

el-bakkali/diy-streaming-key-light

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DIY Streaming Key Light — Elgato Key Light Alternative

ESPHome ESP32 Home Assistant License

A ~$25 bi-color streaming panel that replaces a $200 Elgato Key Light

Full CCT control (3200K–5600K) · Home Assistant integration · Wi-Fi control · Local web UI


💡 What Is This?

This project turns a cheap LED video panel + a VEEKET ESP32 2-MOS MOSFET controller into a fully smart, network-controllable studio key light — the kind of thing Elgato charges $199 for.

You get:

  • Adjustable color temperature from warm tungsten (3200K) to cool daylight (5600K)
  • Smooth brightness control from 0–100%
  • Home Assistant integration with full automation support
  • Local web UI — works even without Home Assistant
  • OTA updates — flash new firmware over Wi-Fi
  • Constant brightness mode — changing color temperature won't change perceived brightness

🧾 Bill of Materials

Part Price (approx.) Link
Bi-color LED panel (3200K–5600K) ~$15–20 Amazon / AliExpress
VEEKET ESP32 2-MOS MOSFET board ~$6–8 Amazon / AliExpress
12V DC power supply (≥3A) ~$5–8 Amazon / AliExpress
Barrel jack / wiring ~$2

Total: ~$25–35 vs. $199 for an Elgato Key Light


🔌 Wiring Diagram

┌──────────────────────────┐
│   12V DC Power Supply    │
└─────────┬────────────────┘
          │
          ▼
┌──────────────────────────┐
│  VEEKET ESP32 2-MOS      │
│                          │
│  VIN ◄── 12V+            │
│  GND ◄── 12V-            │
│                          │
│  OUT1- (GPIO16) ──► Warm White (BLACK wire)
│  OUT2- (GPIO17) ──► Cool White (WHITE wire)
│                          │
│  GPIO23 = Onboard LED    │
└──────────────────────────┘
          │
          ▼
┌──────────────────────────┐
│    Bi-Color LED Panel    │
│                          │
│  V+ ◄── 12V+ (shared)   │
│  Warm ◄── OUT1- (BLACK)  │
│  Cool ◄── OUT2- (WHITE)  │
└──────────────────────────┘

Note: The LED panel's V+ wire goes directly to the 12V power supply positive. The MOSFET board switches the ground side of each LED channel.


⚡ Quick Start

1. Install ESPHome

pip install esphome

Or use the ESPHome Dashboard add-on in Home Assistant.

2. Clone This Repo

git clone https://github.com/el-bakkali/diy-streaming-key-light.git
cd diy-streaming-key-light

3. Create Your Secrets File

cp secrets.yaml.example secrets.yaml

Edit secrets.yaml with your credentials:

wifi_ssid: "MyNetwork"
wifi_password: "MyPassword"
api_encryption_key: "your-generated-key"
ap_password: "fallback-password"

Generate an encryption key at: https://esphome.io/components/api.html

4. Flash the ESP32

First time (USB):

esphome run led-studio-panel.yaml

Subsequent updates (OTA over Wi-Fi):

esphome run led-studio-panel.yaml --device led-studio-panel.local

🎮 Controls

Home Assistant

Once flashed, the device auto-discovers in Home Assistant. You get:

Entity Type Description
Studio Light Light Main CCT light with brightness + color temp
Onboard LED Light ESP32 status LED
Restart Button Reboot the device
WiFi Signal Sensor Signal strength (dBm)
Uptime Sensor Device uptime
Free Heap Sensor Available memory
System Status Binary Sensor Online/offline status

Local Web UI

Navigate to http://led-studio-panel.local (or the device IP) for a built-in web interface — no Home Assistant required.


🎬 Use Cases

  • Streaming / video calls — consistent, flicker-free lighting
  • YouTube / content creation — match any ambient color temperature
  • Photography — soft, dimmable panel light
  • Desk lamp — warm light for late-night work
  • Home automation — trigger lights on meeting start, sunset, etc.

🔧 Configuration Details

Parameter Value
PWM Frequency 1220 Hz
Warm White Temp 3200 K
Cool White Temp 5600 K
Gamma Correction 1.8
Transition Time 500 ms
Framework ESP-IDF
Restore Mode Restore previous state on boot

📁 Project Structure

diy-streaming-key-light/
├── led-studio-panel.yaml    # Main ESPHome configuration
├── secrets.yaml.example     # Template for secrets (safe to share)
├── .gitignore               # Ignores secrets and build artifacts
├── LICENSE                  # MIT License
└── README.md                # You're reading it

🆚 Elgato Key Light vs. This Build

Feature Elgato Key Light DIY Build
Price $199 ~$25–35
Color Temp Range 2900K–7000K 3200K–5600K
Brightness Control
Wi-Fi Control ✅ (proprietary app) ✅ (Home Assistant + Web UI)
Home Automation ❌ (limited) ✅ (full HA integration)
OTA Updates
Open Source
Local API
Desk Mount ✅ (included) ❌ (DIY mount)
Build Quality Premium DIY

⚠️ Troubleshooting

Issue Fix
Light doesn't turn on Check 12V power supply and wiring polarity
Only one color works Verify warm/cool wires go to correct OUT terminals
Can't connect to WiFi Device creates LED-Panel Fallback hotspot — connect and reconfigure
Flickering Increase PWM frequency in config (try 2441 Hz or 4882 Hz)
Home Assistant not finding device Ensure both are on the same network/VLAN

📜 License

MIT License — do whatever you want with it.


Built with ☕ and ESPHome

Because paying $200 for a WiFi-controlled LED is absurd.

About

DIY streaming key light — an Elgato Key Light alternative using ESP32 + ESPHome + Home Assistant

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors