DEV Community

Cover image for Motion-Reactive LED Devil Horns Built on an RP2040 Prop Feather
circuitrocks
circuitrocks

Posted on • Originally published at blog.circuit.rocks

Motion-Reactive LED Devil Horns Built on an RP2040 Prop Feather

Costume electronics stopped being about one blinking LED a long time ago. The builds worth copying now read what your body is doing and answer back, and Erin St Blaine's motion-reactive devil horns sit squarely in that camp: paper-mache horns packed with NeoPixels that flare up when you shake your head.

What the build actually is

Two lightweight paper-mache horns, each lined with Adafruit's ultra-skinny 1515 NeoPixel strip. That strip is 4 mm wide, which matters more than it sounds: anything chunkier fights the curve of the horn and reads as a lumpy ridge under the paint. Driving the lights is the RP2040 Prop-Maker Feather, which pairs the dual-core 133 MHz RP2040 with a NeoPixel driver, an I2S audio amp, and an onboard LIS3DH accelerometer. The accelerometer carries the whole project. The horns run CircuitPython, and head movement picks the animation: tilt for a slow lava creep down the strip, shake for a spark that races from base to tip.

The technical takeaway

Gesture detection here is not machine learning. It is three axes off an I2C accelerometer plus a threshold. A tilt is a sustained shift in the gravity vector on one axis; a shake is a fast spike in total acceleration. Both are a few lines of CircuitPython on top of the LIS3DH library. The Prop-Maker Feather also handles the 3.3 V to 5 V level shift on the NeoPixel data pin, which is the gotcha that ruins most first wearable builds: a bare 3.3 V data line into a 5 V strip looks fine on the bench, then glitches once the LiPo sags under load. Erin rates this intermediate, and the reason is the soldering. Pads on 1515 strip are tiny and you are working inside a hollow shell.

What to try next

The pattern generalizes well past Halloween. Swap the horns for a cosplay pauldron, a drumline shako, or a capstone demo that shows gesture input with no screen attached. To stay close to the original, the wiring and full code are on the Adafruit Learning System guide. Start on a breadboard with a short strip and a Feather, tune the shake threshold until it stops firing when you walk, then commit to the hot glue.


Originally published on blog.circuit.rocks.

wearables #eink #flexpcb #maker #circuitrocks

Top comments (0)