Introduction: DIY Virtual DJ Midi Usb Controller

Picture of DIY Virtual DJ Midi Usb Controller

Hello guys, I am Gulshan Seetohul from Mauritius Island and in this instructable will show you how to make a diy midi controller for virtual dj.
I decided to make this as midi (via usb and converter software) controllers for virtual dj are too expensive.

It is very important for you to know that this instructable will be built from a cheap $10 gamepad that has at least 2 axes(x,y) and multiple buttons.

Step 1: You Will Need the Following...

Picture of You Will Need the Following...

You will need

1) A cheap gamepad
2) An electric solder
3) A glue gun
4) Push buttons
5) Potentiometers (depends how many axes your gamepad has). The value i used is 10Kohm as my gamepad originally had 10Kohm ones,it was written on the circuit board.
6) A project box (i used an ice cream box as prototype)
7) Good Soldering skills

Step 2: Opening the Gamepad

Picture of Opening the Gamepad

Its very easy to open the gamepad, just unscrew the screws and expose the printed circuit board.

Step 3: Find the Right Point of Connections.

Picture of Find the Right Point of Connections.

Ok, heres the tricky part of the project...
It all depends on your gamepad, once you have the circuit board in hand, you must refer to the layout of the buttons of the gamepad and try to identify where the buttons make contact.

Simply take a piece of wire(about 4 cm in length) and splice the ends, now try different contacts on the pcb and try to determine where are the grounds and where are the positives.

To easily know what buttons are being activated, got to control panel,then to game controllers,it will show you what buttons of the gamepad are being pressed(or activated through the short circuit you are making using the small wire).

Step 4: Solder the Push Buttons

Picture of Solder the Push Buttons

Now that you know where are the contacts that you need, use your skill and solder each contacts to wires,

note that colour coding makes it very easy!!

Step 5: Solder the Potentiometers

Picture of Solder the Potentiometers

Now you have to solder the potentiometers.

To know what are the connections of the potentiometer,simple
refer to the pictures below!

i colour coded mine as below:

Step 6: Put It in a BOx.

Picture of Put It in a BOx.

Finally,when you complete soldering all the needed wires, find a box and put all in :)

Mine was only a prototype (I didnt even rename the buttons) and i will improve it by putting leds and linear potentiometer (crossfader type).
I will also use a nice and large project box.

To be able to use it as as virtual dj controller, download a software called ''rejoice'' , it is free.
Then you just need to assign the buttons as you want in virtual dj.
For e.g play/pause or sync or effects or whatever function you need.
Do the same for the potentiometers (use as crossfader or equalizer or even volume).


LEIZERC (author)2016-02-29

Hello friend I'd like to know how I connect a linear potentiometer

GREAT IDEA SOS a genius, I'm from Spain

gulshan20 (author)LEIZERC2016-03-10

Hello, you just need to connect the 3 pins on the joystick onto the 3 pins of the linear potentiometer :)
It will work the same,as long as the linear pot is of the same resistance value as that of the joystick pot.

Finis VincentB (author)2015-12-07

hi there good day .this is vinz.where can i download 64bit rejoice.

jperez83 (author)2014-03-02


Is there any chances that it will work with TWO GAMPADS BOTH with same FUNCTIONS (Player 1 and Player 2)

please respond to my comment


gulshan20 (author)jperez832015-01-22

please read through the comments, i have already replied to this question.
You need to use "fergo midi joystick" software to combine the 2 gamepads , then you can proceed to mapping out the buttons.

thanks ;)

munilonko (author)2014-07-31

Hello I have a question. I'm building my midi controller and I want to put a light sensor ldr and use it as potentiometer. How do I do it? simply connect the LDR as a button more, or should i add something else? I'm a musician, not electrically. Nor speak English :) Greetings!

gulshan20 (author)munilonko2015-01-22

the LDR should have a range of 0-10K in order for you to use it :)
check with your local dealer for the LDR values ;)

