MIDI Output with Arduino

Posted on Nov 18, 2012

This page covers only the details of MIDI communication on the Arduino module. For a more general introduction to MIDI on a microprocessor, see the MIDI notes on Tom's physical computing site. MIDI, the Musical Instrument Digital Interface, is a useful protocol for controlling synthesizers, sequencers, and other musical devices. MIDI devices are generally grouped in to two broad classes: controllers (i.e. devices that generate MIDI signals based on human actions) and synthesizers (including samplers, sequencers, and so forth). The latter take MIDI data in and make sound, light, or some other effect.

MIDI Output with Arduino
Click here to download the full size of the above Circuit.
MIDI Output with Arduino - image 1
Click here to download the full size of the above Image.

This circuit doesn't actually match the MIDI specification, but it works with all the MIDI devices we've tried it with. This circuit includes an analog and a digital sensor to allow for physical interactivity, but those aren't necessary to send MIDI data. Once you're connected, sending MIDI is just a matter of sending the appropriate bytes. The bytes have to be sent as binary values, but you can format them in your code as decimal or hexadecimal values. The example below uses hexadecimal format for any fixed values, and a variable for changing values.

Leave Comment

characters left:

New Circuits



Popular Circuits

15dB UHF TV Antenna Amplifier
PWM controller with PIC18f2455
Smartcard controlled Lock with Relay
Electronic flash trigger
Ultra Bright LED Lamp
temperature sensor circuit using lm335
transistor tester circuit
Metal detector circuit electronic project using transistors
Smoke Detector circuit diagram using SD2 IC
Simple Morning Alarm Circuit Using LDR and UM66
Open Charge Regulator
Capacitive load drive circuit diagram of the MAX4450 4451
Single-junction transistor a phase-shift trigger circuit