I am trying to construct a MIDI controller with some push buttons that send control messages. A friend of mine has a nano compatible board he reckons it is fully working but I would like to make sure it does before actually starting soldering cables.
which would be the best way to make sure the board is fully compatible for MIDI over USB? just plugging it and check if it appears as a MIDI device would do? or should I install the MIDI library and try to program a simple script that sends control messages?
I don't know what this board is, but a classic nano cannot fully simulate a MIDI device. It only connects as USB-Serial (Com-Port) to the PC. You need something like the 'Hairless MIDI' bridge on the PC side to convert the USB serial to MIDI.
If you use a Leonardo or a Micro ( boards with native USB ) then these boards can connect to the PC as true MIDI devices.
Compatibility Note Note: while the library is supposed to compile correctly on these architectures, it might require specific hardware features that may be available only on some boards.
These library allows any microcontroller with native USB capabilities (atmega32u4 based boards or ARM boards) to appear as a MIDI peripheral over USB to a connected computer.
I didn't try, but it maybe the this library sends MIDI commands simply over USB-Serial on boards without native USB. And then you need additional Software on your PC as I already noted.
But also you could buy or make a MIDI shield that converts the serial signal to one with MIDI compatible voltages and sockets. And then you use a MIDI to USB lead to connect this to your PC. Note that Hairless will not work on some of the later operating systems of the Mac.