Skip to content
Click here to learn about shipping and delivery. Need a bulk deal or special order? Email support@pmdway.com now!
Click here to learn about shipping and delivery. Need a bulk deal or special order? Email support@pmdway.com now!

MIDI Breakout Shield for Arduino

$15.95
SKU 327056
 More payment options

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

Once connected, 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);
}

Don't forget to check out our full range of Arduino-compatible shields if this doesn't meet your needs. And as always, all orders receive free delivery. 

And remember ... if you:

  • can't find what you need
  • not sure what to order
  • want a bulk deal
  • need technical support
  • or just want to have a talk ...

Please email us via support@pmdway.com

To keep up to date with new products, news, tutorials and more - we're on xFacebookInstagramthreadsreddit, and instructables