EP0, bidirectional CONTROL endpoint, 64-byte FIFO.
EP1, OUT BULK or INT endpoint, 2 x 64-byte double-buffered FIFOS
EP2, IN BULK or INT endpoint, 2 x 64-byte double-buffered FIFOS
EP3, IN BULK or INT endpoint, 64-byte FIFO
With these endpoints, it is possible to build USB peripherals that support popular USB class drivers, such as a Human Interface Device (HID), Mass Storage, Picture Transfer Protocol (PTP), and Printer.