fleshed out firmware: added MIDI + callbacks + MIDI_CREATE_INSTANCE