The 1 byte header is made up of a single bit indicating if this packet is the first in the sequence of packets encapsulating a particular message, another single bit that indicates if this is the last packet in a sequence, and a 6 bit unsigned integer representing the length of the payload in the current packet. A 64 byte USB HID packet is then constructed from a 1 byte header, a chunk of the message, and sometimes some extra bytes to make the packet exactly 64 bytes regardless of the size of the chunk. Messages to be sent over USB are split into chunks with a maximum size of 63 bytes. The MSR605's serial protocol is documented in section 6 of the MSR605 Programmer's Manual. The MSR605X uses 64 byte USB HID packets to encapsulate what appears to be the MSR605's serial protocol. The MSR605X appears as a USB HID device and uses a protocol that appears to be a small wrapper around the older serial protocol used by other MSR This is an in progress library for the MSR605X magstripe reader/writer. WIP MSR605X magstripe reader/writer library