Skip to content

Hardware compatibility

Status labels: Tested (verified on physical equipment, evidence recorded), Implemented, untested on hardware (code exists and is unit-tested), Planned, Unsupported. Nothing is listed as compatible without evidence.

Equipment Interface Status Notes
Barcode scanner, USB/Bluetooth in keyboard (HID) mode Keyboard wedge Implemented, untested on hardware The register detects fast keystroke bursts ending in Enter (EAN-13/8, UPC-A/E, Code 128, Code 39 — whatever the scanner types). No driver needed.
Phone/tablet camera Browser BarcodeDetector Implemented, untested on hardware Chrome/Edge on Android, ChromeOS, macOS. Not available in Safari/Firefox — use a scanner.
ESC/POS thermal receipt printer (Epson TM-T20/T82, Xprinter, generic 80/58 mm) Network (raw TCP 9100) via hardware bridge Implemented, untested on hardware Bridge renders the receipt document to ESC/POS (apps/device-agent).
ESC/POS printer USB via hardware bridge Implemented, untested on hardware Linux: writes to /dev/usb/lp* (configurable devicePath). Windows USB printing needs a shared printer queue — planned.
Any printer Browser print (80 mm stylesheet) Implemented, untested on hardware Works with any OS-installed printer.
Cash drawer on printer RJ11/12 port ESC/POS pulse (pin 2 or 5) via bridge Implemented, untested on hardware Opens on cash sales and audited "no sale" opens.
Kitchen printer ESC/POS via bridge Implemented, untested on hardware Kitchen ticket document from a sale.
Bluetooth ESC/POS printers Web Bluetooth / bridge Planned
Card terminals — Yoco, Adumo, iKhokha, Peach, Paystack, SnapScan Provider SDK/API Planned — awaiting provider developer credentials Today: any standalone terminal, cashier confirms approval. POS never handles card data.
Customer display, weighing scale, label printer — Planned Device kinds exist in the data model.

When you test a device, add a row with the model, firmware, OS, bridge version, date, and what was verified.