Making a simple MIDI Controller. One Man's Journey

Yes it is was first designed for the ultimate experimental machine, the Uno, but the Mega opens up a couple of very important opportunities. For example, and most importantly, when using the Uno you have to use the Soft Serial if you want to be able to have serial debugging going on, as well as still sending midi data to the fluxamasynth. So things have to be "bit bashed" to get the second Serial port to work. If you have any serious processing going on while the midi data is being queued then any bit bashing is a costly overhead you can do without.

This is a serious problem, as it is very handy when developing a program to get feedback and when using a Mega and its multiple fully buffered serial ports, it makes this an easy job, ie to both use the standard Serial.print and Serial2.write(instrument); for any midi communication. It also reduces the time/CPU overhead taken to send the various data to both destinations. If you are a person who writes perfect code every time and needs no debugging then attach it to a Uno, but if you are like me and just a humble mere mortal, then the debugging is so absolutely essential!!! So go the Mega 2560 and use the full buffering etc that the Mega gives you.

Cheers, Rob