This topic provides a brief overview about USB bulk transfers. Each USB transfer is one packet, which can be up to 64 bytes if using bulk type.If you want to send more than 64 bytes, you have to use multiple packets. I have for a long time been wanting to do a Custom USB class driver on the RT106x devices. I am trying to modify the usb_dev_bulk example code and use it in a proof-of-concept application. It is the very first time that I develop uC code for USB. Bulk Transfers are used for data which are not of the type Control, Interrupt, or Isochronous. In my receive callback, after each packet received, it increments the address for the new packet, and at the end of the transfer it swap the buffers. These are Control, Interrupt, Isochronous and Bulk Transfers. Interfaces have one or more "endpoints", each of which supports one type and direction of data transfer such as "bulk out" or "interrupt in".