Do you want to become a superhero? Add an essential part to your Ironman costume or just put it under a white T-shirt. You'll have an Arc Reactor just like Tony Stark, Ironman, who needs the Arc Reactor to keep glass shards from killing him. This project uses Adafruit's Gemma microcontroller, a programmable microcontroller board, a single Flora RGB Smart NeoPixel, an LED solderable the the microcontroller, and Neopixel Ring with a ring of Neopixels, also solderable to the microcontroller. This circuit diagram is glued to two face-plates, which are lasercut Then, elastic is used to allow the circuit to be worn.
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: What Do You Need?
- GEMMA wearable microcontroller
- NeoPixel ring
- Flora RGB Smart NeoPixel
- JST Extension
- 3 x AAA Battery Holder with On/Off Switch and 2-Pin JST: http://www.adafruit.com/products/1463
- Velcro: http://www.adafruit.com/products/1463
- 2x laser-cut/etched acrylic in clear or white: http://www.adafruit.com/products/1463
- Black elastic: http://www.adafruit.com/products/1463
- 3x AAA battery
- Solid-core copper hookup wire
- Printer Paper
- E6000 craft glue or hot melt glue
- Needle and Thread
- USB cable - A/MicroB
- Solder Sucker
- Solder/Soldering Iron
- Helping Third Hand Tool
- Wire Strippers
- Flush Cutter
Step 2: Solder Electronic Parts
It's time to solder. If you are well versed in this area, go ahead and skip to step 4. If you are unconfident or new to soldering, read through the this and the next step. If you don't know what soldering means, it is to join metal objects with solder, an alloy fused and applied to the joint between metal objects to unite them without heating the objects to the melting point (Dictionary.com). If you don't know how to solder you can watch this video or other helpful You-tube videos.
Essentially, you are holding the hot soldering iron to the area in which you want to connect your wire to your electronic part. Hold both the wire and part with a helping hand tool, clipping both objects and holding the wire in the hole. Then, hold your soldering wire in the area, touching both metal parts, tapping lightly and quickly in the area in which you want to connect your pieces.
Step 3: Mistakes to Avoid While Soldering
1. Do not Touch the Wire Coverings with your Soldering Iron
The reason not to touch the wire covering is that when the solder touches it, it will melt the covering, affecting the effectiveness of the wire.
2. Don't Smother the Connection Area with solder
Also, make sure not to overcompensate by using too much solder, as I did. Use just enough to keep the wire firmly in place. Using too much solder makes the circuit look bad. Also, it could make the electronic connections weaker. You are best off with the wire directly touching the metal of the hole since the connection will be stronger.
3. Avoid the Neopixels
Finally, make sure not to touch the Neopixels, the chip on the Gemma microcontroller, and the two LEDs on the Gemma microcontroller with the soldering iron. This may melt and damage them from the high temperature. I had made this mistake and melted some of the outer edges of some of the Neopixels on my Neopixel ring. Lucklily, There was no damage to the pixels themselves and they worked just fine.
If you inadvertently make mistakes number one or two, simply use a solder sucker. A solder sucker is used to suck up solder from places in which you soldered inappropriately. To use a solder sucker place your solder in the soldered area (the side the wire came in) and the solder sucker on the other side, holding the solder sucker on the other side at ready. When the solder liquifies, as you hold your soldering iron at the soldered area, and release the solder sucker. The solder in the area should be mostly gone and the wire free from the metal of the electronic part. On damaged wires, you will want to do this for both sides of the wire and replace the wire (in the next step).
Step 4: Solder Circuit Together
This is the diagram you should be following. Copy exactly as said as well as in the order shown so there will be less clutter and tangling. The Vcc in the diagram is equivalent to the 2 V+'s on the current Arduino Gemma 2.0 version. Solder the pieces together with the NeoPixel Ring facing forward as is the singular NeoPixel (you only need one) in the center of the NeoPixel facing forward in front of the Gemma and the Gemma facing backwards behind the NeoPixel. Before you start to solder, you need to cut and strip 3 wires 2 cm each and 3 wires 3 cm each. Solid wire is preferred. Also, make sure the wires can fit through the holes of the Gemma, Neopixel ring, and Neopixel. Then, starting with the Neopixel ring, solder one side of the 2 cm wires onto one V+ hole on the RING, one onto the Data OUT hole, and one onto the GND ground hole. Make sure to insert the wires from the top down. Then solder the other side of the V+ hole wire onto the single Neopixel plus side, the Data Out to the lower arrow on the singular Neopixel, the one pointing towards the center and the GND ground to the negative on the Neopixel. The Neopixel ring and Neopixel should be facing the same way with the Neopixel centered in relation to the Neopixel ring and be slightly (1 to 2 cm) in front of the Neopixel Ring. Then, solder the 3 cm wires onto the Gemma microcontroller at the GND, D1, and Vout holes with the wires in front. The Gemma microcontroller will be facing the opposite direction as the Neopixel and Neopixel Ring. Also, have the Gemma microcontroller micro USB port facing up towards the Neopixel ring's data out hole. Then, bend the wires back and solder the other side of the wire soldered to the Gemma GND hole to the GND hole on the Neopixel ring. Solder the other side of the D1 cable to the Data In hole onto Data In on the Neopixel ring. Finally, solder the other side of the Vout wire to the Vcc wire. The Gemma microcontroller should also be centered, as the Neopixel is, laying slightly (1 to 2 cm) behind the Neopixel Ring as to make uploading programming easier.
Step 5: Test LEDs: Downloading Arduino and Adafruit Drivers
Next, you'll need to test your LEDs. First, download the 1.6.8 version of Arduino for the appropriate OS. Arduino is an open-source software and electronics platform used for writing and uploading code. After this, if you don't have the apppropriate drivers installed on your computer, download the appropriate Adafruit drivers. I downloaded and installed the Windows Adafruit Drivers at https://learn.adafruit.com/adafruit-arduino-ide-setup/windows-setup. Mac OSX and Linux setup are also availiable at the link on the right column. Follow the instructions stated on the website to install the driver software. For this particular project, install the Trinket / Pro Trinket / Gemma / USBtinyISP drivers.
Step 6: Testing the LEDs: Testing the Bootloader
Following this, open your command prompt by pressing the windows key and searching for it. Keep in mind the initial path of the command prompt. Next, you'll need to install AVRDUDE, a command line for programming AVR chips, including the Arduino Gemma 2.0, downloadable at http://www.ladyada.net/learn/avr/setup-win.html. Make sure you place the AVRDUDE files into the same path as shown on your command line so that it can be found by the command prompt. You will use this command prompt to test the programmer within your Arduino Gemma. Follow the step by step to download, then go to http://www.ladyada.net/learn/avr/setup-win.html. Open the command prompt and follow the steps on https://learn.adafruit.com/usbtinyisp/avrdude to test your bootloader. When you test the bootloader, the green light for PWR should be on and the red light below, representing that the bootloader is ready to receive programming should be flashing.
Step 7: Testing the LEDs: Uploading Sample Programming
Subsequently, upload the Adafruit NeoPixel library, which contains sample programming to test your LEDs and the Adafruit_NeoPixel.cpp, Adafruit_NeoPixel.h files which the example sketches call to. Rename this folder to Adafruit_Neopixel, or something similarly able to to remebered. Do not use any any hyphens or Arduino will not recognize the library. Then, open Arduino, and got to sketches, then import library, and import your file folder. Next, go under file, examples and then go to your file folder, then choose RGBW strandtest. Plug in the circuit from the Gemma microcontroller into a USB port on your computer using a USB micro B cable. Wait for the driver to be installed and recognized. Then verify and compile the programming of the strandtest. If successful, press the button between the programmer indicator and power on the Gemma microcontrolller, then quickly press upload on the Arduino programming. The yellow indicator should start flashing. This indicates that programming is ready to be uploaded to the boot loader. The program should start after about 5 seconds if successful. The program should allow the LEDs to turn on to bright green one at a time, starting with the Neopixel ring, going around the ring, and then to the Neopixel. Keep the circuit connected for the next step.
Step 8: Test LEDs: Copy and Upload Code for Blue Pulse
Now you know that your bootloader, circuit, and the proramming work. At this point, you then copy the code provided at https://learn.adafruit.com/superhero-power-plant/build-it near the bottom of the page. Then, close and reopen the Arduino app. Paste the code into the new file and compile and verify the code. If successful, then press the button which reboots the bootloader, between the PWR and D1- LEDs on the Gemma microcontroller. The D1 light should flash yellow to represent that it is ready to recieve programming. Remember again that the green PWR should be on, meaning that the microcontroller is receiving power. After you press the button, then quickly upload the programming. After the bottom command script runs the coding to search for errors and the bottom of the page indicates the upload is complete, wait a few seconds, then wait for the LEDs to start lighting up.
Step 9: Designing the Faceplates
Next you need to laser-cut the face plates (2 of the same). Download the files from http://www.thingiverse.com/thing:157296. Open it in any program you have available which corresponds to the file type. For example, I used Adobe Illustrator. The file I saved was not ready for laser-cutting, so I had made some edits. One of these edits was from the outside of the face plate, I had changed the RGB values of the outside vector lines. Black values in Adobe Illustrator will vector the lines meaning that they will be engraved when the laser cutter cuts. To change these values, first go to edit, then edit color, and select convert to RGB. Then, select the lines you want to edit with the direct selection tool. Next, go to the Fill tool (near the bottom of the tool bar), which looks like two squares, and select the upper square, which allows you to change the RGB values. For the outside two layers of the face plate, change the red value to 255 and the other values to zero, then select the red color by selecting the bullet point next to red. Red values of lines in Illustrator will be cut by laser cutter. Then I changed the thickness of the lines I edited, which you change by selecting lines and going to stroke in the top left. Then type in 0.001. You must do this with all lines which you wish to cut all the way through. Also, I changed the inside parts of all of the large openings on the face plates, to red boxes, with a 0.001 thickness, as shown above. Stripped copper wire will be put through these holes. These will act visually as coils. I also changed these to red 255 value lines as well. Next check the values of the other lines, individually selecting them and checking thier RGB values, which should be 0 for red, green, and blue. If you like you could make further aesthetic changes, you can, but make sure the holes in which the wire will go through is big enough and to keep the overall size the same. Finally, duplicate the faceplate.
Step 10: Lasercut Faceplates
Now, take a piece of thin acrylic and place it in the laser-cutter. Next, upload your file to a laser-cutting program like Universal Laser Cutter, and change the laser-cutting setting to Raster speed 50%, raster power 50%, vector speed 40%, vector power 100%, vector frequency 5000 if you have a 60 Watt Epilog. For information on laser cutters and how to use them, go to https://www.instructables.com/id/How-to-Use-a-Laser-Cutter/.
Step 11: Strip Copper Wire and Wrap Around Both Face-plates
Next, you use your wire stripper to strip off a part of your wire. After doing this you use your Pliers to guide the wire through the hole that your made in both face-plates, starting at a side of the hole and carefully filling each space to give the illusion of electric coils. Repeat the stripping and plying process until the hole is filled, then repeat with the other holes.
Step 12: Attach Battery Pack
Next, take your JST extension cable and plug it into the port opposite the Micro B USB port on the Gemma microcontroller. Make sure the connection is tight. Next, Take the opposite end of the JST cable and connect it to the battery pack. Take 3 working AAA batteries and put them into the battery pack as shown on the inside, the negative, or flat side going on the sides with springs in the battery pack and the positive, or the other side, on the flat metal side. Make sure to place the batteries with the negative side in first, as the spring is flexible.
Step 13: Glue Face-plates and Circuit Assembly Together
Cut out a circular piece of paper and center it onto the face plates so the edges touch the coils. I did this by placing a sheet of paper on the circuit and using a pencil to trace the inner sides of the coils, then cutting out the circle. Then glue the coils and paper together. This paper will block some of the brightness of the light from the Neopixels. This adds some realism to the power plant as it dampens the pulse of it to imitate a heart. The glue I used was hot glue. E6000 adhesive glue actually works better, but hot glue is faster, so if you are in a hurry, use hot glue. Next dab some glue on the coils. You may need to do this faster if you use hot glue as I did, since it solidifies at a quicker rate. After gluing the coils, quickly take the circuit and press the Neopixel ring lightly onto the coils.
Step 14: Sew Elastic Onto the Circuit
Next, wrap some elastic around your chest to get your approximate chest circumference. Make sure the elastic is tight around your chest so that it will not fall off when you wear it. Then, cut it to that length. Following this, wrap the elastic under the Gemma microcontroller. Then, take the two sides of the elastic, along with some needle and thread, press them together, and sew the two sides together tightly around the Gemma to keep the elastic secure to the circuit so the elastic will stay secure. Pierce the elastic trough both sides several times until it seems like it will be secure, then cut the thread where appropriate.
Step 15: Customization
You can make this same project with another face-plate design, available at http://www.thingiverse.com/thing:157296. Also, you can make your own program on Arduino and customize the color of the lights and their on and off pulsing. Everything you need to know is on https://www.arduino.cc/# under learning.
Step 16: Final Product
I did this project in my robotics class. For more instructables on DIY projects, go to http://www.berbawy.com/makers/.