Ultrasonic MIDI Control.

Introduction: Ultrasonic MIDI Control.

About: Hi there! I am a maker and an electrical and electronic engineering student at the University Of Manchester and I enjoy making tutorials in my spare time.

I made a music tool that can be used either in tandem with a computer or hooked up directly to a MIDI playback system. The computer in this case only does the translation of the notes sent by the Arduino through a MIDI to USB converter.

P.S: Hi Prof George. I made this to demonstrate one of the ideas that came out of today's brainstorming.

Step 1: Parts List

For this project you will need:

-Arduino Uno ( or any other Arduino for that matter)

-HC-SR04 ultrasonic distance sensor

-5 pin din connector

-220 Ohm resistor

-connector wires

Step 2: Wiring

Connect all pins of the Arduino as shown in the picture.

Step 3: Code

The code I used is fairly simple and inefficient but it does a good job at showing the final product.

Step 4: Demonstration



    • Water Contest

      Water Contest
    • Fix It! Contest

      Fix It! Contest
    • Creative Misuse Contest

      Creative Misuse Contest

    8 Discussions

    Hi there! Sorry for the late response but good luck with you project and do share the results :) (I realize this might be a bit late now but if you need any help, do tell)

    1 reply

    Great Project, i am going to begin building mine tonight. I look forwards to sharing the results and maybe picking your brains when i get stuck. It is my first Ardunio project. Thanks for sharing this.

    Thanks Robert. I really enjoyed making this. I am completely new to all of this stuff and would really love to make this into more of a midi theremin. Could you help me out. You mention this should not be to difficult. I would really appreciate your help..

    If you modified it to react to a fluid range of distances, instead of discrete notes, you could convert it to a digital Theremin! :)

    2 replies

    I am going to do that as it shouldn't be that hard. I just need to convert the decimal values I get from the sensor to HEX and send them to the MIDI converter. It is as it is now because I was in a bit of a hurry :)))

    Looking at MIDI specs again, sadly I see no way to do FULL glissandoes, if the target instrument doesn't support portamento on its end. But hey, that'll be good too :)

    This is a neat idea. Thank you for sharing how you put this together, and for including the wiring diagram :)

    1 reply