The STM32 includes a dedicated USB peripheral which can be configured to act as a generic USB slave device with transfer rates up to 12Mbps. It is configured for two uses: first, to receive sketch/program uploads from the IDE and secondly, to emulate a regular serial port for use as a terminal (text read/write). For more info, see http://leaflabs.com/docs/usb.html and http://leaflabs.com/docs/lang/api/se...lang-serialusb