MIDI CONTROLLER & LED HELMET

My favorite personal project, still being worked on with improvements and upgrades (which will be kept updated here).
​
This project is a mix of electronics, automation, software, and music, inspired by the music duo Daft Punk. It consists mainly of three components:
​
First of all, we have an Arduino-based, custom-built MIDI controller, similar to the nowadays "launchpads" popular amongst DJs and music producers. This controller works as the "input" of this project. One interesting thing about this Arduino device is that it uses a custom firmware flashed on the USB-communications chip on the Arduino (most arduinos have an extra IC for the communication with the PC). With the custom Arduino bootloader, it would be necessary to use special software to translate USB serial messages to MIDI notes.
There are many such translators, but it would mean more load for the PC CPU and a not-so-reliable translation prone to mistranslations. With this custom bootloader, called HIDUINO (https://github.com/ddiakopoulos/hiduino) the translation is already done on the Arduino, sparing us translation-software and turning the MIDI controller into a plug-and-play MIDI device, just like a commercial one. Being made with open hardware, this MIDI controller is very customizable, being able to have as many digital and analog inputs as the used Arduino (with a MEGA one could do a quite big desk with up to 54 buttons and 16 sliders or knobs)
​
The second component is the computer, it works as the central processing unit of this project. The MIDI controller is connected to music software (in my case Ableton Live, very popular nowadays between DJs and producers, although it should work on others like FL Studio). How to use it is up to the artist's imagination.
Ableton is then connected to a free Lightshow controller called "JINX!" (http://www.live-leds.de/) through a virtual MIDI-Bridge. The light shows on JINX! are selected dynamically through the music in Ableton Live, being able to do vivid, automated light shows which vary automatically with the music.
​
Lastly, these light shows are sent to our third component, the output. The output consists of a welding helmet repurposed to have an LED visor made of WS2812b LEDs, through an Arduino nano another translation is done: from MIDI commands to serial commands to make the LED-matrix show what appears on JINX!.
Everything put together allows us to create and program automated light shows which are more music-dependent and dynamic than most manually controlled lightshow-desks on the market.
My future plan for this project is doing a guitar-looking version of the MIDI controller using old "Guitar Hero" controllers and using "SoftPots" (https://www.sparkfun.com/products/8680) instead of strings, and also using a custom made PCB with everything integrated (including the MCUs) to save space and an easier installation. I also want to do a helmet from scratch with a bigger LED matrix and a more robotic look.
​

The controller consists of a junction box and many arcade buttons, knobs (potentiometers) and sliders (linear potentiometers), everything wired to an Arduino.


Although color-coded, it is quite messy. The guitar version will consist of a PCB for an easier installation and troubleshooting.