# 3D Printed LED Microphone Flag

## Overview

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

Want to wow the audience at your next gig? Light up those parties with a 3D Printed, LED sound reactive microphone flag. This project uses a microphone sensor to illuminate a custom 3d printed mic flag. You can design yours, or use our STLs to print and make your own!

Info: 

![](https://cdn-learn.adafruit.com/assets/assets/000/013/025/medium800thumb/3d_printing_mic-hero.jpg?1448311452)

## Parts & Supplies

- Microphone(Omnidirectional)
- [Gemma M0](https://www.adafruit.com/product/3501)&nbsp;or&nbsp;[Gemma v2](http://www.adafruit.com/products/1222)&nbsp;(M0 type is recommended!)
- [NeoPixel Ring](http://www.adafruit.com/products/1463)
- [Lithium Battery](http://www.adafruit.com/products/1570)
- [Mic Amp&nbsp;[MAX4466]](https://www.adafruit.com/products/1063)&nbsp;or&nbsp;[Mic Amp [MAX9814]&nbsp;](https://www.adafruit.com/product/1713)either will work
- Double-sided tape
- [Solder](http://www.adafruit.com/products/734)
- [20 gauge wire](http://www.adafruit.com/products/1311)
- [Heat Shrink](http://www.adafruit.com/products/344)

## Tools

- [3D Printer](http://www.adafruit.com/products/1292)
- [Soldering Iron](http://www.adafruit.com/products/303 "Link: http://www.adafruit.com/products/303")
- [Helping Third Hand](http://www.adafruit.com/products/291 "Link: http://www.adafruit.com/products/291")
- [Wire cutters](http://www.adafruit.com/products/527 "Link: http://www.adafruit.com/products/527")
- [Scissors](http://www.adafruit.com/products/1599)

# 3D Printed LED Microphone Flag

## Customize

![](https://cdn-learn.adafruit.com/assets/assets/000/013/013/medium800/3d_printing_mic-calipers.jpg?1387465528)

## Measure
Our 3D printed enclosure fits a standard microphone with a diameter of 30mm – 34mm. Your microphone may be sized differently, so you'll want to measure the diameter of your microphone using a digital caliper. Since most microphones have are tapered, you should measure the top of the microphone and the center to determine how much area the top and bottom covers of the mic flag need to be. ![](https://cdn-learn.adafruit.com/assets/assets/000/013/014/medium800/3d_printing_Screen_Shot_1.png?1387474078)

## 3D Modeling
We have created the parts in 123D Design in a way that allows you to customize the hole for the microphone. The three pieced design is setup so you can easily add a cylinder and cut it out of the two covers. The bottom and top covers are designed to snap tightly onto the frame. The frame has a cutout that fits the slide switch.  

## Bottom Cover
This part is were the circuits will reside. You'll notice this piece is has a smaller diameter and it has a pipe extruded on the edge of the cut out. This is so that the NeoPixel ring can rest on the pipe. The thickness of the pipe should be 1mm thick so that it can grip onto the NeoPixel Ring.   
  
To add a new diameter to the cover, you can add a new cylinder object to the top of the existing cylinder. In the top file menu, under primitives select the cylinder icon. Move your mouse curser over the center of the existing cylinder, it should automatically snap to the center. Use the bottom options menu to change the diameter of the cylinder. The height of the cylinder should be at least 2mm (default 20mm is fine). ![](https://cdn-learn.adafruit.com/assets/assets/000/013/015/medium800/3d_printing_Screen-Shot-2.png?1387476982)

## Combine + Subtract
You will need to subtract the cylinder to the cover so that it cuts the whole into the center. In the top file menu, select the combine icon and switch the option from Join to Subtract under the drop down menu. Select the bottom cover first, and then click on the cylinder second to highlight it. Press enter or click on an empty area on the grid to accept and confirm your cut out. ![](https://cdn-learn.adafruit.com/assets/assets/000/013/016/medium800/3d_printing_Screen-Shot-3.png?1387477256)

## Save + Export
You can now save and export your parts as an STL file. You can find the export STL option under the 123D Design file menu and selecting export STL. We recommend printing each piece individually so that you minimize the changes of a failed print (If you print out a set and something goes wrong, all your pieces will go bad, and thats no bueno!). To save out each part out of 123D, you can temporally delete the parts and leave one to export the STL individually outside of the set. Just remember to undo (cmd/cntrl+Z that baby!) after the export. Repeat for each part. Now onto slicing!# 3D Printed LED Microphone Flag

## 3D Printing

## Transparent PLA
We recommend using a transparent PLA material for the frame. This material is great for diffusing the LED lights from the NeoPixel ring. There are color options so you can get creative to match your design. ![](https://cdn-learn.adafruit.com/assets/assets/000/013/017/medium800/3d_printing_print-parts.jpg?1387493427)

[Download STLs](http://www.thingiverse.com/thing:208288)
# Printing Techniques
**Build Plate Preparations**  
There's a great [video tutorial](http://www.youtube.com/watch?v=VDnBXpFa7DY) by Dr. Henry Thomas who demonstrations a great technique for preparing acrylic build plates for awesome prints. Wipe down the plate with a paper towel lightly dabbed in acetone. Use another paper towel and apply a tiny dab of olive oil. Wipe down the plate so a small film of oil is applied, this will allow the parts to come off the plate easier.  
  
**Live Level**  
We recommend going raft-less for each piece because it will have the best quality result. Each piece will require a well leveled platform. We tend to "live level" our prints, meaning we adjust the build plates thumb screws while the print is laying down filament. This way we can make adjustments directly and improve the leveling by seeing how the extruders are laying down the first layer onto the build plate. We recommend watching the first layer so that you get a more successful print. If you see the layers aren't sticking or getting knocked off, you can always cancel print, peel it off and try again. ## Test for Tolerances
You will need to test your modifications to see if the bottom and top covers tightly fit onto your mic. Since each mic is different, you may need to do several tests before getting the tolerances right. Start by pushing your hand-held microphone through the bottom cover (the one with the smaller hole cut out and the extruded pipe). It should tightly fit onto the mic. Next, position the frame on top and snap it into the bottom cover. Now place the top cover over the mic. We had to remove our mic filter (the wired mesh was removable by unscrewing it) in order to get the top cover on. The top cover should rest on the ledge where the mic filter resides. The height of the frame, or the distance between the bottom and top cover should be enough to close the enclosure. # 3D Printed LED Microphone Flag

## Circuit Diagram

![](https://cdn-learn.adafruit.com/assets/assets/000/013/028/medium800/3d_printing_micFlag-circuit-Layout.jpg?1387497455)

Info: 

## Prototype Circuit
The circuit above illustrates how to connect the components together. You should prototype the circuit before soldering wires to the Gemma. The NeoPixel ring and Mic sensor will be connected to the Gemma. Connect three alligator clips to the NeoPixel Ring pins labeled, **GND** , **DIN** , and **5V**. These three alligator clips need to connect to the Gemma. **GND** on of the NeoPixel connects to **GND** pin of the Gemma. **DIN** pin of the NeoPixel connects to the **D1** pin of the Gemma. **5V** on the NeoPixel connects to the **vbat** pin of the Gemma.  
  
The mic sensor will also need three alligator clips. **VCC** of the mic sensor goes to **3v** on the Gemma. The **out** pin on the mic goes to **A1/D2** on the Gemma. **GND** of the mic sensor will shares the **GND** connected to the Gemma. The mic has an adjustable gain. On the back of the mic PCB, there's a tiny screw that you can adjust to lower or increase the sensitivity of the input gain.  
![](https://cdn-learn.adafruit.com/assets/assets/000/013/036/medium800/3d_printing_mic-adjust.jpg?1387500824)

## Trouble Shooting
Please take consideration when using alligator clips. If the circuit isn't working, double check the connections on the NeoPixel ring and the mic sensor. They have tiny pins and can often be difficult to alligator clip. If the prototype is too flakey, try soldering jumper wires to the pins of the NeoPixel ring and the mic sensor and then alligator clipping them to the Gemma. ![](https://cdn-learn.adafruit.com/assets/assets/000/013/029/medium800/3d_printing_prototype-circuit.jpg?1387497624)

## Soldering Circuit
First we need to measure the length of 20 gage wires. These wires are pretty thin. The minimum length of these wires should be around 60mm (2.3in). This should be long enough to position each component separately from each other but short enough not to clutter the inside of the frame. Cut and strip 6 pieces of wire (3 for the mic sensor and 3 for the NeoPixel ring). We've found the soldering process is a bit easier if you solder the wires to the NeoPixel Ring and mic sensor first, and then those wires to the Gemma. You can tin your connections by adding small amounts of solder to the pins. You can use a handy tool to hold your components while you solder.  
  
Since the NeoPixel Ring is mounted to the bottom cover, you'd get better lighting quality if you solder the wires coming from the back of the NeoPixel ring PCB. The mic sensor can have the wires soldered to the front of the PCB.   
  
Once the mic sensor and NeoPixel ring have the wires securely soldered, use the handy tool to hold the components and solder them to the Gemma. The mic sensor and neopixel ring are going to share the ground **GND** pin on the Gemma. ![](https://cdn-learn.adafruit.com/assets/assets/000/013/032/medium800/3d_printing_mic-solder.jpg?1387498201)

![](https://cdn-learn.adafruit.com/assets/assets/000/013/031/medium800/3d_printing_neopixilring-solder.jpg?1387498175)

![](https://cdn-learn.adafruit.com/assets/assets/000/013/034/medium800/3d_printing_soldering-components.jpg?1387498553)

## Battery + Switch
The slide switch needs to be connected to the lithium polymer battery so that the circuit can easily be powered on and off. To do this, first cut the RED wire connect of the lithium polymer battery. Now you will need to solder and connect one end of the red wire to the middle and left (or right) pin of the slide switch. See our circuit diagram to get a better visual idea. Please be very careful when you do this! Try hard not to pull out the wires from the battery and never let the red and black wires touch!  
![](https://cdn-learn.adafruit.com/assets/assets/000/013/030/medium800/3d_printing_battery-switch.jpg?1387498154)

With the power circuit assembled, plug in the lithium recharage battery to the JST port of the Gemma. Slide the switch and it should power on!

![](https://cdn-learn.adafruit.com/assets/assets/000/013/033/medium800/3d_printing_working-circuit.jpg?1387498404)

# 3D Printed LED Microphone Flag

## Assembly

![](https://cdn-learn.adafruit.com/assets/assets/000/013/035/medium800/3d_printing_circuit-layout.jpg?1387498706)

Position the working circuit onto the bottom cover. It's the one with the smaller hole cut out and the extruded pipe we made in 123D Design. Since the design is symmetrical, the covers will snap right onto the frame. The parts should be positioned close to the ends like shown in the photo above. The NeoPixel Ring should snuggly rest on top of the extruded pipe. Add pieces of foam tape to the bottom of the components to secure them in place. Don't ever let the components or wires touch!

![](https://cdn-learn.adafruit.com/assets/assets/000/013/020/medium800/3d_printing_attach-mic.jpg?1387494404)

Slide the hand held microphone from the bottom into the bottom cover. If you have a wired mic, string it down through the hole. The tolerance should be tight enough to hold the bottom flag piece in place. Take caution not to snag or damage any of the wiring from the circuit, be careful doing this!

![](https://cdn-learn.adafruit.com/assets/assets/000/013/021/medium800/3d_printing_attach-cover.jpg?1387494429)

Position the frame over the mic and align the slide switch up to the opening on the frame. The frame should tightly snap onto the bottom cover, securing it into place. If your microphone has a removable pop filter, now is a good time to remove it (most of them unscrew).

![](https://cdn-learn.adafruit.com/assets/assets/000/013/022/medium800/3d_printing_push-switch-throu.jpg?1387494454)

Use your index finger or tweezers to lightly push the slide switch through the cutout of the frame. The switch should have a nice fit but you'll want to use an adhesive to secure the slide switch into the frame. Be very careful not to let the pins of the switch touch the NeoPixel ring PCB!

![](https://cdn-learn.adafruit.com/assets/assets/000/013/023/medium800/3d_printing_attach-tops.jpg?1387494486)

Position the top cover over the mic and push it through the top of the mic. Gently snap the top cover piece into the frame. Now you can twist on the microphone filter until it securely holds the top piece in place.

![](https://cdn-learn.adafruit.com/assets/assets/000/013/024/medium800/3d_printing_mic-hero3.jpg?1387494526)

To personalize your 3D Printed mic flag, you can add a logo or text to one or all sides of the frame. The name or logo can be 3D printed or crafted with fabric or other neat materials! Remember, you can achieve a better sound reactive response by adjusting the mic amp gain until it only picks up audio that is the closest to it.

# 3D Printed LED Microphone Flag

## Arduino Code

Info: 

Installing Arduino libraries is a frequent stumbling block. If this is your first time, or simply needing a refresher, please read the&nbsp;[All About Arduino Libraries](http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use)&nbsp;tutorial.[![](../../../../assets/divider_icon-45a76f14a0234c47f43488c60c9d77a1701a0ff9f3a09498809a26305ce3df23.gif)](../../../../neopixel-punk-collar/3634)If the library is correctly installed (and the Arduino IDE is restarted), you should be able to navigate through the “File” rollover menus as follows:  
  
**File→Sketchbook→Libraries→Adafruit\_NeoPixel→strandtest**

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

From the&nbsp; **Tools→Board** &nbsp;menu, select&nbsp;the&nbsp;device you are using: **&nbsp;**

- **Adafruit Gemma M0**
- **Adafruit Gemma 8 MHz** &nbsp;

Connect the USB cable between the computer and your device. The original Gemma (8 MHz) need the reset button pressed on the board, then click the upload button (right arrow icon) in the Arduino IDE. You do not need to press the reset on the newer Gemma M0.

When the battery is connected, you should get a light show from the LEDs. All your pixels working? Great! You can take apart this prototype and get ready to put the pixels in the collar. Refer to the&nbsp;[NeoPixel Uberguide](../../../../adafruit-neopixel-uberguide)&nbsp;for more info.

&nbsp;

# 3D Printed LED Microphone Flag

## CircuitPython Code

![](https://cdn-learn.adafruit.com/assets/assets/000/048/259/medium800/3d_printing_gemma-cp.jpg?1510785478)

 **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**](../../../../adafruit-gemma-m0/circuitpython-setup-1).

Info: 

Below is CircuitPython code that works&nbsp;similarly (though not exactly 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_Microphone_Flag/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).

&nbsp;


## Related Guides

- [Sewable NeoPixels](https://learn.adafruit.com/flora-rgb-smart-pixels.md)
- [Adafruit Metro M4 Express featuring ATSAMD51](https://learn.adafruit.com/adafruit-metro-m4-express-featuring-atsamd51.md)
- [Walkmp3rson: Personal MP3 'Tape' Player](https://learn.adafruit.com/walkmp3rson-personal-mp3-tape-player.md)
- [NeoPixel Spats with Gemma and MakeCode](https://learn.adafruit.com/neopixel-spats.md)
- [PyBadge Thermal Camera Case](https://learn.adafruit.com/pybadge-thermal-camera-case.md)
- [Circuit Playground Seashell Pendant](https://learn.adafruit.com/circuit-playground-seashell-pendant.md)
- [Wireless NeoPixel Controller](https://learn.adafruit.com/neotrellis-neopixel-controller.md)
- [Light-Up Reactive Ukulele](https://learn.adafruit.com/light-up-reactive-ukulele.md)
- [Sparkle Motion Dance Shoes](https://learn.adafruit.com/sparkle-motion-dance-shoes.md)
- [Infinity Mirror Valentine's Candy Box](https://learn.adafruit.com/infinity-mirror-candy-box.md)
- [NeoPixel LED Necklace Insert with USB Charging](https://learn.adafruit.com/neopixel-led-necklace-insert-with-usb-charging.md)
- [Adafruit Feather RP2040 RFM69](https://learn.adafruit.com/feather-rp2040-rfm69.md)
- [NeoPixel Infinity Mirror Coaster](https://learn.adafruit.com/infinity-mirror-coaster.md)
- [MakeCode Maker](https://learn.adafruit.com/makecode-maker.md)
- [Wearable Continuous Temperature Monitor with Adafruit IO](https://learn.adafruit.com/wearable-temperature-monitor.md)
- [Capacitive Touch Unicorn Horn](https://learn.adafruit.com/capacitive-touch-unicorn-horn.md)
- [NES Emulator for RP2040 & RP2350 DVI Boards](https://learn.adafruit.com/nes-emulator-for-rp2040-dvi-boards.md)
