Picture of PACMOD MIDI DJ Controller
For my son’s birthday I made him a DJ controller designed to resemble an old cabinet arcade machine. What follows is a brief overview of the process to make it, including code.

The Teensy was chosen as the brains because of the way it handles USB. Not only does it have native USB, rather than the FTDI USB-to-serial interface that turns making use of the port a series of work-arounds, but as you’ll see in the code the MIDI library makes writing the firmware a trivial pursuit.

Caveat: I found out later that my scaling of the sliders is off & doesn’t allow for full travel in Traktor. Since the controller is away at college with my son I haven’t had access to fix this. I’m certain that it’s just a matter of changing the scale factor, though.

The parts list:

Teensy 2.0 CPU from PJRC
7-inch sloped enclosure from iProjectBox
Sanwa Arcade Buttons from DJTechTools
Joystick from SparkFun
Slide potentiometers from SparkFun
Pot knobs from SparkFun
Panel adapter cable from AngledCables (When I made this 2 years ago AngledCables was about the only source for this adapter cable. Looking online recently I've decided to purchase some from AdaFruit at a much better price.)
Smaknart1 year ago

Hello, I am Extremely interested on your design, but Coming from a Novation Launchpad Back ground could you give me another CPU maybe that could withstand more than 25 Arcade Buttons?


RedBinary (author)  Smaknart1 year ago


Do you have any suggestions on one?

RedBinary (author)  Smaknart1 year ago

The Teensy DOES have 25 IO pins, though. it is actually the lowest IO count device that PJRC.com offers, so I would suggest going there first and looking for something you want.

If you need to more IO than the Teensy has to work with there are other ways to implement IO busses that use a few IO pins to control large IO fields. This way you can still have use of special pins. As an example, I have one design where I can control up to 256 outputs using 16 pins, also use the serial and USB ports, and still have unused pins too.

wow... nice controller. what did you use to cut the enclosure?
RedBinary (author)  kirkwoodwest1 year ago
Thanks! For the button holes I used a unibit (or stepped bit) and then a rotary file in a dremel to make the registration indentions. For the linear pots I drilled 2 tiny holes just outside the end of travel on each side and a cutoff wheel in a dremel to connect them, then a small flat file to empretty that.
casmithy2 years ago
In the parts list you link to a 4" enclosure, but looking at it and the size of the components, is that the 7" enclosure here?
RedBinary (author)  casmithy2 years ago
Yup! You are quite correct! I just went back and checked the invoice from iProjectBox and it is for the KB7-7

Thanks for pointing this out! I'll correct the text!
What was the total cost of this? Its super awesome!! Btw, happy birthday to Skrillex :-)
RedBinary (author)  thomasthetankengine2 years ago
I'll have to estimate a bit, but somewhere between $150 to $200.
This really is awesome! Definitely going to have a shot at something similar...cheers for the guide!
poofrabbit2 years ago
Congratulations on being a finalist in the DIY Audio Contest!! Good luck to you!
Tygur2 years ago
does it work with ableton live 8?
RedBinary (author)  Tygur2 years ago
I would venture to say yes, though I've never used Ableton Live. If you can specify the MIDI note numbers in the software then there absolutely should be no reason that it wouldn't. I know it worked well in Traktor (so my son said) with the exception noted in the Instructable about the scale of the sliders.
Tygur RedBinary2 years ago
you should definitely market these, and maybe try making some different models. I showed this to my friend (also a DJ) and he said he would pay upwards of $250 for a controller like this if it had some knobs, and maybe a few piano keys.
RedBinary (author)  Tygur2 years ago
I'd originally thought about an analog joystick. I don't recall now why I didn't end up using one. Those are encouraging words! I was talking to a guy I work with about it today and he was encouraging me to make a few to sell as well. I'm just not sure that they'd fly off the shelves though. Without investing quite a bit in some tools and hardware it'd cost quite a bit to make one-offs. I think I put about $150 or so in this one.
Tygur RedBinary2 years ago
i would definitely encourage pursuing every option. vintage arcade sounds and songs are becoming increasingly prevalent in EDM (electric dance music) and being able to mix them from a vintage arcade controller would be awesome! they may not fly off the shelves here, but EDM and vintage video games are the life nectar of europe, along with muscle cars, if you were to sell them online you would be sending a lot of packages to germany.
Tygur RedBinary2 years ago
also, a 360 degree joystick would be great for warping and resonance etc.
alexw21502 years ago
It has a really professional finish, and has a nice retro feel about it (I guess that was what you were trying to achieve :P) I hope you do well in the contests :)
RedBinary (author)  alexw21502 years ago
Thanks much!
cheesphht2 years ago
Looks neat. What does it do?
RedBinary (author)  cheesphht2 years ago
Thanks! It's a DJ controller. Basically it sends MIDI events over serial. DJ's use them to do things like trigger & manipulate samples & loops in real time.
Is there any video demonstration of this project? I really like the concept but I'd like to see it in action.
RedBinary (author)  hottamaleindustries2 years ago
Unfortunately no. I built this about 1.5 to 2 years ago for my son's 18th birthday. Since then his apartment got broken into and this was one of the things stolen.
Edgar2 years ago
I have a neat pack of Instructables to talk about, today on my Blog, and your's one of them! :)
RedBinary (author)  Edgar2 years ago
That's awesome! Thanks!
Edgar RedBinary2 years ago
Well, it's my pleasure to divulge this stuff, too! :)
RedBinary (author)  Edgar2 years ago
Don't forget to vote in the top right!
Edgar RedBinary2 years ago
They keep changing the look of this, but I've found it, now - Done!
RedBinary (author)  Edgar2 years ago
Thanks so much!!
ffcabral2 years ago
This is a great instructable. Thanks a lot!
While I'm not into controllerism or DJing myself, I'm an enthusiast of arcade gaming and it always excites me to see stuff done with arcade parts. The usefulness of this instructable, for me, is more because of the use of the Teensy. I just ordered one to use as a "fix" to a faulty joystick I bought, so I can get some tips from yours.
And the iProjectBox site seems really useful. Thanks for it!
As soon as it arrives and I put it to work, I'll finish the instructable I'm doing about it.
RedBinary (author)  ffcabral2 years ago
Thanks for the kind words! I know there are a couple of other development boards out there with similar features to the Teensy and I haven't used them, but I just can't overstate how much I like the Teensies! I even just used one at work as logic glue for an obsolete 84 zone heat controller.
Awesome! I usually play with Arduinos, but this time I chose to buy a Teensy due to its size. The joystick I'm gonna modify is a Competition Pro USB, that got not much space left inside (its original PCB is tiny), so the Teensy footprint is perfect for this project. And I know it can be recognized natively as a joystick device, so I'm going for it.