v148 · Devices
Web Serial API on Android
Chrome 148 brings the Web Serial API to Android, enabling mobile web apps to communicate with USB and Bluetooth serial devices using the same navigator.serial interface already available on desktop.
concepts
-
Port Explorer
Requests access to a serial port and displays its metadata: vendor ID, product ID, and USB class. Shows the permission flow that Chrome presents — on both desktop and Android — and gracefully handles missing hardware.
-
Serial Terminal
A minimal read/write terminal over a connected serial port. Open a port, choose baud rate and data bits, then send and receive text — works identically on desktop Chrome and Android Chrome 148+.
-
Sensor Data Logger
Connect to a serial sensor sending temperature, humidity, and pressure readings. On Android Chrome 148+, connect to real USB or Bluetooth serial devices and chart incoming packets live.
-
Serial Device Explorer
A registry of 6 known serial device profiles (Arduino, ESP32, Pico, FTDI, GPS, barometer) with VID/PID/baud info. Connect button calls
navigator.serial.requestPort()and populates a capabilities panel. Includes an Android 148+ badge and a connection tester with device-specific probe commands. -
Protocol Decoder
Decode binary serial frame formats from hex input: NMEA 0183 GPS sentences, Modbus RTU frames, and custom STX/LEN/DATA/CSUM/ETX frames. A byte visualization highlights each field (header, length, data, checksum, terminator) in color. Sample NMEA frames show what parsing a real GPS serial device looks like with the Web Serial API on Android.
why it shipped
The Web Serial API has been available on Chrome desktop since Chrome 89 — it's used by Arduino IDE in the browser, MicroPython tools, oscilloscopes, and countless industrial devices. Mobile developers building PWAs for field technicians, IoT dashboards, or hardware prototyping faced a hard platform wall: Android Chrome didn't support the API. Chrome 148 removes that wall. Android devices support serial communication via OTG USB adapters, Bluetooth serial profiles, and some USB-C peripherals. The same JavaScript code that already runs on desktop now runs on Android — no platform checks, no capability flags for feature parity.
references
implementation reference
Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