Musical MIDI Shoes using arduino
Like many people, I often find myself unconsciously tapping my feet, whether it’s along to a song or out of some nervous habit. As fun as that is though, I’ve always felt as if something has been missing. If only I could trigger the sounds of say, a rabid pack of furious jungle beasts instead of those boring old toe taps. Or, you know, drum sounds or something. I guess that’s cool too.
Well, now my dreams have been realized! In this instructable I’ll show you how to go about making a pair of awesome musical shoes.
Step 1: Materials: What You’ll Need
Bill of Materials
4 Force Sensitive Resistors
A lot of DIY drum pads have been made with piezoelectric transducers, but in my experience these are unreliable at best. For straight up drum pads they might work ok, but in shoes the sensors are always under a certain amount of pressure, they’re not just experiencing brief impacts. Piezos are fr
ustratingly delicate and unpredictable. They crack and bend easily, and the wires to which they are typically attached are usually pretty flimsy.
So, instead, you should use FSRs, or Force Sensitive Resistors. These components are easy-to-use, durable, and more reliable than piezos, at least in this application. Basically, the more pressure you apply to an FSR, the less resistive it becomes. Initially, it has infinite resistance, meaning it acts like a break in the circuit. I bought mine from adafruit. There are certainly other vendors, but I have no idea how and/or if they differ.
1 Pair of Shoes
Yes, this would seem to speak for itself, but there are actually a couple things to take into consideration. For my shoes I used a pair of thrift store skate shoes, the kind with a lot of padding in the heel. This is important, because you need something to conceal the jacks that you’ll install in the heel. Otherwise, your shoes are going to be pretty uncomfortable. For this reason, I wouldn’t recommend using thin-walled shoes like dress shoes, unless you want to add additional padding. Also, try to pick a shoe that has a rigid material on the outside of
the heel, as this will make mounting the jacks much easier.
4-6 10Kohm Resistors
These are pull-down resistors that will each be connected to ground and one end of each FSR.
The Arduino is an open source microcontr
oller – it enables communication between the FSRs and your computer. They are available from numerous vendors. If you’ve never done any programming before you might want to check out some of the tutorials.
1 Project Box
This will house the Arduino and serve as an interface between the shoes and computer. You can order a project box online, buy one at Radioshack, or use something you already have lying around that is more or less box-like.
8-10 1/8″ Mono/Stereo Jacks
You only have two heels and two toes, but the Arduino has six analog inputs, so you might as well give yourself the option of using those at some point in the future. Four of these jacks will go in your shoes, and the other 4-6 in the project box. You can get them from Radioshack, Digi-Key, and many other places.
4-6 1/8″ Mono/Stereo Cables
…for connecting the shoes to the interface. You’ll find them at most electronics-type stores, like Radioshack, Best Buy, or Future Shop. I’m sure you can order them online, too.
1 USB Cable
…for connecting the Arduino to your computer.
1 Roll of Electrical Tape
…for securing the sensors in the shoes.
Mad Foot-tapping Skillz
…quantities may vary.
Step 2: The Interface
You can do this project with just a breadboard and the Arduino, but for the sake of tidiness and portability, you should build a little interface. All you need to do is mount the Arduino in a project box, drill 4-6 (dependent on how many sensors you want to use) holes for the 1/8″ audio jacks, one hole for an LED, and a square hole for the Arduino’s USB jack. Then solder everything up and you’ll be good to go!
Each audio jack in the interface should have a 10K resistor and a lead for analog input connected to one terminal, and a lead for the 5V supply connected to the other. What terminals you use will depend on whether you have a mono or stereo jack. Both will work, stereo will just provide an additional, unnecessary terminal. The way this works is, we apply 5V across the FSR, so when we press it, it allows a little bit through, and the Arduino can look for this and send a signal to the computer.
Now, grab your soldering iron, some hookup wire, follow the schematic and the diagram, and you’ll be fine.
You could definitely add a lot of extra LEDs and whatnot to this box, i.e. one for every sensor or something. Additionally, it would be pretty straightforward to make a very simple shield for the Arduino using a protoboard and six or so male header pins. You could even get a more robust one made professionally by some PCB company on the interwebs. The prototype shown in this instructable is a pretty basic setup, so there’s lots of room left for expansion (literally, there’s plenty of free space in that box).
For more detail: Musical MIDI Shoes