Skip to content
All prices US$ - All orders receive free delivery, worldwide - Click here to learn more
All prices US$ - All orders receive free delivery, worldwide - Touch here to learn more
The Root Commander is a homemade MIDI controller that ensures you never play the wrong note

The Root Commander is a homemade MIDI controller that ensures you never play the wrong note

from arduino.cc

After attempting to learn how to play the piano after some previous experience with guitar and music theory in general, YouTuber EvolutionStoneware encountered a few difficulties when trying to learn the keys on a standard MIDI keyboard.

Because of this, she created a DIY MIDI controller called the Root Commander that allows for a single note to be played based on the settings of several inputs.



Within the controller is an Arduino that reads the values from three potentiometers and determines the corresponding scale, key, and octave. Once stored, the firmware chooses the correct string containing either the scale, key, or octave depending on which range the values fall into.

For example, setting the scale potentiometer to between 500 and 722 selects the “Dorian” scale. From here, these values are all shown on the integrated I2C OLED display in the center.

Pressing one of the seven buttons at the bottom of the MIDI controller plays a note that is outputted on both the screen and through the five-pin DIN connector at the back, which enables the device to be connected to a host device that in turn translates the data into audio.

For more details on how the Root Commander was designed and built, you can read about it here on EvolutionStoneware’s blog.

Finally - to keep up to date with interesting news, offers and new products - interact with us on facebookinstagram, and twitter.

Previous article Automatically make masking tape labels with this Arduino-powered machine
Next article This realistic control panel takes the flight simulator experience to new heights

Leave a comment

Comments must be approved before appearing

* Required fields