Introduction: USB Midi Device From Old Gamepad

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!

Step 1: Tools

Equipment:
small screwdrivers
soldering iron
solder
drill (I needed 1/4in and 5mm bits)
wire cutters/strippers
ruler and square
electrical tape
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

PC Users:
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
djtechtools.com

Comments

author
kikinick1234 (author)2014-06-10

i still confuse how to connect the led to triggering? but i make it paraller and finally i done!
(sorry for my language im not english)

temp_-923493055.jpg
author
hawk090535 (author)kikinick12342016-08-17

are the arcade buttons powered by 12V or 5V?

author
PaulL216 (author)kikinick12342016-08-15

looks great, could you help me with the wiring. My game pad doesn't have the dot to determine ground? Any help I'd be very grateful, thanks

author
shaider328 (author)2016-06-27

Hi guys! just have a question on the led part. Does it light up on press?.. cause if it is... this is freaking awesome. Im planning to make a midi fighter style out of this project.

author
shaider328 (author)shaider3282016-06-27

And is 220ohms resistor enough to make ultrabright leds lit up? Or what happens to the leds if i press buttons simultaneously?

author
HADJISTYLLIS (author)2009-06-25

I installed MIDI YOKE but i can't find ed on my PC?

author

Same problem for me!! Anybody out there to help us?

author

You've probably already figured it out, but just in case -- when you install Midi Yoke it's not a program that you run to use. It sets up virtual midi ports in your computer that you can use within other programs. After installation open any program that can send or receive midi and you should see Midi Yoke inputs and outputs listed there. Good luck!

author
SamuelT12 made it! (author)2015-08-06

lovely, worked pretty great. thanks, man!

gamidi_diy.jpggamidi1.jpg
author
Claudio B (author)2015-03-31

Genial!!! Funciona perfecto.

En mi caso quería armar un foot switch casero para el programa Amplitube3 (para controlar los pedales).

Primero bajar e instalar el Midi Yoke de : http://www.midiox.com/zip/MidiYokeSetup.msi

Reiniciar la PC.

Luego bajar el Fergo JoystickMidi de:

http://fergonez.net/index.php?lang=pt&page=apps&pid=14.

Instalarlo y configurar los botones del joystick que vamos a utilizar (es sencillo).

En la parte Setup - Output device: Out To MIDI Yoke: 1

Dejar encendido el programa Fergo JoystickMIDI.

Luego en el programa que quieras usar (AmpliTube3, Reason, Ableton) , seleccionar como midi input: In From Midi Yoke: 1

Con cada botón del joystick pude encender y apagar cada pedal virtual.

Desde el programa Fergo JoystickMidi podemos configurar si cuando toquemos el botón funcione como un timbre, (mientras esté presionado funcione y al soltarlo no), o como un interruptor (al presionarlo enciende y hay que volver a presionarlo para apagarlo) .

En el caso de los pedales para Amplitube lo uso como interruptor para encender y apagar cada pedal.

Podemos usar los controles anlógicos del Joystick por ejemplo para usar un pedal de expresión como el wah wah.

author
djokenzi (author)2014-02-03

Is there a way to connect the LEDs and control them with software? For example, if I connect a button and assign it to Low Kill in Traktor PRO, can I assign the output to LED so when i press the button and activate a low kill the LED lights up, and when I press the button again to deactivate low kill the LED turns off?

author
fthebunny1 (author)djokenzi2015-03-01

I know I'm one year late, but look about the teensy board it offers midi support

author
heavyweather (author)2015-02-08

I want to do something very similar only do I need ir-slot sensors to trigger the Buttons...any idea?

author
NurI2 (author)2015-02-01

Bagus artikelnya,, sangat bermanfaat... ^_^

Share juga 14.279 Midi Karaoke Full Lirik (1 Link Download)

www.karaokemidiku.blogspot.com

author
potato413 (author)2010-08-02

Can you explain the soldering more? I don't really understand how you can solder to a pcb contact.

author
LeoVespertino (author)potato4132014-08-28

Same problem for me, I'm stuck there.

author
nastika (author)2010-04-04

hi, can anyone tell me if i can convert (replace) axis buttons to analog fader. if it can be done how should i do it?
THX

author
cheft (author)nastika2010-04-04

You can remove the analog joysticks, and replace them with 100K potentiometers for a total of 4.

author
djokenzi (author)cheft2014-02-03

It depends on the joypad. He should check the resistance of the potentiometer first: mine uses 10K potentiometers.

author
djokenzi (author)djokenzi2014-02-03

Usually the potentiometers on the joypad have these signs:

CODE = RESISTANCE

103 = 10K

203 = 20K

503 = 50K

104 = 100K

124 = 120K

154 = 150K

author
lpaulo gularte (author)2013-08-01

the leds will not turn off when I drop the button?

author
djokenzi (author)lpaulo gularte2014-02-03

That's what I want to know also... Seems to me that they will turn off.

It would be cool if they could be mapped to respond to a particular software, like Traktor PRO...

