In the fall of 2010, as a final project for my Embedded Systems Design course, I designed and built a controller for Algoriddim Software’s dJay, a popular commercial DJ program. The controller centered around an Arduino Mega, which monitored a variety of input sensors including high-resolution rotary controllers, capacitive touch sensors, switches, resistive “slider” and others. Based on these inputs, the Mega generated MIDI signals over serial, which were then interpreted by the host computer using Spikenzie Labs’ Serial to MIDI Converter.
This project was only marginally successful. Documentation of the input protocol used by dJay was limited. Additionally, the latency caused by the communication system – usually around 103 ms – proved to be too great to allow effective DJing. Avenues for future work on this project include having the Arduino present to the computer as a MIDI over USB device rather than as a serial device, and increasing the number of controls available to the user.