This is extremely useful! I had assumed that red was VCC, Orange was SIG and White was GND, so this changes how I need to do my wiring to the MIDI cable. I'll try that out and report back if I get it working.
I also bought a USB MIDI adapter so I'm able to monitor all the MIDI messages that come through the wire. As it stands now I get nothing, but that makes sense considering that I messed up the wiring.
So I get MIDI messages now, which is great, and shows that the circuitry probably works. However... I can't get them to make sense.
I initially tried sending just "note on" messages with Serial1 at 31250 bauds which should work, but got control messages that I did not expect and many of them all at once. I thought I might be doing something wrong so I switched to the Arduino MIDI Library which supports the Leonardo, and used that instead. Here's my program :
MIDI.sendNoteOn(69, 127, 1);
When monitoring the MIDI messages that come through my M-AUDIO MidiSport adapter, I get this instead :
TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
002AD038 1 -- D5 5D -- 6 --- Channel Aft
002AD038 1 -- D5 40 -- 6 --- Channel Aft
002AD420 1 -- D5 5D -- 6 --- Channel Aft
002AD420 1 -- D5 40 -- 6 --- Channel Aft
002AD809 1 -- D5 5D -- 6 --- Channel Aft
002AD80A 1 -- D5 40 -- 6 --- Channel Aft
002ADBF1 1 -- D5 5D -- 6 --- Channel Aft
002ADBF1 1 -- D5 40 -- 6 --- Channel Aft
002ADFD9 1 -- D5 5D -- 6 --- Channel Aft
002ADFD9 1 -- D5 40 -- 6 --- Channel Aft
So for every message send, I get two "channel aft" (aftertouch?) messages on channel 6. The data's consistent, but it's definitely wrong.
I'm not sure where to go next... I wonder if inverting the data and the VCC pins could do something like that, or would it outright fail?
Bonus : the wiring as it stands now (my soldering job's gotten worse with the rewiring, not that it was great to begin with )
Oh wow, I just noticed something. The wire coloring you have is different than mine!
Yours go Orange, White, Red from top to bottom... and mine go Red, Orange, White. That's gotta cause some problems...
I just tested with the multimeter and for sure : White = Ground, Red = VCC and Orange = Signal/Tx. Oops... I'll have to rewire, my stuff is all messed up. To be continued...