Arduino Nano Every USB MIDI (HID)

This post on the Arduino blog about the Arduino Nano Every says that:

We’ve used a quality USB chip so people won’t have connection or driver issues. The separate processor handling the USB interface also makes it possible to implement different USB classes such as Human Interface Device (HID) instead of just the classic CDC/UART.

I would love to use the Nano Every in a USB MIDI device I'm working on, but I'm having trouble figuring out if any of the Arduino USB solutions out there will work with the Samd11 USB chip in the Nano Every?

Any pointers would be greatly appreciated :slight_smile:



MIDI is just Serial

I see what you mean, but my question is about making the arduino to act as a class compliant USB MIDI device on my mac.

For USB MIDI take a look at Teensy: Teensyduino: Using USB MIDI with Teensy on the Arduino IDE
Teensyduino is a software add-on for the Arduino-IDE. Most programs written for Arduino work on Teensy.

I believe you'd need to program the ATSAMD11 chip directly with a custom firmware. I don't think there is any way to do this only by programming the Nano Every's ATmega4809 primary microcontroller as usual while you have the stock firmware on the ATSAMD11. You can find a (very) little information about this on the Every's Getting Started page:

The mattairtech fork of Arduino SAMD Boards provides support for the ATSAMD11, so you can write normal Arduino sketches and upload them to the ATSAMD11. In fact, Arduino's stock firmware for the ATSAMD11 is an Arduino sketch:

This makes it easier to play around with using modified or custom firmwares, and the return the chip back to running the stock firmware again if necessary.

After reading the information on the Getting Started page, if you still need help with getting the Arduino IDE configured to support the "Arduino MuxTO" board, I can help with that. The information on the Getting Started page isn't quite so complete as I'd like.

As for how exactly to to write the firmware to provide the MIDI functionality you want, I don't have any experience with MIDI. Probably, any information you find about doing this on one of the SAMD boards (e.g., Arduino Zero) will also apply to the ATSAMD11. The only issue is that the ATSAMD11 has less memory than the ATSAMD21G18-based boards, so you may be constrained in what you can do by that limitation.