MIDI/DJ Controller with Arduino
October 2022 - February 2023
This project involved designing and building a fully functional MIDI/DJ controller from scratch using an Arduino Nano as the central processing unit. The controller was specifically designed for use with VirtualDJ software and has been successfully used in multiple live DJ performances.
Hardware Design
The controller features an extensive input array that includes:
- 32 analog inputs (faders, potentiometers, and rotary encoders)
- 16 digital inputs (buttons and switches)
- RGB LED feedback indicators for various controller states
MIDI controller PCB closeup
Technical Implementation
To handle the large number of inputs with the limited I/O pins available on the Arduino Nano, I implemented:
3D Printed Push buttons
- Three 16-channel multiplexers (CD74HC4067) for input expansion
- Custom PCB design for reliable connections between components
- Efficient interrupt-based polling system for responsive controls
- Virtual serial port to MIDI converter for communication with the host computer
Case Design
The controller's case was designed using 3D modeling software and 3D printed in multiple parts for easy assembly and maintenance. The case design features:
Custom MIDI controller PCB closeup
- Integrated cable management for a clean setup
- Modular design for easy access to internal components
- Customizable faceplate for different control layouts
Behind the Stage
Connections and wiring
Performance testing
The controller underwent extensive performance testing to ensure reliable operation in live DJ environments. The testing included:dusty environments, a long period of continuous use, and exposure to high humidity levels. Disassembly and reassembly for maintenance and repairs were also tested.
All MUX close view
Real-World Application
The controller has been used in multiple live DJ performances and has received positive feedback from professional DJs. The customizable layout and responsive controls have made it a valuable tool for live mixing and performance.
Ready to DJ