Supported operating systems

  Windows Win IoT Windows IoT,
formally Windows Embedded
Win Embedded
Compact Windows Embedded Compact,
formally Windows CE
macOS Linux
BRP over HID
Keyboard emulation
PC/SC 7+ 7+ Get in touch Get in touch
Virtual COM port 7+ 7+ 6+
BRP over virtual COM port 7+ 7+ 6+

Transfer layer for BRP over HID

For BRP over HID, we've added a special transfer layer consisting of 4 types of HID reports. These report types are important if you use BRP without the SDK, i.e. create the command frames yourself.

Report ID Type Max length (in bytes)
1 Data, array, absolute 12
2 Data, array, absolute 60
3 Data, array, absolute 252
4 Data, array, absolute 1020

You can send each of the 4 reports to the reader via control pipe (endpoint 0) and receive it via interrupt pipe (endpoint 1). It's not allowed to receive a report from the reader via control pipe (endpoint 0).

Every BRP frame has to be transmitted within 1 HID report. A report starts with 1 byte specifying the report ID (1-4) and 2 bytes (LSB-first encoded) that define the report's length, i.e. number of payload bytes in the report. For best performance, we recommend you choose the report size that best matches your needs. This is also the way the reader usually sends BRP frames to the host.


  • To send a BRP frame of 12 bytes, use report ID 1, as the frame fits exactly into it.
  • To send a BRP frame of 13 bytes, use report ID 2, as this is the smallest report size into which 13 bytes fit.