An ambient light for Windows 11.
For Linux(Wayland) use tdakhran/wl-ambilight.
For Linux(X11) use josh26turner/Ambilight.
- arduino IDE compatible device
- FastLED compatible LED strip and power supply for it
- USB cable
There are 2 parts:
arduino driver
- receives LED color information via USB from PC service and controls LEDsPC service
- computes LED color information and sends it toarduino driver
sequenceDiagram
participant LEDStrip
participant Arduino
PCService->>Windows: screen capture request
Windows->>PCService: screen data
Note over PCService: Compute LED colors
PCService->>Arduino: Send LED colors over USB
Arduino->>LEDStrip: update colors over DATA PIN
Glue LED strip (I used WS2812B 60LED/m) to the back side of the monitor. Cut and solder the parts together. I used ESP32 as an Arduino device and attached it as well to the monitor. The monitor has a built-in USB hub and ESP32 is connected to it. The power supply I use for LEDs has specs 5V 40W.
Use Arduino IDE to build a driver from arduino
folder.
Use cargo build --target x86_64-pc-windows-gnu
to build PC service in WSL2.
Launch win-ambilight.exe run -p COM3 -m 1
.
Works on Windows 11.
None.
A lot. PRs are welcome.