freedj: build your own DJ deck

This is a little CDJ-style player you can make yourself. It's a dev board you can buy off the shelf, a 4" touch screen, and a jog wheel on a couple of skateboard bearings, in a case you print. Plug in your rekordbox USB stick and it plays your tracks with the waveforms, beat grids and cues you already set up. It even syncs with Pioneer players over Pro DJ Link.

If you've got a 3D printer and you've ever plugged an Arduino into a computer, you can build one.

The deck on my workbench: white printed case, black jog platter, screen playing a track.

What you need

No custom circuit boards. Everything is stuff you can order online.

How it goes together

  1. Print the case, the base and the jog platter. Start with the flat version: it prints with no supports.
  2. Press the bearings in, push the platter's shaft through them, and glue the magnet into the end of the shaft.
  3. Screw the sensor board onto the base under the magnet, the screen in behind the top, and the dev board onto the base.
  4. Wire it up with jumper wires: 11 to the screen, 5 to the sensor, 7 for the buttons and pitch slider.
  5. Flash the firmware from your computer over USB.
  6. Plug in a USB stick and play.

The full build guide is here: step-by-step instructions, wiring diagrams and the print files. The code and CAD are on GitHub: github.com/audiodestrukt/freedj-esp. Questions? Check the FAQ.

What it does

Here my XDJ-1000MK2 is controlling it over USB:

Coming later: playlists and track names from rekordbox, lit buttons, and a two deck version with a mixer.

Don't want to build hardware?

I might make kits (printed parts plus the electronics, ready to put together) if enough people want one. If you would, add yourself here or message me on Instagram, so I know there's interest.

There's a software version too, called freedj-3000. It runs on a Raspberry Pi, and on iPad and iPhone as OpenDeck DJ. Code: github.com/audiodestrukt/freedj-3000. (How that started.)

Help out

Build one and send me a photo. If something in the instructions is confusing, tell me. If you have a CDJ-3000, I'd love to know if sync works with it (test script). Bugs and ideas go in GitHub issues.

- Dan (audiodestrukt)


The code is GPL and the hardware files are CERN-OHL-S, so build it, change it, share it. The freedj name is mine though, so if you make your own version please call it something else. Not affiliated with Pioneer DJ / AlphaTheta.