Skip to content
Cinder block for communicating with barcode scanners using the Simple Serial Interface.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Cinder block for communicating with barcode scanners using the Simple Serial Interface.


Set settings and receive scan data from an external

For simple applications, most barcode scanners can emulate a keyboard — which is certainly the easiest and most convnient way to go. However, the commands exposed through the serial interface may be useful if you need to turn a barcode scanner on / off programmatically — or perhaps if you'd like to make the scanner beep arbitrarily.

It's been tested only with the Motorola / Zebra DS457 scanner, but will probably work with other models.

This library might work on a Mac if the right serial adapter is used with the scanner, but it's only been tested on Windows with first-party USB → serial drivers.

##Getting Started

First, set up your barcode scanner:

If you're using a USB barcode scanner, install the latest USB CDC driver from Motorola's support site.

Scan the barcodes in docs/Barcode Scanner Setup.pdf to configure your scanner to work with this library. Scanning these codes does the following:

  • Resets your scanner to factory settings.
  • Tells your scanner to use the SSI over USB CDC protocol.
  • Disables acknowledgments. This means you can send any command packets you'd like, but you will only ever receive scanned barcodes values in ASCII from the scanner.

Due to issues in Cinder with virtual device discovery on Windows, you'll need to find the serial port name of your scanner manually through the Device Manager or other means.

Then run samples/BarcodeBasic, and pass the serial port name of your scanner into the Scanner::create function.

##Related documentation

You can’t perform that action at this time.