hi arduino developer list,
we (adafruit) recently did a bunch of work to create an open source, cross-chip USB stack that will let anything with USB peripheral/host use the same USB CDC, HID, MIDI, MSD (etc) code. prior to this people usually hand-crafting a stack per device (based perhaps on the board support package from the vendor) or using a vendor-supplied stack that was not open source:
https://github.com/hathach/tinyusb
we're currently using this stack for nRF52840, SAMD21 and SAMD51 on CircuitPython as well as nRF52840 for Arduino. TinyUSB also has support for STM32F3 and STM32F4 as well as some popular LPCs.
we propose replacing the USB stack for Arduino with TinyUSB - this would make it a lot easier to add new chipsets, and open up the peripherals available. for example, mass storage which is an oft-requested but unavailable class. we'd start with ARM chips and skip AVR's for now. it's a significant task but the USB work is done, and this would make future-versions of ourselves happy when new chips come along.
please let us know if Arduino would be interested in replacing the current USB stacks with one stack.
cheers,
pt and team