MIDI/DJ Controller with Arduino

October 2022 - February 2023

Custom MIDI/DJ controller hardware
The completed custom MIDI/DJ controller in action

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 close-up

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

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 close-up

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

Behind the Stage

Connections and wiring

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

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

Ready to DJ