Getting started
Introduction
What the plugin does and where each transport works.
Serial ports for Tauri 2 apps: desktop COM/tty ports, USB-serial adapters on Android, and serial over TCP or Bluetooth LE — including on iOS.
- One API everywhere: open, stream with
watch(), read/write, line settings, modem lines, hotplug, auto-reconnect. - Modems built in: a native AT command queue with structured results, URCs, SMS (PDU) and GSM 07.10 / 27.010 CMUX.
- Android without Java libraries: USB-serial drivers in Rust (FTDI, CP210x, PL2303, CH34x, CDC-ACM, …).
- Network and radio transports:
tcp://host:portto a serial bridge,ble://<id>to Nordic UART devices.
| Local ports | tcp:// | ble:// | |
|---|---|---|---|
| Windows · macOS · Linux | ✅ | ✅ | ✅ (feature ble) |
| Android | ✅ USB host | ✅ | ✅ (feature ble) |
| iOS | — (no OS API) | ✅ | ✅ (feature ble) |
The plugin is two packages: the Rust crate
tauri-plugin-serialplugin
and the npm package
tauri-plugin-serialplugin-api.
Upgrading from v3? Rust command functions are now async, read() decodes in
JS, watch() batches every ~20 ms; see the migration guide.