Building the perfect third deck MIDI controller
I designed and built a custom Arduino-based MIDI controller to expand my DJ setup and enable a third track in my mixes. This personal project combined my passion for deep house music and my desire to learn Arduino programming. The controller seamlessly integrates with Rekordbox DJ software, adding layers to my performances and unlocking creative possibilities.
MY ROLE
Designer
Developer
Researcher
TOOLS & METHODS
Arduino IDE
Arduino C++ Programming
MIDI Protocol
Hairless MIDI
Digital/Analog I/O
PWM Control
Rekordbox Integration
TEAM
Tashfeen Ahmed
DURATION
3 months
Background
As a deep house DJ, I often felt limited by my two-channel Pioneer DJ controller, which restricted me to mixing just two tracks at a time. Adding a third track in real-time required switching between layers, which disrupted the flow of my sets. Inspired by my prior experiments with analog synthesisers and coded music sequences, I set out to build a custom MIDI controller that would integrate seamlessly with Rekordbox and offer dedicated controls for effects. Beyond supporting my performances, this project was an opportunity to deepen my knowledge of Arduino programming and MIDI protocols.
Process
1. Prototyping the Circuit
I began by designing the internal circuit using an Arduino Uno, six potentiometers, six LED indicators, and six push buttons. Each component was carefully selected to handle specific controls like volume, EQ, and effects toggles.
2. Programming MIDI Signals
Using the Arduino IDE, I wrote firmware to translate button presses and knob rotations into MIDI signals that the Rekordbox software could understand. I integrated Hairless MIDI as a bridge to connect the hardware via USB.
3. Physical Design
For durability and aesthetics, I built the casing from wood, ensuring it was spacious enough to house the circuitry while remaining compact for portability. The layout was optimised for quick, intuitive use during performances.
4. Testing & Refinement
I tested the device extensively during rehearsals, fine-tuning mappings and response times to ensure seamless integration with Rekordbox. Adjustments included refining LED feedback and improving button responsiveness for real-time use.
The internal circuit design features carefully arranged potentiometers and LED indicators
The complete setup integrated with my existing DJ equipment
Result
This project achieved its goal of adding a third deck to my DJ setup, enabling richer and more dynamic mixes. The MIDI controller's intuitive layout allowed me to trigger effects seamlessly during performances. Beyond improving my DJ sets, this project deepened my expertise in Arduino programming, MIDI protocols, and hardware integration. While initially designed for Rekordbox, I later experimented with mapping controls in Ableton, discovering even greater flexibility for studio use.