Monitor-Ambilight selbst bauen mit Arduino Nano & WS2812B LEDs
Komponenten und Materialien
- 1 × Arduino Nano R3
- 1 × Arduino UNO (alternativ, für Tests)
- 1 × WS2812B adressierbarer LED-Strip (50 LEDs oder nach Bedarf)
- 1 × Mini-Breadboard
- Jumper-Wires
- 1 × DC-Buchse mit Schraubklemmen
- 1 × Mini-USB-Kabel
- 1 × 5 V Netzteil für LEDs (mind. 2–3 A)
- 1 × PC (Windows)
Software und Online-Dienste
- Arduino IDE
- Ambibox (kostenlos, nur Windows)
- FastLED-Bibliothek
Projektbeschreibung
Ein günstiges Ambilight-System für den PC-Monitor: Ein Arduino steuert einen WS2812B-LED-Strip, der hinter dem Monitor angebracht wird. Die Software „Ambibox“ auf dem PC erfasst die Bildschirmfarben am Rand und sendet die Farbdaten per USB an den Arduino. Dieser setzt die LEDs entsprechend. Das System funktioniert bei Filmen und Desktop hervorragend; bei Spielen im Vollbildmodus kann die Erfassung fehlschlagen – Randlos-Fenstermodus funktioniert.
Hinweis: Ambibox läuft nur unter Windows. Für Linux/macOS gibt es Alternativen (z. B. Hyperion auf Raspberry Pi), diese sind aber teurer.
Aufbau
Schritt 1: LED-Strip zuschneiden & montieren
- Monitor-Rückseite ausmessen, ca. 1 cm Rand lassen.
- Strip an den markierten Stellen zuschneiden (nach jeder LED möglich).
- Vier Streifen für die vier Seiten zuschneiden.
- Streifen mit Litze wieder verbinden: +5V an +5V, DIN an DOUT (Pfeilrichtung beachten!), GND an GND.
- Aufkleben (Klebestreifen auf der Rückseite oder Klebeband).
Schritt 2: Arduino anschließen
- DIN des Strips → Arduino Pin 4 (im Code anpassbar)
- GND Strip → Arduino GND → Netzteil GND
- +5V Strip → Netzteil +5V
- Optional: Arduino GND mit Netzteil GND verbinden (wichtig bei separater Stromversorgung).
Schritt 3: Arduino-Code (Adalight-Protokoll)
FastLED-Bibliothek installieren. Code öffnen, NUM_LEDS (z. B. 60) und DATA_PIN (z. B. 4) anpassen. Kompilieren & hochladen.
#include "FastLED.h"
#define NUM_LEDS 60
#define DATA_PIN 4
#define serialRate 115200
uint8_t prefix[] = {'A', 'd', 'a'}, hi, lo, chk, i;
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds(leds, NUM_LEDS);
// Start-Farbtest
LEDS.showColor(CRGB(255, 0, 0)); delay(500);
LEDS.showColor(CRGB(0, 255, 0)); delay(500);
LEDS.showColor(CRGB(0, 0, 255)); delay(500);
LEDS.showColor(CRGB(0, 0, 0));
Serial.begin(serialRate);
Serial.print("Ada\n"); // Magic Word
}
void loop() {
// Auf Magic Word warten
for (i = 0; i < sizeof(prefix); ++i) {
waitLoop:
while (!Serial.available());
if (prefix[i] == Serial.read()) continue;
i = 0; goto waitLoop;
}
// Hi, Lo, Checksumme
while (!Serial.available()); hi = Serial.read();
while (!Serial.available()); lo = Serial.read();
while (!Serial.available()); chk = Serial.read();
if (chk != (hi ^ lo ^ 0x55)) { i = 0; goto waitLoop; }
memset(leds, 0, NUM_LEDS * sizeof(CRGB));
for (uint8_t i = 0; i < NUM_LEDS; i++) {
byte r, g, b;
while (!Serial.available()); r = Serial.read();
while (!Serial.available()); g = Serial.read();
while (!Serial.available()); b = Serial.read();
leds[i].r = r; leds[i].g = g; leds[i].b = b;
}
FastLED.show();
}
Schritt 4: Ambibox einrichten
- Ambibox herunterladen & installieren.
- COM-Port & Baudrate (115200) einstellen.
- LED-Anzahl & Reihenfolge konfigurieren.
- Farbkalibrierung durchführen (weißer Hintergrund anpassen).
- Testvideo abspielen – fertig!
Zusatzfunktionen
- Sound-Reaktiv-Modus: LEDs blinken zum Bass.
- Mehrere Profile (Film, Spiel, Musik).
Schaltplan

Herstellungsprozess
- Echtzeit-IoT-Herzfrequenzmonitor mit Arduino & MAX30100
- Arduino Audio-Frequenz-Detektor – Lauteste Schallpeaks mit hochsensiblem Modul messen
- Arduino Tic Tac Toe mit MAX7219 LED-Matrix und Karton-Gehäuse
- Zuverlässigen Arduino-Countdown-Timer mit SparkFun 7-Segment-Display bauen
- Kompaktes FM-Radio mit Arduino Nano und RDA5807M selbst bauen
- DIY Sump-Pegel-Monitor – Arduino Nano, MPXV5010DP Drucksensor & OLED
- RC Porsche selbst bauen: Arduino-Schritt-für-Schritt-Anleitung
- Musikalische Töne mit Arduino erzeugen: Schritt-für-Schritt-Anleitung
- Fortgeschrittenes Heimüberwachungssystem mit Arduino Mega und IoT-Sensoren
- Digitaler Kompass in Echtzeit mit Arduino & Processing bauen