Non Contact Midi Controller




Introduction: Non Contact Midi Controller

About: I like to make things that could being happiness and are fun to do. If simple things can bring out joy, what other reason do you want to make things

Making things non-contact has been the trend nowadays. I created a simple midi controller using Arduino Pro micro and some IR-proximity detectors board which has an in-build comparator, this should be available fairly easy and cheap. This project can be used on any Arduino which has 32u4 based board, this was done due to the ability to use these board has MIDI without the headache you have to go through using hairless midi and the glitches associated with it. This project was done for 7 major notes which could easily be extended for other notes. I used cakewalk by BandLab as my DAW because it's cool and free. Hope you have fun making this. This project was initially designed to introduce students to the beautiful world of Infra-Red and its fun application.


Arduino Pro Micro( or any 32u4 based board)

IR-proximity sensor * no of notes you want


soldering iron and lead

berg pins




Step 1: Getting Things Together

Let us first get the things we require to make this project.You will require your computer to make use of this MIDI controller.

Arduino Pro Micro( or any 32u4 based board)
IR-proximity sensor * no of notes you want


soldering iron and lead

berg pins



you will require Arduino IDE to program your board. MIDI-OX sofware is recommenced to check the project. Using this with a DAW gives great results.

Step 2: Understanding the Basics

The micro controller detect when the an object comes close to the IR proximity detector. Then it send an corresponding MIDI code to the computer.

We will be using an external library to achieve this. You can find the library from the link below.

we can check if the proper signal are received by the computer using MIDI-OX software.

We will be using Digital IO has we have a comparator in the IR proximity board. Due to the comparator we get input as 1 or 0 at the micro controller I/O port

Step 3: The Code

The code is relatively simple and easily modifiable. i have attached the code with this instruction.

When ever there is some object interfering with the IR proximity detector, we send the corresponding signal to the computer

If you want to use different notes, use the MIDI chart.

Upload the program to the micro controller

Step 4: Connections

Power the IR proximity board by supplying VCC and ground.

Connect the output to the corresponding digital I/O pins. I have used pin 2-8 for my project.

be sure to modify the code according to the pin used.

I used female berg pins so that I could easily remove and replace the IR proximity detector and arduino when required.

Step 5: Testing Our MIDI Controller

I recommend installing MIDI-OX to your computer.

After completing all connection in the perfboard add the IR detector.

Connect the board to the computer.

Open your MIDI testing program.

Try bring one finger near the detector

Step 6: Connect to Your DAW and Make Some Music

Its going to take some time to get used to the non contact way of playing but it will be a fun experience. I personally like playing drums using this in Cakewalk. Add or block light from the board according to your taste

First Time Author Contest

Participated in the
First Time Author Contest

Be the First to Share


    • Anything Goes Contest

      Anything Goes Contest



    2 years ago

    Pretty cool !