← Skill library
home

Wall Light

Addressable LED strips that react to your music

Download v1.0.0 4.3 KB · .zip

Install from your dashboard:
Library → Install skill → upload this file.

Two WS2812B strips driven by a small wireless controller, rendered entirely by Jarvis and streamed over UDP. Animation runs inside Jarvis, so changing an effect is a settings change -- never a reflash.

What it does

  • On/off, colour and brightness by voice
  • Reacts to whatever is playing, and to Jarvis speaking
  • All the animation is worked out by Jarvis; the controller just displays it

Things you can say

“turn on the wall light” “wall light on” “switch on the strip light” “wall light ko on karo” “दीवार की लाइट ऑन करो” “turn off the wall light”

Hardware you need

  • ESP32 devkit
  • WS2812B / NeoPixel LED strips (2)

    Wired from one end through to the other; lengths are configured in the dashboard.

  • 5V power supply sized for your LED count

    WS2812B needs real 5V. Do not power the strip from the ESP32's 3V3 pin -- it produces no light at all.

Wiring

PinConnects to
GPIO18Strip 1 data in
GPIO19Strip 2 data in
GNDShared ground with the strip power supply

Supported boards & pins

These GPIO numbers come from the same table the firmware is compiled from, so what you see here is what the board actually drives.

ESP32 (classic WROOM-32 devkit) esp32:esp32:esp32

The older, wider devkit with a single micro-USB port.

1GPIO23 2GPIO22 3GPIO21 4GPIO19 5GPIO18 6GPIO17 7GPIO16 8GPIO4 9GPIO13 10GPIO14 11GPIO25 12GPIO26 13GPIO27 14GPIO32 15GPIO33

Relay 1 uses the first pin, relay 2 the second, and so on.

Firmware

light_test.ino

Only needs reflashing if the control endpoints change -- never for animation tweaks.

Download sketch

Setting it up

  1. Flash the sketch to a spare ESP32.
  2. Wire strip 1 data to GPIO18 and strip 2 data to GPIO19, sharing ground with the strip supply.
  3. Power the strips from a real 5V supply, and give the ESP32 its own separate supply.
  4. Set the strip lengths on the Wall Light page.
  5. Turn on music sync and play something.
Worth knowing

Two things cost real hours during bring-up. (1) The ESP32's 3.3V data line is marginal for WS2812B and can fail part-way down a long chain. (2) Powering the ESP32 from the same rail as the LEDs stopped it joining WiFi entirely -- the radio is far more noise-sensitive than the logic. Give the board its own supply and share only ground.