Use external USB devices

United States
Latin America

USB human interface devices (HID)

Clover supports all standard USB human interface devices (HID). This includes keyboards, mice, and most barcode readers. It is common for other USB peripherals to be implemented as the HID class because support for USB HID is universal.

When a USB HID device is connected to a Clover device, users are asked if the device is a keyboard. If Yes, the platform's soft keyboard is disabled while this device is connected. This preference is reset at reboot unless the don't ask again option is selected. You can clear the don't ask again preference from Settings > Language and Input > Clear USB keyboard defaults.



While an external Magnetic Stripe Reader (MSR) is a USB HID that you can connect to a Clover device, you cannot use it to accept payments.

Supported barcode readers

Clover has special handling for supported USB HID barcode scanners, which means that they are known to the Clover platform and are tested. For more information, see the list of supported USB HID barcode readers.

Use barcode readers with Clover Android SDK

Your apps should use​ the BarcodeScanner class for barcode scanning. Here is an example:

private static Bundle getBarcodeSetting(final boolean enabled) {
    final Bundle extras = new Bundle();
    extras.putBoolean(Intents.EXTRA_START_SCAN, enabled);
    extras.putBoolean(Intents.EXTRA_SHOW_PREVIEW, enabled);
    extras.putBoolean(Intents.EXTRA_SHOW_MERCHANT_PREVIEW, enabled);
    extras.putBoolean(Intents.EXTRA_LED_ON, false);
    return extras;
public boolean startBarcodeScanner() {
    return new BarcodeScanner(this).startScan(getBarcodeSetting(true));
public boolean stopBarcodeScanner() {
    return new BarcodeScanner(this).stopScan(getBarcodeSetting(false));

Clover Station and Clover Mini use the same mechanism to read the barcodes from the internal device camera and Mobile laser scanner. Apps do not need to be aware of the merchant's hardware to perform a scan.