Volver a proyectosBack to projects
Ambilight

PRJ.01 Hardware & softwareHardware & software

PersonalPersonal

Ambilight "UlumiGlow"

Ambilight "UlumiGlow"

Sistema Ambilight para PC basado en ESP32: captura el color de la pantalla en tiempo real y lo replica en una tira LED, sincronizando la iluminación ambiental con lo que se ve en el monitor.

A PC Ambilight system built on ESP32: captures the screen's color in real time and replicates it on an LED strip, syncing ambient lighting with whatever is on screen.

PERÍODOPERIOD 2024 — 2025
TIPOTYPE Proyecto personal / código abiertoPersonal project / open source
STACKSTACK ESP32 · Python · PWM
12V12Vtira LED RGBRGB LED strip
Uso diarioDaily useen producción personalin personal daily use
100%100%open sourceopen source

Descripción del proyecto

Project description

El proyecto se divide en dos mitades que se comunican por puerto serie. Del lado de la PC, una aplicación en Python corre en segundo plano desde la bandeja del sistema: captura continuamente una franja superior de la pantalla, calcula su color promedio y envía los valores RGB resultantes al ESP32. Del lado del hardware, el firmware del ESP32 recibe esos valores y controla mediante PWM una tira LED RGB no direccionable de 12V, traduciendo el color de la pantalla en luz ambiental en tiempo real.

El software de PC se empaqueta como ejecutable con PyInstaller y se distribuye con un instalador construido en Inno Setup, publicado directamente en GitHub Releases en lugar de versionarse en el repositorio. El proyecto está en uso diario y fue pensado desde el diseño para ser portable a otras PCs sin fricción.

The project splits into two halves that talk to each other over serial. On the PC side, a Python application runs in the background from the system tray: it continuously captures a strip across the top of the screen, computes its average color, and sends the resulting RGB values to the ESP32. On the hardware side, the ESP32 firmware receives those values and drives a non-addressable 12V RGB LED strip via PWM, turning the screen's color into ambient light in real time.

The PC-side software is packaged as an executable with PyInstaller and shipped with an installer built in Inno Setup, published directly on GitHub Releases rather than versioned in the repo. The project sees daily use and was designed from the start to be portable to other PCs with minimal friction.