So, it turns out the FRDM-KL25Z board I was previously so impressed with has one major drawback (at least when used with mbed.org, which is all I’ve tried so far)… the I2C interface doesn’t work 🙁
This leaves me now with the situation where I could use the KL25Z simply as a USB device, and simply forward all the MIDI packets it receives to the RPi via some high-speed wired interface such as SPI. That is, if the SPI interface on the KL25Z works, which at present I have no idea.
Perhaps the benefit of this set-up would be that I get to keep all the existing code and platform config I’ve already written for the RPi, and use the RPi to provide a richer user experience, with network/web connectivity and add on top of that the USB device capability from the KL25Z. The RPi is also powerful enough to handle the overhead of processing MIDI packets in order to remap channels and/or value ranges etc in real time.
Any downsides… ? Well, now I have to package 2 (RPi + KL25Z), perhaps 3 (I/O buffering etc) PCBs into the physical ModulOSC module in order to integrate it with a modular system, and also provide the correct power supplies and connectors. It’s not impossible, but is making the unit quite complex.