Last week we spotted a unique DIY project on the web where an enterprising DJ had taken old Pioneer CDJ-800s and using an Arduino board, converted them to be full-fledged MIDI jog wheel controllers for Traktor. We love the idea of taking old DJ equipment and turning it into useful modern tools, so we reached out to the man behind the project, Lee Smith. In today’s article, he shares how he made this advanced project happen – read on.
CDJ-800s + Teensy = Traktor Controllers
Before we dive into the how and why of this incredible project, here’s the overview video showing two CDJ-800 MK1s converted into fully useable MIDI-controllers running into Traktor. The video is courtesy of the UK-based Lee Smith, who is an experienced CDJ repairman for the local Nottingham community:
This project is impressive because it takes CDJ-800 MK1s (made over ten years ago and which never had any way to directly control a digital software without timecode CDs) and makes them as useful as a jogwheel on a Kontrol S4. CDJ-800s are regularly available on eBay / Craigslist and other used gear markets for less than $250 each (sometimes closer to $100), making them very reasonably priced for this type of project. What’s especially interesting is that they can be broken units – Lee writes:
“The CDJ-800s do not have to work, [they] can have bad displays, not reading CDs, or even be dead. In theory a CDJ-1000 mk1-mk3 can also be converted too.”
Salvaged CDJ-800s: Behind The Project
We asked Lee what the genesis of this unique project was – and he wrote:
“I service and repair CDJs and turntables for local bars in Nottingham and had 3 CDJ-800s in very bad condition. I took all the best parts and made a good one for the manager at the bar I took these from.[The other two] sat on a shelf for at least a year and this is something I always wanted to try, but never had the time and didn’t think I could actually do it. While working at The National Video Arcade repairing and converting old games, I worked with Alex, who is a very good Arduino programmer. She helped me out a few times and I picked up a few things and thought “I can use this to convert those CDJs!”, so after a few more questions I decided to give it a go. I chose the Teensy because of the number if I/O ports and the fact that it comes with HID MIDI as part of its default libraries.
It’s one thing to start gathering all the tools for a project and another one entirely to actually make it happen. Lee had a vision in mind already, so the main obstacle was just figuring out what controls from the CDJ’s boards did what. Being a repairman, he has access to a key resource: Pioneer’s service manuals:
I started with looking at the service manuals and learning how the buttons connect to the control chip. The jog wheel is just a very precise encoder and the pitch is a variable resistor. I found that the buttons work in 5 groups and each one has a resistor value that pulls down the voltage a set amount. I split the cue and play and put them on dedicated inputs, but left the others alone. My first attempt was using a bread board and looks like a spiders web. (This is the MK1, on the left in the below picture)
I refined this with a vero board design and make sure I could remove connections (mk2). This was still a “design it as I go along” project, and the 3rd go looks a lot better (mk3).”
Beyond the connections, Lee also had to tackle programming the Teensy board to actually send out the output that would be useable and MIDI mappable in Traktor. He writes:
“The Teensy is so easy to work with. My biggest problem is latency and reading the jog wheel. I was using delays to change the speed when I pressed the jog wheel against not pressing it and wanting to nudge, but this made button presses less responsive, so with the help of Alex we looked at working out the velocity of the wheel per second as a way of speeding up and slowing down the MIDI commands sent to Traktor to move the track. I have the 14-bit pitch working and [just recently] figured out I was sending the wrong command for the jog wheel movement so it’s now working like a proper CDJ.
Traktor mapping was not too hard as for as inputs go, but turning LEDs on and off can get hard very quick. I can switch any LED on or off from Traktor and every button is mapped via MIDI.”
Build Guide + More Details
Lee Smith has been kind enough to provide all of his work to the DJTT community and the internet at large – including an Imgur gallery (embedded above) that allows anyone to see his solder points on the CDJ-800 circuit boards, specific connections, and more (it’s still an evolving work in progress, just like the project itself). Have questions about this conversion process? Speak up in the comments below and we’ll make sure he takes a peak at them!
Want more DIY projects like this for DJ gear? Check out our guide on building your own MIDI controller with a Teensy board.