The HDDJ is implemented as an embedded device, with a
Microchip PIC microcontroller with built-in support for serial-line
emulation over USB. The microcontroller operates a continuous
routine in which it polls the state of all eight buttons on the
device, calculates the spin velocity/direction of the spin-plate
based on the HDD motor outputs (cf. Figure 4), and samples the
position of the slider potentiometer. Only when a change of state
in any of the controls is detected, this information is
communicated to the PC via proprietary ASCII-based serial
protocol. In every poll cycle, the microcontroller program checks
the status of the incoming serial-line buffer for control data from
the PC. The HDDJ responds to commands to turn on or off any of
its built-in LEDs, or to set the position of the motorized slider. In
this way, the device, although self-contained, remains generic and
independent from any particular ColorDex program logic, with
the intention that it could be easily incorporated into a different
system. A planned revision to the firmware will add support for
the MIDI protocol over USB.
Bookmarks