joey.crespo.92 (author)2014-12-16

Can I use a pots with a higher value. like if the pots is supposed to be 10k can i use 100 k pots ?

gulshan20 (author)joey.crespo.922015-01-22

check on your board, the value of the potentiometer should be written somewhere there :)
Else use 10K pots.

Johnny Lavabo (author)2014-06-02

Hi! Very cool instructable! The only thing I don't understand is how you can map the potentiometers in vdj. I've searched and searched, but found no solution :/

ajalademola (author)2013-03-29

where do i download the rejoice software?

gulshan20 (author)ajalademola2013-04-01

U can simply google it ;)
Its a free software^^

TheRealDutchOwner (author)2012-01-15

It isn't cardboard. It's a PCB board.

SpankThat (author)2011-10-22

Excellent project dude! You inspire me ;)

gulshan20 (author)SpankThat2011-12-17

thank you:)
ur welcome:)

ezasčiurinskas (author)2011-10-15

Hi, i make that projecy. I have fergojoystickmidi. 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!!

martinqueija (author)2011-07-17

hey gulshan20 nice instructable btw!!! i am about to tare down a ps2 joystick to use it as a midi controller with multicontrol on mac.

correct me if im wrong.. each analog stick has two axis therefore 2 potenciometers per analog

am i right? so there are 4 potenciometers per joystick..

how do i cable a FADER (from an old mixer) to an axis of an analog to use it as a potenciometer instead of using the analog..??

hope you understood my question
thanks in advance

gulshan20 (author)martinqueija2011-07-21

Yes each stick has 2,on a rotatry potentiometer,there are three connections,namely power,signal and ground.on the slider potentiometer from the mixer also there are three connections,just google to find out which connections do what(signal ground or power) and connect them to the gamepad.

Beonic (author)2011-01-19

is it possible to connect a second pad to the first one for more functions
or seperate?

gulshan20 (author)Beonic2011-01-19

i once tried to figure this out but then later just dropped the idea as i am not using the device often.
U should basically be able to do it. use rejoice,there is a function of combining 2 or more gamepads and output them to a single midi.
try it and post your results.thanks for helping and trying further things about the project:)

mikergee (author)gulshan202011-01-20

i already try it and work perfectly, i separate the control deck 1 and 2 but you should open 2 rejoice application to control the other device. i also use MJoy because it can handle 2 joystick and more stable than rejoice but the problem is it can handle only 6 button per joystick. until i found a perfect software. its fergo joystick midi, i think its the best software to use.

gulshan20 (author)mikergee2011-01-20

hey thanks man:)
you found it:)
thanks for sharing the information:)
i will try the program you mentioned and test it:)
continue with the good work and share also:)

mikergee (author)gulshan202011-01-21

this is what i got so far. controller for 1 deck only but you can control 2 deck alternately or build another one for 2nd deck, i don't need the mixer area coz i'm using an external mixer, i have a previous design using keyboard circuit but i drop the idea when i found this joystick to midi project.

gulshan20 (author)mikergee2011-01-21

hey you made nice progress:)
it looks good too:)

i think i will now use my existing controller as a mixer, then i will build 2 other one to control the deck:)

next thing i need to figure is how to control rotary encoder,it can be used to search music in folders or it can be used as jogwheels:)

i will post any progress here itself:)

btw, in which country u live?

mikergee (author)gulshan202011-01-22

i have a rotary control in in mind, by using ball mouse sensor to control the scratch waveform, i will just place the cursor in the proper waveform and control it. i will let you know how i progress.

i'm from Manila Philippines

mdeichmann (author)mikergee2011-03-12

Hi! You guys are amazing! Creating these controlling from practically nothing!

Mikergee! I live in the philippines aswell,, wondered if you can help me build one,

basically what i need in one box is.....

6 toggle switches
4 knobs
3 sliders

what board can you recommend?

