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:port to a serial bridge, ble://<id> to Nordic UART devices.
Local portstcp://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.