# 3D Printed LED Fire Horns

## Overview

http://www.youtube.com/watch?v=bCWwGr9Xcok

## 3D Printing + Cosplay
A perfect combination for making great things! These fire horns are 3d printed in Ninjaflex for a flexible wearable that won't poke your eyes out, giving you freedom to headbang to your hearts desire.   
  
As a hollowed out shell, you can easily to fit a strip or ring of LEDs inside these devilish horns for making an epic LED costume. We have 3 different types of horns, so you can pick the one that matches your style.![](https://cdn-learn.adafruit.com/assets/assets/000/016/978/medium800thumb/led_pixels_3d_printing_horn3.jpg?1448311689)

## Prerequisite Guides

- [Introducing Gemma M0 guide](https://learn.adafruit.com/adafruit-gemma-m0/)&nbsp;or&nbsp;[Introducing GEMMA guide](http://learn.adafruit.com/introducing-gemma)
- [Introducing Trinket M0 guide](https://learn.adafruit.com/adafruit-trinket-m0-circuitpython-arduino?view=all "Link: https://learn.adafruit.com/introducing-trinket")&nbsp;or[&nbsp;Introducing Trinket&nbsp;guide](https://learn.adafruit.com/introducing-trinket/introduction)
- [NeoPixel Uberguide](https://learn.adafruit.com/adafruit-neopixel-uberguide)

Info: 

## Parts

- **[Gemma M0](https://www.adafruit.com/product/3501),&nbsp;[Trinket M0](https://www.adafruit.com/product/3500),&nbsp;[Trinket Mini](http://www.adafruit.com/category/261)&nbsp;or&nbsp;[Gemma v2](http://www.adafruit.com/products/1222)&nbsp;**-&nbsp;We recommend using the&nbsp;[Gemma M0](https://www.adafruit.com/product/3500).&nbsp;
- [NeoPixel Strip](https://www.adafruit.com/search?q=neopixel+strip "Link: https://www.adafruit.com/search?q=neopixel+strip")/[Ring](https://www.adafruit.com/search?q=neopixel+ring "Link: https://www.adafruit.com/search?q=neopixel+ring")
- [Slide Switch](https://www.adafruit.com/products/805 "Link: https://www.adafruit.com/products/805")
- [JST Extension](https://www.adafruit.com/product/1131 "Link: https://www.adafruit.com/product/1131")/[Connector](https://www.adafruit.com/products/1769 "Link: https://www.adafruit.com/products/1769")
- [500mAh Lithium Polymer Battery](https://www.adafruit.com/products/1578 "Link: https://www.adafruit.com/products/1578")

## Tools & Supplies

- [Solder Iron](https://www.adafruit.com/products/1204 "Link: https://www.adafruit.com/products/1204") + [Solder](https://www.adafruit.com/products/734 "Link: https://www.adafruit.com/products/734")
- [Wire Wrap](https://www.adafruit.com/product/1446 "Link: https://www.adafruit.com/product/1446")
- [NinjaFlex Filament](https://www.adafruit.com/search?q=ninjaflex "Link: https://www.adafruit.com/search?q=ninjaflex")
- [3D Printer](https://www.adafruit.com/search?q=3d+printer "Link: https://www.adafruit.com/search?q=3d+printer")
- [Heat shrink tubing](https://www.adafruit.com/product/344)

![](https://cdn-learn.adafruit.com/assets/assets/000/016/987/medium800/3d_printing_parts.jpg?1401200254)

https://youtu.be/oUuGXWMr3sE

# 3D Printed LED Fire Horns

## 3D Printing

## Ninjaflex Filament
Optimized for printing in Ninjaflex TPE material, each horn is shelled out and prints best with support material. [Download STLs](http://www.thingiverse.com/thing:344412)
![](https://cdn-learn.adafruit.com/assets/assets/000/016/979/medium800thumb/led_pixels_3d_printing_horn-tl.jpg?1448311695)

## Lorn Horns
These jumbo horns have optimized support structures included in the STLs.## Slicer Settings
For the best quality when printing with ninjaflex, we recommend the following slice settings:  

- Retraction: Off
- Speeds: 45/50
- Extruder Temp: 230c
- Infill 10%
- Support: On
- No Heated Bed

## Support Removal
Use a pair of sharp scissors to cut away and remove support material. You can use a pair of flat pliers to grab onto the support material inside the horns. Info: 

![](https://cdn-learn.adafruit.com/assets/assets/000/016/986/medium800/3d_printing_horn-support-remove.jpg?1401200219)

# 3D Printed LED Fire Horns

## Circuit Diagram

![](https://cdn-learn.adafruit.com/assets/assets/000/016/999/medium800/3d_printing_horns-circuit-diagram-gemma.png?1401216507)

Info: 

## GEMMA + 2x NeoPixel 12 Ring
In this circuit diagram, two 12 NeoPixel Rings are wired to the **GEMMA.** The first **NeoPixel Ring** has the **IN** pin wired to the **D0** pin on the **GEMMA**. The second NeoPixel ring **IN** pin is chained to the first NeoPixel ring **OUT.** Both rings will share **PWR** and **GND** pins.  
![](https://cdn-learn.adafruit.com/assets/assets/000/016/995/medium800/3d_printing_horns-circuit-diagram-trinket.png?1401214538)

Info: 

## TRINKET + NeoPixel Strip

In this circuit diagram, you will need to solder a [JST female connector](https://www.adafruit.com/products/1769) to the bottom of the Trinket where the postive+ and negative- terminals are exposed.  
  
The NeoPixel Strip **IN** pin is wired to **D0** on Trinket. **+5V** pin on NeoPixel Strip is wired to **3V** / **5V** pin on Trinket. The **GND** pin on the strip is wired to **GND** pin on Trinket.

Note that the pin orders may be different than the diagram, so _check the strip markings!!!_

![](https://cdn-learn.adafruit.com/assets/assets/000/017/005/medium800/3d_printing_slide-switch-tri.jpg?1401247270)

## Slide Switch Adapter
Shorten a JST extension cable to about 10mm long by cutting the positive and negative cables with wire cutters. Use wire stripers to strip the ends of the positive and negative wires. Apply a bit of rosin to the stripped ends and tin the tips of the wires. Add a piece of shrink tubing to the negative wire and solder them together by holding them in place with a third-helping-hand.  
# 3D Printed LED Fire Horns

## Assembly

![](https://cdn-learn.adafruit.com/assets/assets/000/016/981/medium800/3d_printing_attach-to-goggle.jpg?1401200015)

Attach horns to a pair of goggles by bending the metal ends off of the straps. Put the metal piece a side and detach the strap from one side of the goggles. Now we can guide the strap through the tabs on the horns.

![](https://cdn-learn.adafruit.com/assets/assets/000/016/982/medium800/3d_printing_add-neoStrip.jpg?1401200031)

Measure, cut and insert the NeoPixel Strip into each horn. Position the strip so that the LEDs are facing towards the front of the horns.

![](https://cdn-learn.adafruit.com/assets/assets/000/016/983/medium800/3d_printing_add-trinket.jpg?1401200128)

Use a piece of double sided foam tape to attach the Trinket or Gemma to the inside of the horn.

![](https://cdn-learn.adafruit.com/assets/assets/000/016/984/medium800/3d_printing_add-battery.jpg?1401200153)

Use another piece of double sided foam tape to secure the battery to another side of the horn.

![](https://cdn-learn.adafruit.com/assets/assets/000/016/985/medium800/3d_printing_add-switch.jpg?1401200188)

Position the slide switch by the goggle strap or cut a hole on the side of the horn for the switch.

Test fit your new LED Fire horns. You can easily adjust the position of the horns by .

# 3D Printed LED Fire Horns

## Arduino Code

Make sure to to download the [NeoPixel](https://github.com/adafruit/Adafruit_NeoPixel "Link: https://github.com/adafruit/Adafruit\_NeoPixel") library. Below is fire code that will change the color of the NeoPixel strip/ring - copy it into your Adafruit Arduino IDE as-is and then mod the LED Pins and number of pixels to make it your own. Remember that to program GEMMA/Trinket you need to download the special Adafruit version of the Arduino IDE from the [Introduction to GEMMA guide.](../../../../introducing-gemma "Link: https://learn.adafruit.com/introducing-gemma")

Code developed by [Phillip Burgress](../../../../users/pburgess).

Info: 

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/3D_Printed_LED_Fire_Horns/3D_Printed_LED_Fire_Horns.ino

# 3D Printed LED Fire Horns

## CircuitPython

Danger: 

[CircuitPython](https://github.com/adafruit/circuitpython) is a derivative of [MicroPython](https://micropython.org) designed to simplify experimentation and education on low-cost microcontrollers. It makes it easier than ever to get prototyping by requiring no upfront desktop software downloads. The Gemma M0 is the first board that comes pre-loaded with CircuitPython. Simply copy and edit files on the **CIRCUITPY** drive to iterate.

Warning: 

If you've already plugged your board into your computer, you should see a drive called **CIRCUITPY**. The drive will contain a few files. If you want to make a 'backup' of the current firmware on the device, drag-off and save the **CURRENT.UF2** file. Other that that you can ignore the **index.htm** and **info\_uf2.txt** files. They cannot be deleted and are only for informational purposes.

**If you have already plugged in your board, start by ejecting or "safely remove" the CIRCUITPY drive**. This is a good practice to get into. Always eject before unplugging or resetting your board!

## Set up CircuitPython Quick Start!
Follow this quick step-by-step for super-fast Python power :)

[Download the latest version of CircuitPython for this board via CircuitPython.org](https://circuitpython.org/board/gemma_m0/)
 **Click the link above and download the latest UF2 file.**

Download and save it to your desktop (or wherever is handy).

![adafruit_gemma_GemmaUF2Downloaded.png](https://cdn-learn.adafruit.com/assets/assets/000/049/737/medium640/adafruit_gemma_GemmaUF2Downloaded.png?1514579268)

Plug your Gemma into your computer using a known-good USB cable.

**A lot of people end up using charge-only USB cables and it is very frustrating! So make sure you have a USB cable you know is good for data sync.**

Double-click the small **Reset** button opposite the On/Off switch on your board. You will see the Dotstar RGB LED turn green. If it turns red, check the USB cable, try another USB port, etc. **Note:** The little LED next to the On/Off switch will be red - this is ok!

If double-clicking doesn't work the first time, try again. Sometimes it can take a few tries to get the rhythm right!

![adafruit_gemma_GemmaM0GreenLED.jpg](https://cdn-learn.adafruit.com/assets/assets/000/049/738/medium640/adafruit_gemma_GemmaM0GreenLED.jpg?1514579381)

You will see a new disk drive appear called **GEMMABOOT**.

&nbsp;

&nbsp;

&nbsp;

Drag the **adafruit\_circuitpython\_etc.uf2** file to **GEMMABOOT**.

![adafruit_gemma_GEMMABOOT.png](https://cdn-learn.adafruit.com/assets/assets/000/049/739/medium640/adafruit_gemma_GEMMABOOT.png?1514587011)

![adafruit_gemma_GemmaDragUF2ToGEMMABOOT.png](https://cdn-learn.adafruit.com/assets/assets/000/049/740/medium640/adafruit_gemma_GemmaDragUF2ToGEMMABOOT.png?1514587039)

The red LED will flash. Then, the **GEMMABOOT** drive will disappear and a new disk drive called **CIRCUITPY** will appear.

That's it, you're done! :)

![adafruit_gemma_GemmaCIRCUITPY.png](https://cdn-learn.adafruit.com/assets/assets/000/049/741/medium640/adafruit_gemma_GemmaCIRCUITPY.png?1514587332)

## Further Information
For more detailed info on installing CircuitPython, check out [Installing CircuitPython](../../../../welcome-to-circuitpython/installing-circuitpython).

## Gemma Default Zip Install

Gemma M0 is limited on space. As you begin working on projects, you may run out of space. Operating systems can create hidden files that take up space. To prevent these files from being added to your Gemma, we suggest installing the Gemma Default Zip.

[Download the Gemma Default Zip](https://cdn-learn.adafruit.com/assets/assets/000/046/590/original/gemma_m0_2.0.0.zip)
 **Click the link above to download the default zip.**

&nbsp;

Download and save it to your desktop, or wherever is handy!

![adafruit_gemma_GemmaDefaultZipDownloaded.png](https://cdn-learn.adafruit.com/assets/assets/000/049/742/medium640/adafruit_gemma_GemmaDefaultZipDownloaded.png?1514590151)

If you haven't already, **plug your Gemma into your computer using a known-good USB cable.**

&nbsp;

Make sure your **CIRCUITPY** drive appears.

![adafruit_gemma_GemmaDefaultZipCIRCUITPY.png](https://cdn-learn.adafruit.com/assets/assets/000/049/743/medium640/adafruit_gemma_GemmaDefaultZipCIRCUITPY.png?1514590193)

Once downloaded, **double-click the file to extract the contents.**

![adafruit_gemma_GemmaDefaultZipExtracted.png](https://cdn-learn.adafruit.com/assets/assets/000/049/744/medium640/adafruit_gemma_GemmaDefaultZipExtracted.png?1514590215)

Double click newly extracted folder to open it.

![adafruit_gemma_GemmaDefaultZipFolderOpen.png](https://cdn-learn.adafruit.com/assets/assets/000/049/746/medium640/adafruit_gemma_GemmaDefaultZipFolderOpen.png?1514590284)

To load the files that will keep the system from adding hidden files to your drive, highlight these three files:

**.fseventsd**

**.metadata\_never\_index**

**.Trashes**

&nbsp;

Drag them to your **CIRCUITPY** drive. If it asks to replace any, say yes!

![adafruit_gemma_GemmaDragThreeFiles.png](https://cdn-learn.adafruit.com/assets/assets/000/049/747/medium640/adafruit_gemma_GemmaDragThreeFiles.png?1514590331)

If you'd like to **reset your Gemma to the same files it shipped with** , you can do that with these files. **If you changed main.py, and you want to keep your changes, back up main.py first.**

Highlight all the files in this folder. Drag them all to your CIRCUITPY drive.

If it asks to replace anything, say yes.

![adafruit_gemma_GemmaDragDefaultZipContents.png](https://cdn-learn.adafruit.com/assets/assets/000/049/748/medium640/adafruit_gemma_GemmaDragDefaultZipContents.png?1514590362)

# 3D Printed LED Fire Horns

## CircuitPython Code

![](https://cdn-learn.adafruit.com/assets/assets/000/059/350/medium800/led_pixels_gemma-cp.jpg?1534523698)

 **GEMMA&nbsp;M0** &nbsp;boards can&nbsp;run&nbsp; **CircuitPython** &nbsp;— a different approach to programming compared to Arduino sketches. In fact,&nbsp; **CircuitPython comes&nbsp;factory pre-loaded on GEMMA&nbsp;M0**. If you’ve overwritten it with an Arduino sketch, or just want to learn the basics of setting up and using CircuitPython, this is explained in the&nbsp;[**Adafruit GEMMA&nbsp;M0 guide**](https://learn.adafruit.com/adafruit-gemma-m0/circuitpython-setup-1).

Info: 

Below is CircuitPython code that works&nbsp;similarly (though not the same) as the Arduino sketch shown on a prior page. To use this, plug the GEMMA M0 into USB…it should show up on your computer as a small&nbsp; **flash drive** …then edit the file “ **code.py** ” with your text editor of choice. Select and copy the code below and paste it into that file,&nbsp; **entirely replacing its contents** &nbsp;(don’t mix it in with lingering bits of old code). When you save the file, the code should&nbsp; **start running almost immediately** &nbsp;(if not, see notes at the bottom of this page).

**If GEMMA M0 doesn’t show up as a&nbsp;drive, follow the GEMMA M0 guide link above to prepare the board for CircuitPython.**

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/3D_Printed_LED_Fire_Horns/code.py

This code requires the&nbsp; **neopixel.py** &nbsp;library. A factory-fresh board will have this already installed. If you’ve just reloaded the board with CircuitPython, create the “lib” directory and then&nbsp;[download neopixel.py from Github](https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel).


## Featured Products

### Adafruit GEMMA M0 - Miniature wearable electronic platform

[Adafruit GEMMA M0 - Miniature wearable electronic platform](https://www.adafruit.com/product/3501)
The **Adafruit Gemma M0** is a super small microcontroller board, with just enough built-in to create many simple projects. It may look small and cute: round, about the size of a quarter, with friendly alligator-clip sew pads. But do not be fooled! The Gemma M0 is incredibly...

In Stock
[Buy Now](https://www.adafruit.com/product/3501)
[Related Guides to the Product](https://learn.adafruit.com/products/3501/guides)
### Adafruit Trinket M0 - for use with CircuitPython & Arduino IDE

[Adafruit Trinket M0 - for use with CircuitPython & Arduino IDE](https://www.adafruit.com/product/3500)
The&nbsp;Adafruit Trinket M0 may be small, but do not be fooled by its size! It's a tiny microcontroller board, built around the Atmel ATSAMD21, a little chip with _a lot_ of power. We wanted to design a microcontroller board that was small enough to fit into any project, and low...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3500)
[Related Guides to the Product](https://learn.adafruit.com/products/3500/guides)
### Adafruit GEMMA v2 - Miniature wearable electronic platform

[Adafruit GEMMA v2 - Miniature wearable electronic platform](https://www.adafruit.com/product/1222)
 **Deprecation Warning: The Gemma bit-bang USB technique it uses doesn't work as well as it did in 2014, many modern computers won't work well. So while we still carry the Gemma so that people can maintain some older projects, we no longer recommend it.** <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/1222)
[Related Guides to the Product](https://learn.adafruit.com/products/1222/guides)
### Adafruit Trinket - Mini Microcontroller - 5V Logic

[Adafruit Trinket - Mini Microcontroller - 5V Logic](https://www.adafruit.com/product/1501)
 **Deprecation Warning: The Trinket bit-bang USB technique it uses doesn't work as well as it did in 2014, many modern computers won't work well. So while we still carry the Trinket so that people can maintain some older projects, we no longer recommend it.** <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/1501)
[Related Guides to the Product](https://learn.adafruit.com/products/1501/guides)
### Adafruit Trinket - Mini Microcontroller - 3.3V Logic

[Adafruit Trinket - Mini Microcontroller - 3.3V Logic](https://www.adafruit.com/product/1500)
 **Deprecation Warning: The Trinket bit-bang USB technique it uses doesn't work as well as it did in 2014, many modern computers won't work well. So while we still carry the Trinket so that people can maintain some older projects, we no longer recommend it.** <a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/1500)
[Related Guides to the Product](https://learn.adafruit.com/products/1500/guides)
### NeoPixel Ring - 12 x 5050 RGB LED with Integrated Drivers

[NeoPixel Ring - 12 x 5050 RGB LED with Integrated Drivers](https://www.adafruit.com/product/1643)
Round and round and round they go! 12 ultra bright smart LED NeoPixels are arranged in a circle with 1.5" (37mm) outer diameter. The rings are 'chainable' - connect the output pin of one to the input pin of another. Use only one microcontroller pin to control as many as you can...

In Stock
[Buy Now](https://www.adafruit.com/product/1643)
[Related Guides to the Product](https://learn.adafruit.com/products/1643/guides)
### PrintrBot Simple Metal 3D Printer - Black - Assembled

[PrintrBot Simple Metal 3D Printer - Black - Assembled](https://www.adafruit.com/product/1760)
New from Printrbot, the Metal Simple is a brand new rock solid, all metal, fully-assembled Printrbot Simple! As opposed to the [Printrbot Simple Kit](http://www.adafruit.com/products/1735), all of the laser cut wood parts have been replaced by rock solid metal and assembled. In...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/1760)
[Related Guides to the Product](https://learn.adafruit.com/products/1760/guides)
### NinjaFlex - 1.75mm Diameter - Snow White - 0.5 Kg

[NinjaFlex - 1.75mm Diameter - Snow White - 0.5 Kg](https://www.adafruit.com/product/1691)
Discontinued - **you can grab&nbsp;** [NinjaFlex - 1.75mm Diameter - Almond-Peach Smoothie - 0.50Kg](https://www.adafruit.com/product/2383) **instead!&nbsp;**

Looking beyond ABS? Tired of PLA? Open a world of possibilities, limited only by your imagination. NinjaFlex, a...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/1691)
[Related Guides to the Product](https://learn.adafruit.com/products/1691/guides)

## Related Guides

- [Adafruit Trinket M0](https://learn.adafruit.com/adafruit-trinket-m0-circuitpython-arduino.md)
- [Sound Reactive NeoPixel Peace Pendant](https://learn.adafruit.com/sound-reactive-neopixel-peace-pendant.md)
- [Build your own Borg (BYOB)](https://learn.adafruit.com/build-your-own-borg-byob.md)
- [Trinket “Question Block” Sound Jewelry](https://learn.adafruit.com/trinket-question-block-sound-jewelry.md)
- [Techno-Tiki RGB LED Torch](https://learn.adafruit.com/techno-tiki-rgb-led-torch.md)
- [Gemma Color Touch Pendant Necklace](https://learn.adafruit.com/gemma-color-touch-pendant-necklace.md)
- [CircuitPython 101: Basic Builtin Data Structures](https://learn.adafruit.com/basic-datastructures-in-circuitpython.md)
- [Buzzing Mindfulness Bracelet](https://learn.adafruit.com/buzzing-mindfulness-bracelet.md)
- [Annoy-O-Matic Sound Prank Device](https://learn.adafruit.com/annoy-o-matic-sound-prank-device.md)
- [Larson Scanner Shades (Trinket-Powered NeoPixel LED Strip Glasses)](https://learn.adafruit.com/larson-scanner-shades.md)
- [Trinket Bluetooth Alarm System](https://learn.adafruit.com/trinket-bluetooth-alarm-system.md)
- [Trinket (& Gemma) Servo Control](https://learn.adafruit.com/trinket-gemma-servo-control.md)
- [Cyber Tank Girl Cosplay](https://learn.adafruit.com/cyber-tank-girl-cosplay.md)
- [How to Choose a Microcontroller](https://learn.adafruit.com/how-to-choose-a-microcontroller.md)
- [3D Printed Daft Punk Helmet](https://learn.adafruit.com/3d-printed-daft-punk-helmet.md)
- [Space Face LED Galaxy Makeup](https://learn.adafruit.com/space-face-led-galaxy-makeup.md)
