DJ hardware has remained expensive over the years, defying the general trend of other electronics getting cheaper and cheaper. For a beginner, it feels like the choice is to either go for a small starter-controller or fork out what is for most people a cost-prohibitive amount of money for a full set of decks (up to 4) and a mixer, which can set you back upwards of $10k for the full set.
I am convinced that the cost of the hardware itself has to be significantly lower than what most brands charge – sure, back in the day with analogue electronics and manual circuit board assembly I can maybe understand, but these days everything is processed digitally and microcontrollers are cheap.
So, I’m setting out to prove this to myself by making a fully open sourced piece of hardware and software as a replacement for expensive CDJs/XDJs/SCs, etc. By fully open source I mean:
- The entire design will be completed using open source pieces of software (3D modelling, circuit board design, etc.)
- All native files will be made available so that users can edit them, everything will be designed with modification in mind
- All items will either be:
- 3D printed, designed to minimise printing time (and therefore cost)
- Off the shelf and chosen based on ease of availability and/or substitution
- PCB(s) designed to minimise price and potentially ease of assembly (TBC if possible once I get going on this side of things)
This project is also going to stretch my abilities (and if I’m not doing that, then really, what’s the point). It’s a big undertaking and I’ll be tackling a few things I haven’t dealt with in the past:
- Analogue circuit design (required for audio line-out output)
- Large number of 3D printed components that fit together
- New 3D modelling software (OpenSCAD) as previously I’ve generally used SolidWorks
- On-the-fly manipulation of audio – I still have to do some experimentation to select a controller so I’m not sure if I’ll need a DSP or if a microcontroller will do, but either way there will be a steep learning curve
So far, I’ve been focusing on the jogwheel design since this is what the Decks are centred around. If the jogwheel doesn’t feel right and work robustly, then the whole thing doesn’t work. In general, DJ decks and controllers are either mechanical or capacitive, or have a motor driven platter.
Mechanical is the more common option for existing CDJ-type hardware on the market so I’ve decided to go with this – it’s a bit more forgiving in terms of treatment, and an interesting design challenge. The central flat surface of the jogwheel sits on springs and a pressure sensitive pad which detects when it’s being pressed. Rotationally the central surface is linked to the external ring, but when touching or pushing down on the outer ring, the pressure is transferred through different bearings and the central pad isn’t loaded. I’ve run off a rough first iteration and am currently working through the set of changes and improvements I wanted to make and will get another print going in the next week.
Once that’s done, I can use it to start working on some basic software on a RaspberryPi with an off-the-shelf sound board (for initial testing only, for simplicity’s sake), while stress testing the mechanical design, and iteratively improving its robustness.
That’s about where things are at right now, but as I’ve said above, lots of this is new to my. If anything strikes you as an odd or incorrect design choice, please, let me know – I don’t know what I’m doing!