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.
Serial ports over USB: CP210x, CH340, FTDI, CDC-ACM. Android USB OTG and Web Serial.
In developmentUSB Video Class cameras on Android: live preview, JPEG capture, hardware button.
PlannedBluetooth LE central: scan, connect, GATT read/write/notify. Android and Web Bluetooth.
PlannedShared types: one permission API, one error family and device filters for every plugin.
In developmentfinal 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();