These 3D printed Overwatch Mercy Imp horns are pretty popular. I had a vague idea of using them for a halloween costume and ended up starting early / finishing very late depending on your point of view.
I won’t be going into the 3D print side of the build, just the electronics side that gives a great animated fire effect.
You will need:
- Neopixel Ultra Skinny LED strip x 2
- Trinket 5V (NOT the 3v M0 version!)
- LiPo battery
- LiPo SMT battery connector
The LED strips are fragile but thin enough to fit into the recess on the horns, almost to the tip. You will need to cut them as they are too long. Mine were 53 LEDs long in the end.
Connect the 5V and Ground wires from the LED strips to the Trinket. Connect the data in wire to pin 0 on the Trinket. Solder on the SMT battery connector.
The recess on the side of the horns was big enough for a 150mAh battery pack which won’t last that long but will do.
You will need the Adafruit fire code from https://learn.adafruit.com/3d-printed-led-fire-horns/fire-code – edit this to be 53 LEDs (or whatever you end up with) and pin 0 is the same.
Programming the 5V Trinket can be a pain. It uses Arduino code not CircuitPython like the 3V Trinket so you will have to use the Arduino IDE.
Make sure you have installed the Adafruit boards support, and download the NeoPixel library (see Adafruit for details). Configure Arduino IDE to use Trinket 8MHz or Trinket 16MHz and select USBTinyISP as the Tools > Programmer.
Actually programming it in my case needed a very old laptop with USB 2.0 ports on it, nothing modern worked. You might get away with a USB 2.0 hub but I didn’t have one to try.
Connect the Trinket over USB, wait a second, press the button on the Trinket, then choose upload in Arduino IDE. Once updated, connect the battery to the Trinket and hopefully you will get a lovely flame effect on your LED strips!