as you guys mentioned, a gamepad with two analog sticks can handle 4 pots? correct me if im wrong,, :)

as i understand..... sliders and knobs are analog?? (big question mark)

what can you suggest?

gulshan20 (author)mdeichmann2011-03-13

ok,firstly you need to know that, slider and knobs are both POTENTIOMETERS.It is just that they are different in shape but has exactly the same function!

ok,now,if you will build your controller from the same type of gamepad i used(the usual one from china),you will get 12 buttons,and 4 POTENTIOMETRES.
now,i said that you have 4 potentiometers,but you want 7 potentiometer(4knobs+3sliders), to do this,you will have to buy a second gamepad and do the same as for the first one.then,you can just use a usb hub to bond them.

i guess mikergee may help you better than i on this question.

mdeichmann (author)gulshan202011-03-14


thanks man,,, appreciate it! working today on my project,,,

i dont know if its a good thing,,, but i found a two in one gamepad,,, 2 gamepads connected to each other and has only 1 usb cable,,,


is it a must to download the mac software that you have mentioned? (junxion)

or i can continue with my project with out using the software?

thnx guys! il post the finished product when im done! more power!

gulshan20 (author)mdeichmann2011-03-14

you ABSOLUTELY need a software(e.g junxion) to be able ti convert HID data to midi data to be able to send data to virtual dj

aatencio (author)gulshan202011-03-14

gulshan, im really sorry,, i hope im not annoying you or anything,,, =)

i have downloaded the software, multi control,,,

i do get signals,, all i see when i press the switches are the values goin up and down,,, (0-127),,,

but,, what next? i have no clue what im lookin at,,,

im sorry,, i hope im not a pain... im sure once i get this,,, ill be creating tons more,,

thanks guys!

gulshan20 (author)aatencio2011-03-17

hi aatencio.

oh you do get signals,thats a good sign:)
now,if you get signals,you already know that your hardware is ok.
now if you are using a windows os,i recommend you the software 'Rejoice'.
i personally use this software and find it easy to may also use 'fergo joystick midi' but i have not tested it.

values going up and down means that your potentiometers are correctly hooked up.
try rejoice and see if its ok.

sorry for replying late.was very busy at school those few days.

mdeichmann (author)gulshan202011-03-25

Sure thing no prob! We all have to work sometime... hehe,,

oh yah by the way sorry for the last post (aatencio) i used my girlfriends account,, forgot to logout,,, well anyway,,,

sounds good then,, meaning i hooked everything correctly,, but my question is,,, how do i use it with m-audio torq? or serato? and im sorry to complicate things,, but im running a mac,, and the only software i can use is multi control...

i have no clue with what im doing,,,,,,, hehe,, thats why i come to you guys! i can see the numbers and the software responding to the pad,,, but what next? what do i have to do for it to work on torq???

mann.. im soo glad i have you guys to help!! big thanks guys!

gulshan20 (author)mdeichmann2011-03-26

ok so u have a mac,but the problem is,i don't:p
but it should be similar.

now,in the software u used,u got all the buttons and pots hooked correctly,meaning that u get values also(0-127)
now,i don't have the same software as u,so i cannot tell u exactly what to do,but u must search how to use the should be able to send all the midi data of your controller to a single midi outlet.

then u just have to configure it on virtual dj.
personally i don't have torq or serato but if these software are midi enabled,then u should configure the buttons and pots the same as u did for virtual dj.

btw,be patient,it will take some time:p
i myself took a very long time to know what i was doing:p
it is all about the software!!focuss on it!

hoped i help man:)

mikergee (author)mdeichmann2011-03-21

as far as i know all switches are all push button, the toggle function can be define in the software. (how you want to react the button)

may i ask what controller you are found(2 in 1)

i'm working on my new design using 3 controller, (2 dual shock and 1 regular pad) here the image

gulshan20 (author)mikergee2011-03-23

