Introduction: USB Midi Device From Old Gamepad

Picture of 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

Picture of Tools

small screwdrivers
soldering iron
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

Picture of 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

Picture of 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

Picture of Carefully Unscrew the Controller Board

Step 5: Gently Pry Controller Board From Gamepad

Picture of 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)

Picture of 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)

Picture of 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

Picture of 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)

Picture of 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

Picture of 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

Picture of 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)

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of Make Great Music

Special Thanks to:
All the makers of the free software, thanks for your hard work


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)

hawk090535 (author)kikinick12342016-08-17

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

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

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.

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?

HADJISTYLLIS (author)2009-06-25

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

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

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!

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

lovely, worked pretty great. thanks, man!

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 :

Reiniciar la PC.

Luego bajar el Fergo JoystickMidi de:

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.

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?

fthebunny1 (author)djokenzi2015-03-01

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

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?

NurI2 (author)2015-02-01

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

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

potato413 (author)2010-08-02

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

LeoVespertino (author)potato4132014-08-28

Same problem for me, I'm stuck there.

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?

cheft (author)nastika2010-04-04

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

djokenzi (author)cheft2014-02-03

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

djokenzi (author)djokenzi2014-02-03

Usually the potentiometers on the joypad have these signs:


103 = 10K

203 = 20K

503 = 50K

104 = 100K

124 = 120K

154 = 150K

lpaulo gularte (author)2013-08-01

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

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...

Taha99 (author)2013-12-21

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

djokenzi (author)Taha992014-02-03

To connect the potentiometers, you will need a gamepad that has axes. Check out this tutorial for more information:

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 '' 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?

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!!

Randallmarr (author)2011-03-14

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

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 we hev any or solution with this? tnx in advance

phevtron (author)2010-11-29

wanna see a vide plz :)

dj3gah (author)2010-10-09

tnx for this video info ...

Ghost Wolf (author)2010-06-30

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

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.

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?

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.

nastika (author)2010-04-25

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)?

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 ?

cheft (author)kbishop2010-04-22

Not really.

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??

cheft (author)PyroMonger2010-04-02

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

PyroMonger (author)cheft2010-04-02


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.

gladys45 (author)2010-03-11

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

cheft (author)2009-12-23

Not unless you have a PS2 to USB converter.

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.......

cheft (author)evilme2009-11-15

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

iGianlucaConidi (author)2009-11-14

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

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.

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!!!!!!!!!!!!!!

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!!!!

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



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: