View source | View content page | Page history | Printable version   
Main Page
Upload file
What links here
Recent changes

PDF Books
Show collection (0 pages)
Collections help


Projects:WebUSB and WebBluetooth receipt printers/Technical Documentation


Current technology status

Today, in April 2019, WebUSB and WebBluetooth are experimental specifications. This means the risk that the specification may change in the future and that the browser support is limited and incomplete. The current Chrome version in desktop systems: Windows, Linux, Mac, and also Chrome for Android, contains the basic functionality needed to communicate with receipt printers. But iOS (iPhone, iPad) do not support any of these technologies at this moment.

The API makes extent use of javascript Promises to provide an asynchronous API. For security reasons, WebUSB and WebBluetooth are only available to secure pages (https://…) and request queries of WebUSB or WebBluetooth devices can only be executed as a result of a user gesture, like a click. Request queries cannot be executed in asynchronous calls.

Challenges and risks

Basic support of printing receipts using WebUSB and WebBluetooth is a very feasible project. But being a reimplementation with an experimental technology of a core piece of POS terminals, several challenges and risks must be faced:

Project scope

The current hardware manager supports a large list of devices types: printers, cash drawers, customer displays, RFID. Different connections: USB, serial, javapos, Different printer models, Different character sets, … For the first version of this project the plan is to support the following:


WebUSB and WebBluetooth specifications:

Chrome provides also internal pages that allows to inspect and debug USB and Bluetooth connections:

Retrieved from ""

This page has been accessed 706 times. This page was last modified on 26 April 2019, at 09:45. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.