author
Taha99 (author)2013-12-21

I Cant Understand How to connect the LEDs , can i connect potentiometers , How?

author
djokenzi (author)Taha992014-02-03

To connect the potentiometers, you will need a gamepad that has axes. Check out this tutorial for more information: https://www.instructables.com/id/DIY-Virtual-DJ-mid...

author
tudgeanator (author)2011-12-20

Does anyone know of a link to download Rejoice that actually works?

All the links I've found have a thing on them whereby you have to email 'steve@epals.com' or they will 'stop working after 7 days'. They work for a couple of days and then stop working, even if you do email this address (which I presume is a scam for spammers). Any help?

author
ezasčiurinskas (author)2011-10-24

Hi, i make that project. I have fergo joystick midi. It works perfectly on ableton 8.2.2 but not working on Traktor and virtual dj! I dont like ableton I wanna Traktor or virtual dJ! Please HELP!!

author
Randallmarr (author)2011-03-14

BCD3000- Ah. Me to. : )
Nice job btw.

author
dj3gah (author)2011-03-13

hi there in my project everytings working but the thing is everytime i open the multi control and use the gamepad i have to re calibrate again and again.the settings in multi...do we hev any or solution with this? tnx in advance

author
phevtron (author)2010-11-29

wanna see a vide plz :)

author
dj3gah (author)2010-10-09

tnx for this video info ...

author
Ghost Wolf (author)2010-06-30

What does it do? Because a small description would be nice (friendly criticism).

author
then-comes-dudley (author)2009-12-10

 Great hack; I picked up a $10 Alienware one just for something like this. Do you know if that software also transmits CC messages from joysticks? I'm thinking that the 2 joysticks would make fantastic X-Y controllers for something like Ableton Live, or modwheels for various softsynths.

author

Know that it's been a while, but was thinking about the joysticks making good x-y controllers too... Did you have a go at this? did it work out nicely?

author

Haha, sadly I never did get around to it; I ended up getting a Novation Launchpad instead. But I'd imagine they'd work just fine, as long as you tweak some settings in whatever gamepad-to-MIDI program you're using. (Live lets you map keyboard keys to specific functions, but I doubt that's doable with joysticks.) Get a cheapo gamepad & try it out.

author
nastika (author)2010-04-25

Hi,
While soldeing the tin melts contacts on the board (tin was not captured on the board).
what tin have you been using?
is there any soldering method while working with such board (printed boards)?
THX

author
kbishop (author)2010-04-22

I wonder..about the last comment, is there any chance putting an analog fader between 2 buttons and make it work as a mixer fader ?

author
cheft (author)kbishop2010-04-22

Not really.

author
PyroMonger (author)2010-04-02

Can anyone point me to a program that allows me to do exactly this but with HOTKEYS instead of MIDI synths??

author
cheft (author)PyroMonger2010-04-02

GlovePIE can convert the gamepad into almost anything, including key presses.

author
PyroMonger (author)cheft2010-04-02

thanks

author
iamgreatbob (author)2010-03-25

Where is a good place to get all of the supplies for this cheap? Cause I went to my local radio shack and just the switches and a project box would have put me over $15.

author
gladys45 (author)2010-03-11

 patch the cord back together, and look for PS2 controller to Parallel port mods.

author
cheft (author)2009-12-23

Not unless you have a PS2 to USB converter.

author
evilme (author)2009-11-04

Hey, just random but any ways,  you could hack this and one of those external number  together, make a compact professional looking box, just thinking.......

author
cheft (author)evilme2009-11-15

Sure you can, but I wanted this project to prove you could build something for less than $10 USD,

author
iGianlucaConidi (author)2009-11-14

I would like if i used differents led to understand that resistance should i use?
could use witouth resistance?

author
cheft (author)iGianlucaConidi2009-11-15

You must use resistors otherwise you will burn out the LED in no time. Look for a LED resistor calculator on the internet to determine what you need for your project.

author
mastermakoko (author)2009-09-26

oooo and can i change the button into the one like in your unopad instructables????? it wont be cool if there is only normal buttons!!!!!!!!!!!!!!

author
amplex (author)2009-06-30

different leds might need different size resistors. in practice ive found that most schematics use 4.7k resistors to protect leds but these make them too dim. but the leds i buy in general need only 270ohm or so to be brightly lit. experiment because some leds have different voltage capacities/current usage etc. this is an awesome project idea btw!!!!

author
WillTheRescue (author)2009-05-23

I've been running out of enough midi controllers in Ableton (For the type of thing I do) I must build one of these! I can see my practice space being loaded with USB extensions and hubs, plus a bunch of gaming controllers by the time this weekend is over.

About This Instructable

161,387views

129favorites

More by cheft:Turn a Trackpad From a Broken Laptop into a PS/2 MouseVelocity Sensitive Drum Trigger from Old HeadphonesHow to Create a MIDI Map for the BCD3000 in Traktor Pro
Add instructable to: