Skip to content
Free delivery, every order. Want a bulk deal or can't find what you need? Email support@pmdway.com now!
Free delivery, every order. Want a bulk deal or can't find what you need? Email support@pmdway.com now!

MIDI Breakout Shield Kit for Arduino

$19.95
SKU 327056

Control audio equipment with Arduino using the MIDI Breakout Shield Kit for Arduino from PMD Way.

Please note that this is a kit and you need to solder the DIN sockets to the shield for use. Once assembled, your Arduino can access the powerful MIDI communication protocol.

The MIDI protocol and asynchronous serial interface have many similarities, so users can use the micro-controller UART pin to send MIDI event information. The shield provides MIDI - IN and MIDI - OUT connection, and a MIDI THRU port.

There's an onboard RUN/PGM switch which allows you to upload new Arduino code to the board via serial port programming, without having to remove the shield. 

Don't forget to check out our range of MIDI cables. 

MIDI Shield for Arduino kit from PMD Way with free delivery, worldwide

Example Arduino sketch:

/*
MIDI note player

This sketch shows how to use the serial transmit pin (pin 1) to send MIDI note data.
If this circuit is connected to a MIDI synth, it will play
the notes F#-0 (0x1E) to F#-5 (0x5A) in sequence.

The circuit:
* digital in 1 connected to MIDI jack pin 5
* MIDI jack pin 2 connected to ground
* MIDI jack pin 4 connected to +5V through 220-ohm resistor
Attach a MIDI cable to the jack, then to a MIDI synth, and play music.
*/

void setup() {
// Set MIDI baud rate:
Serial.begin(31250);
}

void loop() {
// play notes from F#-0 (0x1E) to F#-5 (0x5A):
for (int note = 0x1E; note < 0x5A; note ++) {
//Note on channel 1 (0x90), some note value (note), middle velocity (0x45):
noteOn(0x90, note, 0x45);
delay(100);
//Note on channel 1 (0x90), some note value (note), silent velocity (0x00):
noteOn(0x90, note, 0x00);
delay(100);
}
}

// plays a MIDI note. Doesn\'t check to see that
// cmd is greater than 127, or that data values are less than 127:
void noteOn(int cmd, int pitch, int velocity) {
Serial.write(cmd);
Serial.write(pitch);
Serial.write(velocity);
}