Arduino USB


Pluggable USB vs Tiny USB
In 2015, Arduino added PluggableUSB support for most official Arduino devices
PluggableUSB supports more functionality for Arduino models with embedded USB
That functionality is typically incompatible with Tiny USB, and vice versa.
Espressif supports ESP32 USB for Arduino via Adafruit's TinyUSB,
also used for mbed_rp2040, ArduinoCore-samd and Pico
EspTinyUSB USB composite device lacks MIDI support
STM32duino's USB device support is relatively limited.
A Blue Pill composite USB device library for Roger Clark's Maple-based Arduino STM32
is incompatible with current STM32duino device USB based on STM32Cube
USBLibrarySTM32 implements PluggableUSB API for STM32
supports composite devices for STM32F103C8 Blue Pills,
  which have 8 endpoints, but not Black Pills.

Arduino USB MIDI

ARDUINODOCS MIDIUSB device control
FortySevenEffects / Arduino MIDI Library
can read all MIDI channels, supports callbacks
and multiple MIDI interfaces, for mergers/splitters applications
depends on lathoub / Arduino-USBMIDI, which in turn
  depends on Arduino MIDIUSB, based on PluggableUSB.
  - MIDIUSB2 adds callback support to MIDIUSB

Arduino USB connections
maintained by blekenbleu