Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The opened read only property of the USBDevice interface indicates whether a session has been started with a paired USB device. A device must be opened before it can be controlled by a web page.


var serialNumber = USBDevice.opened


A boolean.


This example is for a hypothetical USB device with a multi-colored LED. It shows how to test that a device is open before calling USBDevice.controlTransferOut to set a specified LED color.

Note: What data can be passed to a USB device and how it is passed is particular and unique to each device.

async setDeviceColor(usbDevice, r, g, b) {
   if (device.opened) {
     // This hypothetical USB device requires that the data passed to
     // it be in a Uint8Array.
     let payload = new Uint8Array([r, g, b]);

     await usbDevice.controlTransferOut({
       requestType: 'vendor',
       recipient: 'device',
       request: 1,
       value: 0,
       index: 0,
     }, payload);


# ref-for-dom-usbdevice-opened

Browser compatibility

BCD tables only load in the browser