Skip to content

Bluetooth Low Energy

Awesome BLE Awesome

Bluetooth Low Energy (BLE): Low-power wireless communication protocol enabling efficient data exchange between devices, ideal for IoT, wearables, and other battery-powered applications.

A collaborative list of Awesome Bluetooth Low Energy resources by 🔴 intent.

Hardware

Mobile

Documentation

Official specifications, standards, and technical documentation about the Bluetooth Low Energy (BLE) protocol.

Framework

Framework useful to develop your BLE peripherals.

Library

Software libraries and frameworks for integrating Bluetooth Low Energy (BLE) functionality into various platforms, including mobile, embedded systems, and IoT devices.

  • bluepy - A Python interface for Bluetooth LE on Linux.
  • bluez - The official Linux Bluetooth protocol stack.
  • bumble - Bumble is a full-featured Bluetooth stack written entirely in Python.
  • pygatt - A Python library for interacting with BLE devices.
  • SimpleBLE - The all-in-one C/C++/Python/Rust Bluetooth LE library for MacOS, iOS, Windows, and Linux.

iOS

iOS libraries, tools, and resources for developing Bluetooth Low Energy (BLE) applications on Apple devices.

  • AsyncBluetooth - A small library that adds concurrency to CoreBluetooth APIs.
  • CombineCoreBluetooth - CombineCoreBluetooth is a library that bridges Apple's CoreBluetooth framework and Apple's Combine framework.
  • iOS DFU Library - DFU application allows to flash new firmware on the DK.
  • Rx Bluetooth Kit - RxBluetoothKit is a Bluetooth library that makes interaction with BLE devices much more pleasant using RxSwift.
  • Swifty Sensors - Bluetooth LE Sensor Manager for iOS and macOS.

KMM

Resources and libraries for building Bluetooth Low Energy (BLE) applications using the Kotlin Multiplatform Mobile (KMM) framework.

  • BlueFalcon - A Bluetooth kotlin multiplatform "Cross-Platform" library for iOS and Android.
  • Kable - Kotlin Asynchronous Bluetooth Low Energy provides a simple Coroutines-powered API for interacting with Bluetooth Low Energy devices.

Android

Android libraries, tools, and resources for integrating Bluetooth Low Energy (BLE) functionality into Android applications.

  • Android BluetoothGatt Sample - An example application demonstrating how to use BluetoothGatt API on Android.
  • android-BluetoothChat - An Android Bluetooth chat application.
  • FastBle - An Android Bluetooth Low Energy (BLE) fast development framework.
  • Nordic Semiconductor BLE SDK for Android - Official Bluetooth Low Energy SDK provided by Nordic Semiconductor for Android development.
  • RxAndroidBle - An Android Bluetooth Low Energy (BLE) Library with RxJava3 interface.
  • SmartGattLib - SmartGattLib is a Java library that simplifies the work with Bluetooth SMART devices (a.k.a. Bluetooth Low Energy in Bluetooth 4.0). It provides all UUIDs of the adopted GATT specification and an convenient way to interpret the characteristics (e.g. Heart Rate, BatteryLevel).

Flutter

Flutter libraries, tools, and resources for developing Bluetooth Low Energy (BLE) applications using the Flutter framework for both iOS and Android.

  • Flutter Blue Plus - Flutter Blue Plus is a bluetooth plugin for Flutter, a new app SDK to help developers build modern multi-platform apps.
  • Flutter Reactive BLE - Flutter Reactive BLE is a Flutter library that handles BLE operations for multiple devices.
  • Flutter BLELib - Bluetooth Low Energy library for Flutter with support for simulating peripherals.

Tool

Development and testing tools for Bluetooth Low Energy (BLE) applications, including analyzers, debuggers, and simulators.

  • Bettercap - A easily extensible and portable framework for security researchers to test BLE security.
  • nRF Connect - An application framework for developing, testing, and provisioning devices based on Nordic Semiconductor chips.
  • BLE Simulator - A mobile app able to clone BLE devices and script their interaction. Useful to debug and quick prototyping.

Web

Web-based resources, frameworks, and tools for building Bluetooth Low Energy (BLE) applications using JavaScript and web technologies.

Security

Security related resources around BLE.

Arduino

A list of resources dedicated to Arduino hardware

ESP

A list of resources dedicated to EspressIf hardware

Nordic

A list of resources dedicated to Arduino hardware

RaspberryPi

A list of resources dedicated to RaspberryPi hardware

Articles and Case Studies

Interesting articles and case studies from BLE development

Contributing

Please take a quick look at the contribution guidelines first.

If you see an entry longer maintained or is not a good fit, please submit a pull request to improve this file.

Thank you to all contributors; you rock!