I am adding USB to a data logger based on a microcontroller with a full-speed device port. It has to receive configuration from a PC application and send back logged data, a few hundred kilobytes at a time, on Windows, Linux and macOS without asking users to install drivers.
Which USB device class is the right choice for this: HID, CDC (virtual serial port) or a vendor-specific interface? What are the limits of each?




