This project has been tested with computers running Windows 10, OSX, and Linux. The only requirement is the Chrome browser must be loaded and the version of the browser must be 61 or higher (best to be near the latest version).
A Chromebook with the latest software was tested and this project works great. The Chromebook is a Samsung model that dates from perhaps 2017. The ChromeOS software was updated to ensure the best compatibility.
Most desktops work fine with Chrome including PC, mac, and Linux. The browser is a bit of a memory hog but WebUSB compatibility doesn't add any significant memory use.
Support has been tested with iPhone and Android as they both support Chrome. There may be security prompts asking if it is ok for Chrome to use the USB port, to which you should answer yes.
To use WebUSB, your computing device needs to have a free USB port (USB 2 is fine). Some devices do not have a USB port but some other connector (like Apple Lightning connectors). You will need an adaptor device or cable to convert that port to a USB port (and beware, not all adaptors are equally effective).
Some modern Android devices have a USB C port while older devices have a micro-B USB port.
The goal is getting a cable that will connect the version of USB present to a micro-B USB plug.
Here are some cables that may help bridge the gap between the microcontroller and the computer/mobile USB port:
- Micro-B USB to micro-B USB OTG, 10 inches/25 cm cable
- USB A to micro-B USB cable - 3 foot and 2 meter
- USB C to micro-B USB cable
- iOS Lightning to USB OTG Cable
- USB 3-in-1 Sync and Charge micro-B / Type C / Lightning Cable
OTG stands for On the Go, and is required for some mobile devices to recognize external connections.