You can spend a lot of money on an expensive USB Midi device, or make your own. You can buy HID USB boards and build your own totally from scratch. To make the process even easier, salvage an old USB gamepad and all you need is just a few parts. This project can easily be done for under $10, if you get cheap buttons and a second-hand controller.
What you need:
1 USB Gamepad (I used an old Gravis Gamepad Pro.)
1 small project box
10 push-button n.o. switches (Normally Open: Contact closes when button pressed.)
10 LEDs & 220-Ohm resistors (optional)
These parts should run you about $10, less if you scavenge LED and switches from old electronics. Substitute a small kid's lunch box for the project box and be old school!
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Tools
drill (I needed 1/4in and 5mm bits)
ruler and square
solder, solder braid (clean up messes)
rubber feet (so it doesn't move as you're jamming)
small spool of shielded wire
Step 2: Obtain a USB Gamepad
I got an old Gravis Gamepad Pro at a thrift store.
Step 3: Remove the Screws From the Back of the Gamepad
Make sure you have the gamepad disconnected from your computer first!
Step 4: Carefully Unscrew the Controller Board
Step 5: Gently Pry Controller Board From Gamepad
I also had to remove the purple buttons.
I tossed the plastic gamepad in the recycler since Gravis was kind enough to have their plastic stamped for recycling.
Step 6: Solder Wires to Each of the Two Contacts (see Next Step)
This needs to be done for each button you want to use. Color coding makes things easier.
Or solder using a ground. (see next step)
Step 7: Solder Wire Contacts With Ground (optional)
Alternatively, you can figure out which of the button contacts is the hot and which is ground. You can connect multiple grounds together. Each button's hot will still need its own wire.
Step 8: Label and Secure the Control Board
Label each wire and cover with tape to insulate from accidental short and to help hold onto the control board.
Step 9: Solder Resistor to the LEDs (optional)
Solder a 220-Ohm to the long (positive) end of each LED. This will insure your LEDs do not burn out. Extend the other peg with a wire to connect to a ground.
Step 10: Make a Template
Make a template for your device. Space your buttons apart for easy access but not too close as to accidentally trigger. I include my draft which is for a 15cm x 10cm x 6cm project box. I chose to use the base of the box because I didn't want to see the screws.
Step 11: Measure and Drill
Use a ruler and a square to find the center points for each hole and drill. Use a small bit to drill a pilot hole and increase the size slowly. You don't want to crack the plastic forcing a large bit. You can go ahead and mount in the switches after you have drilled all the holes.
Step 12: Solder LED to Switch (optional)
Solder the positive end that has the resistor attached to one end of the switch. It can be either pole of the switch.
Step 13: Secure the Control Board to the Project Box
I glued a piece of cardboard into the base of the project box and screwed the control board into it.
Step 14: Solder the Pad to the Switch
Solder the positive ends of the gamepad controls to the other pole of the switch. Connect up the ground ends to the common ground point.
Step 15: Drill Hole for Strain Relief
Use the strain relief the manufacturer provided. I drilled a hole in the back and fit it in so the cord can't be ripped from the assembly.
Step 16: Install Software
Joystick to Midi program ( MJoy, Joy2Midi, Rejoice, GlovePIE )
Virtual midi cable program ( MIDI Yoke or Maple Cable)
Mac users can use MultiControl or ControllerMate
Linux users, I don't know what application you need. I know they do exist however.
You will need to reboot after you install a virtual midi cable program.
If you have a joystick with more than x,y axis MJoy is the superior app. However it's limited to only six buttons. If your joystick has many buttons, Rejoice or Joy2Midi is better. GlovePIE requires some coding.
Set the Midi Out of joystick app to Midi Yoke 1. Then in your audio app, set Midi In to Midi Yoke 1.
Here is a video of someone using Midi Yoke and Rejoice:
*note: The link in the video for Rejoice is broken.
Step 17: Make Great Music
Special Thanks to:
All the makers of the free software, thanks for your hard work
Participated in the
Craftsman Workshop of the Future Contest
SamuelT12 made it!