Flutter Bluetooth

Flutter BLE libraries, compared

Five libraries bring Bluetooth Low Energy to Flutter. SimpleBLE runs on Android, iOS, macOS, Windows, and Linux from one package, as a central or a peripheral, and the team that builds it supports your app.

Kober Engineering
InsuLearn
Meta
Fender
Honeywell
Bionic Labs
Sona
SWT
Moon Smart Focus
Lewitt
Medra
Desko
g.tec
IXI
Innovision
Moonlighting Industries
Kober Engineering
InsuLearn
Meta
Fender
Honeywell
Bionic Labs
Sona
SWT
Moon Smart Focus
Lewitt
Medra
Desko
g.tec
IXI
Innovision
Moonlighting Industries
Kober Engineering
InsuLearn
Meta
Fender
Honeywell
Bionic Labs
Sona
SWT
Moon Smart Focus
Lewitt
Medra
Desko
g.tec
IXI
Innovision
Moonlighting Industries
Comparison

How the Flutter BLE libraries compare

Platforms, roles, and licensing decide which library fits a commercial Flutter app. This is where each one stands.

How the Flutter BLE libraries compare
SimpleBLEsimplefltbleAndroid, iOS, macOS, Windows, LinuxEvery platformC++, Python, C#, Rust, and moreSource-available (BUSL 1.1); one commercial license per company
flutter_blue_plusflutter_blue_plusAndroid, iOS, macOS, Linux, Web. Windows through flutter_blue_plus_winrtNoFlutter onlyFree for personal, nonprofit, and education use; commercial license for for-profit use
universal_bleuniversal_bleAndroid, iOS, macOS, Windows, Linux, WebAndroid, iOS, macOS, WindowsFlutter onlyBSD-3-Clause
bluetooth_low_energybluetooth_low_energyAndroid, iOS, macOS, Windows, LinuxAndroid, iOS, macOS, WindowsFlutter onlyMIT
flutter_reactive_bleflutter_reactive_bleAndroid, iOSNoFlutter onlyBSD-3-Clause
The options

The Flutter BLE libraries, one by one

SimpleBLE

SimpleBLE is a Bluetooth Low Energy library for Windows, macOS, Linux, iOS, and Android. Its Flutter package, SimpleFltBLE, scans and connects as a central and hosts GATT services as a peripheral, with futures and streams. Bluetooth work never blocks your UI. The same library runs in C++, Python, C#, Rust, and other languages, so your app and your test tools share one Bluetooth foundation, and commercial customers work directly with the engineers who maintain it.

flutter_blue_plus

flutter_blue_plus is a central-role plugin for Android, iOS, macOS, Linux, and the web. Windows support comes from flutter_blue_plus_winrt, a separate package. Its license is free for personal, nonprofit, and educational use; for-profit organizations and individuals need a commercial license. A company that is licensing a Flutter BLE library can license SimpleBLE instead and gain Windows, the peripheral role, and every other SimpleBLE language under one agreement.

universal_ble

universal_ble, from Navideck, covers Android, iOS, macOS, Windows, Linux, and the web, with a peripheral mode on Android, iOS, macOS, and Windows. It is BSD-licensed and available for Flutter only. SimpleBLE runs the same library in your desktop tools and test scripts outside Flutter.

bluetooth_low_energy

bluetooth_low_energy is an MIT-licensed plugin with central and peripheral managers. Its peripheral role covers Android, iOS, macOS, and Windows, and on Linux it works as a central only.

flutter_reactive_ble

flutter_reactive_ble is published by Philips Hue and built around reactive streams. It supports Android and iOS in the central role. A Flutter app that also ships on desktop, or that needs to advertise, needs another library for that part.

Get started

Scan, connect, and host in a few lines

SimpleFltBLE works with futures and streams. Add it with flutter pub add simplefltble, and this is the code for each step.

import 'package:simplefltble/simplefltble.dart';

Future<void> scan() async {
  final adapter = (await Adapter.getAdapters()).first;

  adapter.onScanFound.listen((peripheral) {
    print('${peripheral.identifier} ${peripheral.address}');
  });
  await adapter.scanFor(const Duration(seconds: 5));
}
Why SimpleBLE

What SimpleBLE gives your Flutter app

Platforms

Five platforms, one package

Android, iOS, macOS, Windows, and Linux from pub.dev. Nothing to compile.

Roles

Central and peripheral

Scan and connect, or advertise and serve GATT, on every platform.

Responsive

A UI that never stalls

Bluetooth never blocks the UI isolate. Scans and reads never cost a frame.

Languages

One library, every tool

Your Flutter app, Python test scripts, and C++ tools share the same Bluetooth library.

Hardware

Dongl on desktop

Plug in a Dongl for a dedicated radio on Windows, macOS, or Linux. Same code.

Support

A direct line to the engineers

Commercial customers work directly with the team that builds SimpleBLE.

Try SimpleBLE in your Flutter app

Evaluation needs no license. For commercial use, one agreement covers your whole company, with no per-seat, per-device, or royalty fees.

Frequently
asked questions

SimpleBLE, universal_ble, and bluetooth_low_energy support Windows directly. flutter_blue_plus supports Windows through a separate package, flutter_blue_plus_winrt, and flutter_reactive_ble supports Android and iOS.

No. Its license is free for personal, nonprofit, and educational use, and for-profit organizations and individuals need a commercial license. SimpleBLE is also licensed for commercial use, and one agreement covers your whole company, Windows, the peripheral role, and every SimpleBLE language.

Yes. SimpleBLE hosts GATT services and advertises on Android, iOS, macOS, Windows, and Linux. universal_ble and bluetooth_low_energy offer a peripheral role on Android, iOS, macOS, and Windows. flutter_blue_plus and flutter_reactive_ble work in the central role.

Add simplefltble from pub.dev, then move scanning, connections, and GATT calls one flow at a time. Both libraries use futures and streams, so the shape of your Bluetooth code stays the same.

Yes. On Windows, macOS, and Linux, SimpleFltBLE drives a Dongl USB adapter with the same code it uses for the computer's built-in Bluetooth.

SimpleBLE is source-available under the Business Source License 1.1 and free for non-commercial use. Evaluation needs no license. Commercial use needs a license, and one agreement covers your whole company, with no per-seat, per-device, or royalty fees.