hey mikergee
your design seems very good man:)
looks professional:)
but how will you do the jogwheels?u found any solution?i haven't found anything,oh well,i do not have enough time to work on it:( exams are near:(

mikergee (author)gulshan202011-03-25

the jog wheel is just a simulation, its actually a 8 cm cd with sticker act as shuttle wheel like in vcr, you cannot rotate it. by just panning it left and right it will push a switch define as nudge in vdj.
i think it will take a lot of circuitry to make a jog wheel.

heres the actual panel design made in flexyglass ready to cut.

gulshan20 (author)mikergee2011-03-25

wow man u very good at this:)
am glad that people are actually happy about this project because i have not seen many of these tutorials/instructibles on the internet :p

good luck for the project man:) it will surely be very good:)
for the jogwheel,it can be made,but it cannot be incorporated within the gamepad's for it on google,because i dont actually have much information on it.

gulshan20 (author)mikergee2011-01-22

oh,but i was thinking differently, i was thinkg of replacing the potentiometers with a encoder itself.
An encoder is exactly as a potentiometer,but it can keep on rotating and rotating forever:)
yes,please post your rezults:)

regards,am from Mauritius:)

mikergee (author)mikergee2011-03-25

heres my prototype in action. hope you like it.

gulshan20 (author)mikergee2011-03-25

man your prototype is very very good:)
works well:)
btw,u made 1 for the other deck too?and try to use all the 4 potentiometers for more controls:) seems u used only 2:p

gulshan20 (author)Beonic2011-01-22

no,the 3 pots are not used for equalizer.
they are used as equalizer FADERS , that is, i can play the voice from 1 deck,and use the bass of the other deck. It makes mixing so much more easy:) .

yes,u can use 2 or more gamepads to get more functions, then you have to use a program called ''fergo joystick midi'' to be able to combine the gamepads into 1 single midi outlet.(thanks to mikergee who found this software)

as for the deck switching,i use it to apply effects and loop out button, that is ,when i press choose deck A and i press an effect button, the effect will be applied to deck A, similarly ,i can do the same for deck B.

please share any progress so that other people can save time investigating into the matter again:)

Beonic (author)gulshan202011-01-23

yeah i will post some progress soon
i have to order a new gamepad ...i damaged the first one =(

i like diy things and i like ur project so...
my idea is to create a full vdj controller like a dj mixer but without jogwheel

mikergee (author)Beonic2011-01-23

you can use a wired usb hub with 2 or or more port to connect all the joystick in one controller

gulshan20 (author)Beonic2011-01-23

yes please post your progress,and if possible,post pictures too:)
btw,we are currently working on how to use encoder wheels(jogwheels) into our DIY gamepad mod!
will post progress if any!

joearkay (author)2011-02-23

What did you solder the potentiometers too?

As in which part of the controller?

gulshan20 (author)joearkay2011-02-23

I soldered it to the existing potentiometers.(the analog sticks.)
Each analog stick has 2 axis,which means,2 potentiometers in 1 analog stick.
Just solder directly to the existing need to remove the old ones.

mikergee (author)gulshan202011-03-13

can you use the full length of the potentiometer? mine was about 70% only.

gulshan20 (author)mikergee2011-03-13

yes i can use the full length.
maybe the fact is that i use Rejoice and not Vergo midi.
check in virtual dj settings,i think there is something called 'Absolute Value' which regulates the length of the potentiometer.

joearkay (author)gulshan202011-02-23

Ok cheers :) what value of potentiometer did you use?, 100k?

gulshan20 (author)joearkay2011-02-23

No,i soldered 10k potentiometers.
At the back of the circuit board,it was writt 10k,sO i soldered 10k potentiometers=)
U can check whether yours is 10k or otherwise solder the value writtn there=)

About This Instructable



More by gulshan20:Automotive Remote Central LockingDIY Virtual DJ midi usb controller
Add instructable to: