Introduction: Human Jukebox

Co-Authored (and Modeled) by Tommy Kappenman

Become a wearable MP3 player with our project! This fully functional MP3 player will play actual music from an Android device when the project is done. To achieve this we used a chipKIT uC32 from Digilent and a 1Sheeld to talk to our Android.

For this project you will need,

An Android device with music on it and Bluetooth capabilities

1 chipKIT device, we used the chipKIT uC32 http://www.digilentinc.com/Products/Detail.cfm?Nav...

A 1sheeld http://www.1sheeld.com/

A Cardboard Box

Conductive paint (We used this stuff https://www.sparkfun.com/products/10994 )

El Wire (optional, but awesome! Takes two AA batteries)

AA Battery pack for chipKit (and 4 AA batteries)

Clear Packing Tape

A Breadboard

Wires x6 (Roughly 18", just long enough to reach each button from the breadboard)

Large resistors x6 (We used 2.74 MegaOhms, but you can get away with resistors as small as 100kOhms with some MPIDE coding skills)

6 shorter wires to connect the breadboard to the microcontroller

A pair of suspenders

Step 1: Find a Box

Find a box that fits your general body shape. The box does not need to be huge since our buttons wont end up being very large. We got this box from Walmart when they were restocking cereals. If you can find a box that is already a desired color like white, it might save you a lot of painting. We taped the flaps together to make it taller too.

Step 2: Sketch Out Your Buttons

Sketch out what buttons you want to be on your costume. We chose to include minus volume, plus volume, back, skip, play, and pause.

Step 3: Etch Out Your Buttons (Optional)

If you're planning on using El Wire to illuminate your buttons, you'll want to etch out grooves to put it in. We cut our sketch lines with a razor, then made the cuts wider with a Sim card holder.

Step 4: Paint the Box

The bulk of the time spent dressing up the box was painting it. This part was pretty self explanatory just throw a couple layers of paint on it until it looks nice.

When the body paint is dry, start painting the buttons with the conductive paint. You may have to dilute it a bit with some water because it is very thick. Paint only on the places you want to end up being buttons. We put 2 coats on each button to make sure they would work.

Step 5: Insert the El Wire (optional)

After the paint is all dry, make holes in the corners of the grooves you made earlier. Then feed in the end of the El Wire and feed it all the way through. Now feed it back through the same hole until you are left with a small loop of El Wire that can fill in the groove. Fill it in and continue to the next nearest button. In our pictures, we hadn't painted it yet, but we found out this was a mistake and had to redo it!

We also put a layer of tape over it to secure the El Wire, but make sure you don't put tape over the conductive paint.

Step 6: Wire Up the Buttons

Now that the box is painted, it's time to wire it up. When wiring up the buttons, we ran a wire through the El wire holes and bent the tip of it so that it pierced the conductive paint. We then painted over it with a good blob of more conductive paint to glue it down. Tape it secure on the inside of the box so that it doesn't move around and disconnect from the front of the box.

For the pause button, we attached the two buttons with a short wire.

Be sure that the wires will all reach one corner of the box, where the breadboard will go.

Step 7: Wire Up the Buttons (continued)

Because the 1Sheeld only has one row of pin connectors, we recommend using pins 3 through 8 like we did in our picture (instead of pins 26 through 31 in the Fritzing diagram, sorry for the mix-up!).

Then wire up your buttons on the breadboard in order! For this demo our layout was

Pin 3 : Minus Volume

Pin 4 : Back

Pin 5 : Play

Pin 6 : Pause

Pin 7 : Next

Pin 8 : Plus Volume

(Optional) If you're good at soldering and tech savvy: We made ourselves a shield (last picture) to secure the resistors better because you don't want the "microcontroller pin sides" of the resistors to touch!

Step 8: Secure and Power It

At this point you've got wires everywhere, so figure out where you want them to go and tape them down. We also found a small box and used Velcro to secure it on the inside corner. We then placed the battery pack, breadboard, and uC32/1sheeld in there and secured them with Velcro as well.

If your battery pack doesn't have a barrel jack attachment, you can just run the ground wire to gnd on the 1Sheeld, and the positive wire to Vin.

Step 9: Program Your Board

chipKIT uses MPIDE to program their boards. First, if you haven't, install MPIDE from chipkit.net

Also, download the necessary libraries and MPIDE project above.

Make sure you start up MPIDE and close it before you continue. Now, go into your Documents/mpide folder, and if there isn't a folder there already, create a folder called Libraries. Copy the contents of the libraries folder in the zip file into this folder. *You must restart MPIDE after copying in the library files for it to recognize them* This folder contains a capacitive sensor Arduino library (found at http://playground.arduino.cc/Main/CapacitiveSenso... that has been ported to work with a PIC32, as well as 1Sheeld's libraries ported to work with a PIC32.

Then copy the entire HumanJukebox folder from the zip file to the mpide folder and open the .pde sketch file in MPIDE.

From this point all you should have to do is upload the sketch file to your chipKIT device by plugging in the USB cable, selecting your board and serial port (under tools in MPIDE), and clicking upload.

*NOTE* If you used different resistor values, you'll probably have to adjust the sensitivity of the capacitive touch functions. You can do this by changing the "if (____val>700)" lines within the sketch file. Lowering the value makes it more sensitive (for lower resistor values). You can check what values are actually coming out by printing the values to the serial monitor. You'll have to do this while the OneSheeld is off.

It is also important that if you have an older 1Sheeld, that you switch the UART-switch to decoupled before programming, and then switching it on when it has finished.

Step 10: Get the 1Sheeld App

You can find the 1Sheeld app on Google Play (iOS not supported). From here, you can pair your Android device up with the 1Sheeld via bluetooth, add music to the Music app within 1Sheeld app, and control it with your painted buttons!

Throw some suspenders on it and you're a fashionable human MP3 player!

The music will play from your phone's speakers, but you can plug in your own portable speaker. We had a Rock-It 3.0 and stuck it to the inside of the box to turn the box into a speaker!

Have fun and feel free to comment if you've got any questions!

Halloween Costume Contest

Participated in the
Halloween Costume Contest

First Time Author Challenge

Participated in the
First Time Author Challenge

Microcontroller Contest

Participated in the
Microcontroller Contest