This topic provides a brief overview about USB bulk transfers. The conclusion I found is the maximum data length can be received is 16384 bytes.If want more than that, just put another one of iRes = conn. 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. You want to BULK transfer files, you need to download entire files to a USB stick? I am currently running Media Transfer protocol over BULK endpoints on a TIVA processor. It has a set of parameters associated with it, such as dataflow direction (IN, OUT), transfer type (bulk, interrupt) or maximal packet size. Bulk Transfers are used for data which are not of the type Control, Interrupt, or Isochronous. There will be information about Device and Host classes in the practical use, demonstrated on various hands on sessions.