Go Down

Topic: UNO + Olimex Midi Shield (Resolved) (Read 5 times) previous topic - next topic



PC -> Roland UM-1 USB/MIDI cable - > Olimex MIDI shield -> UNO R3  (powered by 9v battery or USB connection (when uploading sketches)

Software:  Arduino IDE 1.0.3, MIDI OX or USBlyzer or SendSX (all are supposed to monitor incoming MIDI or USB ports), MIDI library 3.2


1.  Connect UNO + Midi shield (with jumper removed to allow upload of sketch) via USB to computer
2.  upload a simple MIDI TX sketch, such as:

Code: [Select]

int velocity = 100;//velocity of MIDI notes, must be between 0 and 127
//higher velocity usually makes MIDI instruments louder

int noteON = 144;//144 = 10010000 in binary, note on command
int noteOFF = 128;//128 = 10000000 in binary, note off command

void setup() {
  //  Set MIDI baud rate:

void loop() {
  for (int note=50;note<70;note++) {//from note 50 (D3) to note 69 (A4)
    MIDImessage(noteON, note, velocity);//turn note on
    delay(300);//hold note for 300ms
    MIDImessage(noteOFF, note, velocity);//turn note off
    delay(200);//wait 200ms until triggering next note

//send MIDI message
void MIDImessage(int command, int MIDInote, int MIDIvelocity) {
  Serial.write(command);//send note on or note off command
  Serial.write(MIDInote);//send pitch data
  Serial.write(MIDIvelocity);//send velocity data

4.  observe that TX led blinks on UNO, serial monitor shows data coming across (although its gibberish)
       a.  In addition, using usblyzer, Bulk data transfers are logged. 
5.  disconnect USB cable from UNO
6.  connect Roland UM1 USB/MIDI cable to PC and to MIDI OUT of Olimex MIDI shield.
7.  connect 9v power supply to UNO
8.  Observe that TX led no longer lights up
         a.  although if I code the LEDs on the Olimex to light during main loop, they do indeed light.
9.  Using MIDI OX, selecting UM1 as the MIDI source, no MIDI data transmitted.  Close MIDI OX
10.  Using USBlyzer, select UM1 USB device,  No data comes over the wire.
11.  Volt meter shows 5v on MIDI OUT pins 4,5.
12.  5v on THRU pins, 4,5.

To test the UM1 USB/MIDI cable:
1.  connect UM1 to Korg ES1
2.  press play
3.  loads of MIDI data comes through MIDI OX and USBlyzer

The conclusion that I've reached is that the UNO, by itself, is transferring data across a standard usb cable to the PC/SerialMonitor/USBlyzer (or other port monitor app).  But when the MIDI shield is attached and the standard USB cable is not connected, no serial data is being sent. 

The question remains, how can I verify that serial data (MIDI data) is being send from the TX pin, out the MIDI OUT and across the wire?   I haven't ruled out that it's a mA issue, but that seems unlikely since others have reported the mA under load is about 2,5mA.  I'm not sure how to measure the mA using a standard multimeter, but I would doubt that I'd be able to detect it.   


update:  I picked up some 5v 20mA LEDs and inserted into pin 4 &2 of the MIDI OUT DIN, ran a sketch and the LED blinks.  However I'm unable to read any mA's.  That could be my meter.  I am able to see the voltage drop using my meter.  So it would appear something going out the MIDI OUT DIN? 


update2:  new fuse for my meter.  so Ive measured the mA on pins 4 & 5, it's right around 10mA. 


Does anyone have any more ideas for this? 


Sorry, none from me. It looks like the problem is between systems and I don't have any experience with your other stuff.
Arduino libraries http://arduinocode.codeplex.com
Parola hardware & library http://parola.codeplex.com

Go Up