# 3D Printed IoT On Air Sign for Twitch

## Overview

https://www.youtube.com/watch?v=pPSO_rQjVhY

# IoT On-Air SIgn

In this tutorial, you'll learn how to build an internet connected On Air Sign. It will light up whenever your favorite Twitch channel start streaming.&nbsp;You can use this as visual notification or if you’re a broadcaster, this will let the people around know to be courteous!

It’s uses an Adafruit HUZZAH with ESP8266 or you can optionally use an Adafruit Feather M0 with WiFi.You’ll also need a strip of NeoPixel LEDs.

![](https://cdn-learn.adafruit.com/assets/assets/000/031/840/medium800/3d_printing_hero-sign-with-parts.jpg?1461181185)

## Parts List

- [Adafruit Feather M0 with WiFi](https://www.adafruit.com/product/3010)&nbsp;or&nbsp;[Adafruit HUZZAH ESP8266](https://www.adafruit.com/product/2821)
- [NeoPixel LED Strip](https://www.adafruit.com/categories/183)

## Tools & Supports

- Soldering Iron with Solder
- 26AWG silicone coated stranded wire
- Wire Strippers
- 3D Printer with Filament
- Double-sided tape
- 8x #4-40 flat Phillips machine screws

## Prerequisite&nbsp;Guides

Walk through the following guides to get familiar with the hardware usd in this project.

- [Adafruit HUZZAH ESP8266 Guide](../../../../adafruit-feather-huzzah-esp8266/overview)

![](https://cdn-learn.adafruit.com/assets/assets/000/031/853/medium800/3d_printing_hero-sign.jpg?1461269405)

# 3D Printed IoT On Air Sign for Twitch

## Circuit Diagram

![](https://cdn-learn.adafruit.com/assets/assets/000/031/841/medium800/3d_printing_onair-circuit-diagram.jpg?1461182612)

## Reference&nbsp;Connections

Use the circuit diagram to reference for connecting the components together. The diagram does not depict exact wire lengths or size of components.

Info: 

- Pin # 12 from HUZZAH to Data In on NeoPixel Strip
- GND from HUZZAH to GND or "–" on NeoPixel Strip
- USB from HUZZA to +5V or PWR on NeoPixel Strip

## Power

Use a 5V USB power supply and a microUSB cable to power the circuit

# 3D Printed IoT On Air Sign for Twitch

## 3D Printing

![](https://cdn-learn.adafruit.com/assets/assets/000/031/852/medium800/3d_printing_3d-parts.jpg?1461269266)

## Materials

We suggest using PLA material but your free to use ABS, PET or exotic composites like wood, metals and others. The parts are listed in the tablet below.

## Slice Settings

Depending on your 3D printers hardware, you'll need to use your prefered slice settings. The parts are oriented to print "as-is" and doesn't require any support materials (very minimal overhangs).

These are the slice settings we used on our Printrbot Play, sliced using Simplify3D

- 220C Extruder (on a non-heated bed)
- 20% Infill
- 2 shells/parameters&nbsp;
- 4 top and bottom layers
- 1.0 Extrusion multiplier&nbsp;
- 0.48 Extrusion width

## Customize Design

The enclosure parts are available to modify and download. Click below to download the source.&nbsp;Size it to fit the bed of your 3D printer.

[Download Source](http://a360.co/1QnXRED)
## Download STLs

3D print the files "as-is" if they can fit on the bed of your 3D printer (case is 220mm x 90mm)

[Download STLs](http://www.thingiverse.com/thing:1506862)
# 3D Printed IoT On Air Sign for Twitch

## Software

## Adafruit HUZZAH 8266 Arduino Libraries

Be sure to follow the guide below to install the board and libraries.

[Follow Adafruit HUZZAH EPS8266 Arduino Guide](https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/using-arduino-ide)
## Arduino Sketch

The arduino sketch will connect to the Twitch API and determine if the Twitch channel is currently streaming - if so, the Feather will turn on some NeoPixels to light up the sign. In the sketch, you'll need to add your WiFi credentials, change the number of pixels you're using and your desired twitch channel.

Download the sketch from the github repo linked below.

[Arduino Sketch](https://github.com/adafruit/Twitch-API-Examples)
![](https://cdn-learn.adafruit.com/assets/assets/000/031/883/medium800/3d_printing_code-parameters.png?1461276026)

## Twitch API

If you're interested in reading&nbsp;how the twitch API works,&nbsp;click on the link below.

[Twitch API Guide](https://learn.adafruit.com/automatic-twitch-on-air-sign/twitch-api)
# 3D Printed IoT On Air Sign for Twitch

## Wiring Components

## Prep Wires

Let's start by preparing the wires for this project.&nbsp;You'll need six pieces of wire. I suggest 26AWG silicone coated stranded wires. Measure each wire to about 9cm in length.

Use wire strippers to remove about 3mm of insulation of the tips of each wire. Tin the exposed tips of each wire by heating it up with the soldering iron and applying a bit of solder.

![3d_printing_prep-wires-9cm-long.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/861/medium640/3d_printing_prep-wires-9cm-long.jpg?1461271594)

## Adafruit HUZZAH ESP8266

Secure the HUZZAH ESP8266 to a Panavise Jr.&nbsp;or helping third hands. Tin the USB, #12 and GND pins. Solder wires to these pins. They don't have to be color coded but it does help tell them apart.

![3d_printing_tin-pins-huzzah.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/862/medium640/3d_printing_tin-pins-huzzah.jpg?1461271657)

![3d_printing_solder-wires-to-huzzah.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/869/medium640/3d_printing_solder-wires-to-huzzah.jpg?1461273503)

## Cut NeoPixel LED Strips

Next, you'll need to cut the NeoPixel LED strips into two pieces. Use the length of the enclosure to determine the right size (it should be a little longer than the diffuser).&nbsp;

If your using a high density NeoPixel strip (like the 144 LEDs per 1m), you may need to remove&nbsp;a "sacrificial" pixel. This is where you need to cut a pixel off so that you have more exposed pads to work with. Otherwise, you may find it difficult to apply solder to a&nbsp;pad thats cut in half.

![3d_printing_measure-strips.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/863/medium640/3d_printing_measure-strips.jpg?1461271707)

![3d_printing_strip-end-too-short.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/864/medium640/3d_printing_strip-end-too-short.jpg?1461271732)

## Wire&nbsp;NeoPixel LED Strips

Now we need to solder the three wires from the Adafruit HUZZAH to one of the NeoPixel LED Strips.

But first, apply solder to each pin on both&nbsp;ends of the NeoPixel LED strips. While heating up the&nbsp;tinned pin with the tip of the soldering iron, quickly place a wire to solder it in place.&nbsp;Gnd to -negative, USB to +positive, and #12 to data in. Then,&nbsp;connect the remaining three wires to the end of the first NeoPixel strip.

![3d_printing_solder-wires-to-1st-strip.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/865/medium640/3d_printing_solder-wires-to-1st-strip.jpg?1461271824)

![3d_printing_solder-to-end-1st-strip.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/866/medium640/3d_printing_solder-to-end-1st-strip.jpg?1461272690)

## Connect NeoPixel LED Strips

Now we need to connect the two NeoPixel strips together. Solder up the three wires from the first NeoPixel LED strip to the second. Make sure the marked arrows are flowing and not pointing towards each other. A pair of helping third hands will make it easier to solder.

![3d_printing_solder-two-strips-together.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/868/medium640/3d_printing_solder-two-strips-together.jpg?1461273389)

## Test Circuit

Now is a good time to test your wiring before mounting it to the case.

Plug in&nbsp;a micro USB cable into the Adafruit HUZZAH and into your computer. You can upload the Arduino sketch or an example NeoPixel demo (like the simple sketch) to test the NeoPixel LED strips - just make sure to update the sketch with the correct number of pixels and&nbsp;pin 12.

![3d_printing_test-circuit.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/870/medium640/3d_printing_test-circuit.jpg?1461273726)

## Assemble Case

If everything works as expected, it's safe to start mounting the circuit to the 3D printed enclosure!

# 3D Printed IoT On Air Sign for Twitch

## Case Assembly

## Tap Mounting Holes

Before&nbsp;securing the HUZZAH board to the case, it's a good idea to tap the holes. Use a #4-40 machine screw to do this. Start by placing the screw over the mounting hole and slowly fasten it in - try your best to keep the screw straight so it doesn't go in at an angle. This will create threads. Do this for each hole.

![3d_printing_tap-hoels-huzzah.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/871/medium640/3d_printing_tap-hoels-huzzah.jpg?1461274296)

## Secure Adafruit HUZZAH

Place the HUZZAH board over the standoffs on the bottom case and fasten the screws. DO NOT fasten them all the way through - otherwise the screw will poke throught the case. You only need to fasten it a few turns, until the board is secured to the case.

![3d_printing_install-huzzah.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/872/medium640/3d_printing_install-huzzah.jpg?1461274515)

![3d_printing_fasten-screws-huzzah.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/873/medium640/3d_printing_fasten-screws-huzzah.jpg?1461274531)

## Stick NeoPixel LED strips

Add pieces of double-sided tape to the back of each NeoPixel LED strips and stick it to the inside of the case. Reference the photo for&nbsp;best position.

![3d_printing_add-doublestick-strips.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/874/medium640/3d_printing_add-doublestick-strips.jpg?1461274704)

![3d_printing_stick-strips-to-bottom-case.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/875/medium640/3d_printing_stick-strips-to-bottom-case.jpg?1461274721)

## Secure Case Halves

Insert 6 #4-40 3/8 flat Phillips machine screws into the back of the case and fasten them in until they poke through the top. Place the top half over the bottom half and hole them together while fastening the screws all the way in.

![3d_printing_insert-6-screws-bottom-case.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/912/medium640/3d_printing_insert-6-screws-bottom-case.jpg?1461335863)

![3d_printing_fasten-screws.jpg](https://cdn-learn.adafruit.com/assets/assets/000/031/913/medium640/3d_printing_fasten-screws.jpg?1461335878)

![](https://cdn-learn.adafruit.com/assets/assets/000/031/880/medium800/3d_printing_final-test.jpg?1461275050)

## Final Assembly

Plug in a micro USB cable into the Adafruit HUZZAH ESP8266 and power it by either your computer or a 5V power supply.


## Featured Products

### Adafruit Feather HUZZAH with ESP8266 - Loose Headers

[Adafruit Feather HUZZAH with ESP8266 - Loose Headers](https://www.adafruit.com/product/2821)
Feather is the new development board from Adafruit, and like its namesake, it is thin, light, and lets you fly! We designed Feather to be a new standard for portable microcontroller cores.

This is the&nbsp; **Adafruit Feather HUZZAH ESP8266** &nbsp;- our take on an...

In Stock
[Buy Now](https://www.adafruit.com/product/2821)
[Related Guides to the Product](https://learn.adafruit.com/products/2821/guides)
### Adafruit Feather M0 WiFi - ATSAMD21 + ATWINC1500

[Adafruit Feather M0 WiFi - ATSAMD21 + ATWINC1500](https://www.adafruit.com/product/3010)
Feather is the new development board from Adafruit, and like its namesake it is thin, light, and lets you fly! We designed Feather to be a new standard for portable microcontroller cores. This is the&nbsp; **Adafruit Feather M0 WiFi&nbsp;w/ATWINC1500** - our take on an...

In Stock
[Buy Now](https://www.adafruit.com/product/3010)
[Related Guides to the Product](https://learn.adafruit.com/products/3010/guides)
### Adafruit Feather M0 WiFi with uFL - ATSAMD21 + ATWINC1500

[Adafruit Feather M0 WiFi with uFL - ATSAMD21 + ATWINC1500](https://www.adafruit.com/product/3061)
Feather is the new development board from Adafruit, and like its namesake it is thin, light, and lets you fly! We designed Feather to be a new standard for portable microcontroller cores. This is the&nbsp; **Adafruit Feather M0 WiFi&nbsp;w/ATWINC1500** - our take on an...

In Stock
[Buy Now](https://www.adafruit.com/product/3061)
[Related Guides to the Product](https://learn.adafruit.com/products/3061/guides)
### Adafruit NeoPixel Digital RGB LED Strip - White 30 LED

[Adafruit NeoPixel Digital RGB LED Strip - White 30 LED](https://www.adafruit.com/product/1376)
You thought it couldn't get better than [our world-famous 32-LED-per-meter Digital LED strip](http://adafruit.com/products/306) but we will prove you wrong! These NeoPixel strips have 30 digitally-addressable pixel LEDs per meter and are very affordable and are only 12.5 mm...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1376)
[Related Guides to the Product](https://learn.adafruit.com/products/1376/guides)
### Adafruit NeoPixel Digital RGB LED Strip - White 60 LED

[Adafruit NeoPixel Digital RGB LED Strip - White 60 LED](https://www.adafruit.com/product/1138)
You thought it couldn't get better than [our world-famous 32-LED-per-meter Digital LED strip](http://adafruit.com/products/306) but we will prove you wrong! You wanted **twice the LEDs**? We got it (well, its 1.875 times as many but that's within a margin of...

In Stock
[Buy Now](https://www.adafruit.com/product/1138)
[Related Guides to the Product](https://learn.adafruit.com/products/1138/guides)
### Adafruit NeoPixel Digital RGB LED Strip 144 LED - 1m White

[Adafruit NeoPixel Digital RGB LED Strip 144 LED - 1m White](https://www.adafruit.com/product/1507)
We crammed **ALL THE NEOPIXELS** into this strip! An unbelievable 144 individually-controllable LED pixels on a flexible PCB. It's completely out of control and ready for you to blink. This strip has a white mask, and an extra heavy flex PCB.  
  
These LED strips are even more...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1507)
[Related Guides to the Product](https://learn.adafruit.com/products/1507/guides)

## Related Guides

- [Adafruit Feather HUZZAH ESP8266](https://learn.adafruit.com/adafruit-feather-huzzah-esp8266.md)
- [Gemma-Powered NeoPixel LED Sound Reactive Drums](https://learn.adafruit.com/gemma-powered-neopixel-led-sound-reactive-drums.md)
- [Gmailbox](https://learn.adafruit.com/gmailbox.md)
- [MicroPython Basics: ESP8266 WebREPL](https://learn.adafruit.com/micropython-basics-esp8266-webrepl.md)
- [MicroPython Basics: How to Load MicroPython on a Board](https://learn.adafruit.com/micropython-basics-how-to-load-micropython-on-a-board.md)
- [MicroPython Hardware: SPI Devices](https://learn.adafruit.com/micropython-hardware-spi-devices.md)
- [WiFi OLED Display Badge](https://learn.adafruit.com/digital-display-badge.md)
- [MicroPython Hardware: Digital I/O](https://learn.adafruit.com/micropython-hardware-digital-i-slash-o.md)
- [Fair Weather Friend: Internet-Connected Migraine or Allergies Detector](https://learn.adafruit.com/fair-weather-friend-internet-connected-health-and-leisure-forecaster.md)
- [Festive Feather Holiday Lights](https://learn.adafruit.com/festive-feather-holiday-lights.md)
- [DIY ESP8266 Home Security with Lua and MQTT](https://learn.adafruit.com/diy-esp8266-home-security-with-lua-and-mqtt.md)
- [Trinket NeoPixel LED Longboard](https://learn.adafruit.com/trinket-neopixel-led-longboard.md)
- [Busy Box Interruption Sign](https://learn.adafruit.com/busy-box-interruption-sign.md)
- [Adafruit IO Basics: ESP8266 + Arduino](https://learn.adafruit.com/adafruit-io-basics-esp8266-arduino.md)
- [MicroPython Displays: Drawing Shapes](https://learn.adafruit.com/micropython-displays-drawing-shapes.md)
- [Debug Header for the Feather [M0]](https://learn.adafruit.com/make-a-simple-debugging-featherwing-for-the-m0.md)
