sku: DEV-09595
Description: The MIDI Shield board gives your Arduino access to the powerful MIDI communication protocol, so you can control synthesizers, sequencers, and other musical devices. The MIDI protocol shares many similarities with standard asynchronous serial interfaces, so you can use the UART pins of your Arduino to send and receive MIDI's event messages.
The MIDI Shield provides an opto-isolated MIDI-IN port as well as a MIDI-OUT port. The MIDI Shield can be mounted directly on top of an Arduino, connecting the MIDI-IN to the Arduino's hardware RX pin and the MIDI-OUT to TX. Potentiometers are connected to analog pins 1 and 2, and can be used to control volume, pitch, tone or anything else you'd like. Also connected on the shield are three momentary push buttons (connected to D2-4), a reset button, and green and red stat LEDs. The RUN/PROG switch allows you to program the Arduino over serial without having to remove the shield.
Note: The MIDI Shield does not come with the through-hole MIDI connectors or trimpots soldered on. All of these components (2 MIDI connectors and 2 trimpots) are included with the product, however.
Documents:
PRT-09536
MIDI Connector - Female Right AngleDEV-11061
Arduino Mega 2560 R3CAB-09752
MIDI Cable - 6 FootTOL-09544
Bus PirateBOB-08953
Breakout Board for VS1103 MIDI DecoderDEV-10914
Arduino Pro 328 - 3.3V/8MHzPRT-09280
Arduino Stackable Header - 6 PinPRT-09279
Arduino Stackable Header - 8 PinBOB-09598
MIDI BreakoutDEV-11021
Arduino Uno - R3DEV-10915
Arduino Pro 328 - 5V/16MHz
Comments 19 comments
Does this come with the headers for the Arduino board or no?
Just got this kit. Apparently it doesn’t come with header pins. This would have been really nice to know so I could have ordered some with it.
Any chance of an update to the example sketch that runs under arduino_1.0?
Nice. Any chance we could get a DMX version of this?
Oh man – YES PLEASE. I would kill for some easy Arduino/DMX interfacing.
Me too. I have been hoping for a simple Arduino to DMX and DMX to Arduino interface for ages. There are so many things you could do with it.
You can get a DMX shield from this place:
http://www.skpang.co.uk/catalog/product_info.php?cPath=140_142&products_id=663
So then is there a way to program the arduino to act as a class compliant midi interface over USB? This could then pull double duty talking to MIDI, and carrying it back to the pc.
Unfortunately, no. It’d require some sketchy driver hacking, which has to be done on every system that you want to use the device with. The problem lies in the fact that the FTDI chip on the Arduino uses the USB port as a pseudo-Serial port, not a USB port. I hear the Teensy works well for USB-MIDI, though.
I have this board. But I was hoping I could decode the midi and send the information via the TX pin or any of the D2-D13 pins. Looking at the Arduino Sketch provided, how could I use the Midi In and sending information via these pins.
Any help or tips is appreciated
Thanks
Real easy to use, works flawlessly! Soldering on the MIDI connectors is a snap. As noted, headers are not included, need to order those separately. The board includes some extra LEDs (the blinking lights in my application surprised me.. :) ). There’s 2 pots and 3 push buttons which are all optional, works fine without those soldered in.
One note: You might want to disconnect the MIDI cable when programming the device, it looks like there’s some bytes sent out to the MIDI OUT (even with the little switch set in PROG) that arrive at connected MIDI gear. My patch bay gets in a weird state whenever I upload a new sketch.
(Not related to the product, but The MIDI example in the Arduino software (0021) has a space missing in the for statement in line 32, after int there should be a space.)
midi works at a non standard baud rate.. how do you set things up to get that baud rate?
change crystal on the arduino?
You do not have to make any hardware changes. Just initialize the serial port with the correct baud rate:
Serial.begin(31250);
Make sure that you turn the on-board switch to “PROG” when you upload your code and to “RUN” when you are done uploading.
The schematics shows MIDI out connector pin 4 wired to the TX pin on the Arduino, pin 5 wired to Vcc and pin 2 was left unconnected. While in the Arduino MIDI tutorial pin 5 is connected to TX, pin 4 to Vcc and pin 2 to ground. Someone knows why?
There are two things going on here. Sparkfun’s parts library is usually excellent, but the person who did the MIDI connector (Din 5) really messed it up this time. Most pins are mislabeled – what they call 4 is actually 5 and what they call 5 is 4. Also pins 1, 2, and 3 are switched around. As for pin 2 – I think they just forgot to connect it to ground (they tried to fix this with the MIDI Breakout, where pin 2 is connected to ground, but because of the part mislabeling they actually grounded the wrong pin!)
Maybe the pinout of the male plug is being used for the female socket?
I’m trying to build a foot pedal that will allow me to send MIDI “note on” information to a sampler at fixed velocity (127, if 127 is maximum). The information would be sent when a momentary switch is pressed and will stop sending when it is released. I also want this pedal to be able to send the same information if a different MIDI note is needed, so I would be able to move up, say from note 1, to note 20, without changing the velocity. This would enable me to trigger different loops with my sampler with my foot throughout my set.
With this MIDI shield would this be possible? Also, whenever I look, throughout the open source projects that people are making which use Arduino boards, no one ever mentions the board model they have used and there are quite a few!
Basically I am trying to build a similar design to the Midi Mouse, of a similar size, but allows me to send MIDI note information, as the Midi Mouse doesn’t seem to (and anyway, is rather over-priced).
Thanks!
Hello. I’m hoping somebody can answer my questions. So far I’ve gotten the shield to send midi note on/off with the buttons anc control note number and velocity with the pots. I’d like to implement more midi features, but the sample sketch has no explanations for the midi functions it uses nor is there any info on the applet the sketch comes with. I’d like to use the Arduino MIDI Library v3.1 (http://www.arduino.cc/playground/Main/MIDILibrary) since it has an extensive Reference (http://arduinomidilib.sourceforge.net/a00001.html). Questions: Will I need to always include the applet from the sample sketch on new sketches? Does the applet folder contain data that is required for the basic function of the shield? I’m new to all of this (except for having to use midi devices for years), so I could really use some advice. Thanks.
Sparkfun, I’m concerned about safety of this shield. The ground pour extends on BOTH sides of the optoisolator to within a few tens of mils of pins. To maintain isolation between the MIDI device and the Arduino, there should be a few 100 mills separation. Ouch guys.