Flutter plugins for real hardware.

skio connects Flutter apps to USB serial devices, USB cameras and Bluetooth LE sensors. It binds native APIs directly with jnigen and dart:js_interop, so there are no platform channels, and the logic lives in testable Dart.

View on GitHub Packages on pub.dev

Packages

skio_usb_serial

Serial ports over USB: CP210x, CH340, FTDI, CDC-ACM. Android USB OTG and Web Serial.

In development

skio_uvc_camera

USB Video Class cameras on Android: live preview, JPEG capture, hardware button.

Planned

skio_ble_central

Bluetooth LE central: scan, connect, GATT read/write/notify. Android and Web Bluetooth.

Planned

skio_core

Shared types: one permission API, one error family and device filters for every plugin.

In development

What it looks like

final ports = await UsbSerialPort.list();
final port = await UsbSerialPort.open(ports.first,
    config: const SerialConfig(baudRate: 115200));

port.input.listen((bytes) => print(bytes));
await port.write(utf8.encode('hello\n'));
await port.close();

Principles