flutter_blue_ultra 2.2.0 copy "flutter_blue_ultra: ^2.2.0" to clipboard
flutter_blue_ultra: ^2.2.0 copied to clipboard

Flutter plugin for connecting and communicating with Bluetooth Low Energy devices.

Flutter Blue Ultra logo

🩡 Flutter Blue Ultra #

pub package pub points

CI license

An open-source Bluetooth Low Energy (BLE) plugin for Flutter. Scan for nearby devices, connect, discover GATT services and characteristics, read and write, subscribe to notifications, negotiate MTU, and manage bonding β€” all from a single cross-platform API on iOS, Android, macOS, Linux, and Web (central role).

A community continuation of flutter_blue_plus 1.x β€” same familiar API, with new capabilities and ongoing platform maintenance.

Scanning nearby BLE devices    Connecting to a device and reading characteristics

✨ Features #

  • Legacy 1.x compatibility β€” keep using the familiar flutter_blue_plus 1.x API surface.
  • Cross-platform β€” iOS, Android, macOS, Linux, and Web (central role).
  • Actively maintained β€” tracks Android/iOS/macOS/Linux/Web Bluetooth API changes.
  • New functionality β€” expanded features on top of the legacy API.
  • Accessory Setup Kit β€” optional accessory pairing flow integration on iOS.

⚑ Quick start #

Add the package:

flutter pub add flutter_blue_ultra

Or add it manually to pubspec.yaml:

dependencies:
  flutter_blue_ultra: ^2.2.0

Configure platform permissions (Android manifest, iOS Info.plist, macOS entitlements, Android minSdkVersion) β€” see Getting started. Apps cannot scan or connect without these.

Minimal scan example:

import 'package:flutter_blue_ultra/flutter_blue_ultra.dart';

void main() async {
  // Ensure Bluetooth is supported and powered on before scanning.
  if (await FlutterBlueUltra.isSupported == false) return;
  await FlutterBlueUltra.adapterState
      .where((s) => s == BluetoothAdapterState.on)
      .first;

  await FlutterBlueUltra.startScan(timeout: const Duration(seconds: 5));
  await FlutterBlueUltra.isScanning.where((v) => v == false).first;
}

A full runnable app lives in example/.

πŸ“˜ Documentation #

πŸš‡ Compatibility and migration #

Compatibility with flutter_blue_plus #

  • You cannot install both flutter_blue_plus and flutter_blue_ultra in the same project β€” they are mutually exclusive.
  • A compatibility layer keeps legacy code that uses FlutterBluePlus working with flutter_blue_ultra.
  • New features land only on the FlutterBlueUltra API.

Migration strategy #

  1. Immediate migration (recommended) β€” find-and-replace:
    • flutter_blue_plus β†’ flutter_blue_ultra (imports)
    • FlutterBluePlus β†’ FlutterBlueUltra (code)
  2. Gradual migration β€” keep using FlutterBluePlus via the compatibility layer and migrate file by file.
  3. Legacy support β€” on flutter_blue_plus 1.x, use this project as a drop-in replacement. Original migration notes are in MIGRATION.md.

πŸ™‹ Where to go next #

πŸ€– Credits and origins #

A community continuation of flutter_blue_plus 1.x. Original work:

πŸ“œ License #

Licensed under the BSD 3-Clause license. See LICENSE.


πŸ› οΈ Maintained by Intent #

Maintained by Intent

Flutter Blue Ultra is built and maintained by Intent β€” we design and engineer connected products, including Bluetooth and IoT experiences. Get in touch if you need help with your BLE project.