Try tying grounds together. Multi power source serial garf is almost always caused by uncommon ground.
I've set up a test rig using some breadboard where the supply and ground rails are fed from the Duemilanove. All +5V and all GND signals from my various bits and pieces (two alternate MIDI in/out boards, my RBBB Arduino and my breadboard Arduino) go here. Would this constitute common ground yeah? No dice it didn't help but I loved the idea it could have been that simple and will remember it for another time when hopefully it is that simple
Ok, just a hunch. Try wiring an external pull-up resistor of say 10k ohms between +5vdc and arduino pin 0. Try your sketch and see if it works.
Well the sketch always worked it just worked wrong! With your suggestion it seems to be a bit less broken. It more consistently (but not always) now receives three bytes on key press (as you'd expect given the MIDI protocol) and they are at least consistent.
If it doesn't work just ignore me
Ignore you?! I couldn't possibly be so rude
Does it work if you disconnect the FTDI cable after you're done downloading the sketch?
No cable in use yet I'm just programming the AVR from the Duemilanove and removing it and inserting in the DIY Arduino's instead. But ...
The official duemilanove board has a 1k resistors between the FTDI chip and the AVR serial port pins that theoretically aid in sharing the serial port between the PC connection and other devices that you might connect to the pins. The minimalist boards like the RBBB don't have these resistors
Ooh! Ooh! A tangible difference I'm excited ... let's try a 1K resistor between +5VDC and pin 0 rather than a 10K ...
... huzzah! It works. Brilliant.
I SERIOUSLY LOVE YOU GUYS (not in a touchy/kissy way I mean more fraternal yeah?)
So ... why does it work with a 1K resistor between pin 0 and +5VDC?!