silveirago / traktorino

The open-source DIY MIDI Controller for DJs.
162 stars 36 forks source link

Traktorino

Welcome to the Traktorino project! The Traktorino is a low-cost, DIY MIDI controller for DJs. It can control any software that accepts MIDI, such as Traktor, Serato, or Ableton Live. This project is open-source, so you can download all the files for the schematics, enclosure, and code to build one yourself.

Table of Contents

Introduction

Watch the video series on how to build your Traktorino:

  1. Video 1: Introduction and Assembly
  2. Video 2: Programming the Arduino
  3. Video 3: Setting Up MIDI
  4. Video 4: Enclosure Assembly

Parts List

Assembly Instructions

  1. Resistors: Insert and solder the 220 ohm resistors. Place a 1k resistor in the specified position.
  2. Arduino Pin Headers: Solder the pin headers to the Arduino and snap it onto the PCB.
  3. Multiplexers and Bit Shifters: Solder these components onto the PCB.
  4. LEDs: Ensure correct polarity and solder the LEDs.
  5. Tactile Buttons: Solder the tactile buttons, ensuring correct orientation.
  6. Potentiometers: Solder the slide and rotary potentiometers.
  7. Rotary Encoder: Solder the rotary encoder.

Programming the Arduino

  1. Download and install the Arduino IDE.
  2. Clone the Traktorino GitHub repository: git clone https://github.com/your-repo/traktorino.
  3. Open the Arduino IDE and load the Traktorino code.
  4. Install the required libraries: ShiftPWM, MIDI, Multiplexer4067, Thread, and Encoder.
  5. Verify the code and upload it to the Arduino Uno.

Setting Up MIDI

  1. USB MIDI Compatibility: Use an Arduino Uno with the ATmega16U2 for true USB MIDI compatibility.
  2. DFU Programmer: Download and install the DFU programmer.
  3. Upload Firmware: Use the provided .hex file to flash the firmware to the ATmega16U2.
  4. Test MIDI: Use a DAW or MIDI monitoring software to test the MIDI signals from the Traktorino.

Enclosure Assembly

  1. Assemble the plywood enclosure using the provided PDF files.
  2. Install the diffusers, spacers, and screws as specified.
  3. Attach the button caps and potentiometer knobs.

Troubleshooting

Support and Contributions

Code Explanation

PWM Bit Shifter

The code uses a PWM bit shifter for controlling LEDs:

Libraries

The following libraries are included:

Buttons

Debounce

Potentiometers

Potentiometer Reading

Encoder

MIDI Configuration

LEDs

Multiplexer

Threads

Setup and Loop

In setup(), the serial communication is initialized, MIDI thru is turned off, multiplexers and LEDs are initialized, and threads are configured.

In loop(), the main tasks such as reading MIDI, encoder, and running threads are handled.

Functions

Usage

Feel free to modify the code and configurations to fit your specific needs. Happy DJing!


Author: Gustavo Silveira