Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Bluetooth Low Energy
  3. Nordic Semiconductor BLE SDK for Android

Nordic Semiconductor BLE SDK for Android

BSD-3-ClauseJava2.11.0

An Android library that solves common Bluetooth Low Energy problems, making BLE development easier and more reliable.

GitHubGitHub
2.4k stars459 forks0 contributors

What is Nordic Semiconductor BLE SDK for Android?

Android BLE Library is an open-source library for Android that simplifies Bluetooth Low Energy (BLE) development by solving many of the platform's inherent problems. It provides a high-level API for managing connections, performing data operations, handling bonding, and supporting both GATT client and server roles, significantly reducing the complexity and boilerplate code required for BLE applications.

Target Audience

Android developers building applications that communicate with Bluetooth Low Energy devices, such as IoT sensors, wearables, health monitors, or smart home gadgets, who need a reliable and easy-to-use BLE implementation.

Value Proposition

Developers choose this library because it abstracts Android's notoriously difficult BLE API, offering automatic retries, packet splitting/merging, error handling, and modern Kotlin extensions (coroutines, Flow) out of the box, making BLE development faster, more robust, and less error-prone.

Overview

A library that makes working with Bluetooth LE on Android a pleasure. Seriously.

Use Cases

Best For

  • Building Android apps that connect to BLE sensors or IoT devices
  • Creating GATT server applications that act as BLE peripherals
  • Developing reliable BLE clients with automatic connection retry and error handling
  • Handling long data packets over BLE with automatic splitting and merging
  • Integrating BLE operations with Kotlin coroutines and Flow for reactive programming
  • Managing BLE bonding and encryption in a simplified way

Not Ideal For

  • Projects requiring built-in Bluetooth LE scanning capabilities
  • Teams concerned about API stability due to upcoming non-backward-compatible version 2.0
  • Cross-platform applications needing BLE support on iOS or other systems
  • Developers who need low-level control over BLE without abstraction layers

Pros & Cons

Pros

Robust Connection Management

Handles automatic retries, service discovery, and bonding with optional reflection-based bond removal, reducing common connection issues described in the README.

Advanced Data Handling

Automatically splits and merges long packets when reading/writing characteristics and descriptors, supporting reliable writes and simplifying data operations as highlighted in the features.

Comprehensive Feature Set

Includes MTU requests, PHY settings, RSSI readings, GATT server support, and handles Service Changed indications, covering many advanced BLE use cases.

Modern Kotlin Integration

Provides coroutine, Flow, and LiveData extensions via separate modules, enabling reactive and asynchronous programming patterns for modern Android development.

Cons

No Scanning Support

The library explicitly does not include BLE scanning, requiring developers to integrate a separate library like Android Scanner Compat Library, adding complexity.

API Breaking Changes

Version 2.2 introduced significant API breaks, and a new version 2.0 is in development that is not backward compatible, posing migration challenges and instability.

Reliance on Reflections

Features like bond removal and cache refresh use reflections, which can be unreliable, restricted on newer Android versions, and prone to breaking.

Frequently Asked Questions

Quick Stats

Stars2,397
Forks459
Contributors0
Open Issues44
Last commit14 days ago
CreatedSince 2017

Tags

#bluetooth-le#coroutines#android#ble-library#async-queue#mobile-development#kotlin

Built With

A
Android SDK
K
Kotlin
C
Coroutines
J
Java

Included in

Bluetooth Low Energy129
Auto-fetched 7 hours ago

Related Projects

FastBleFastBle

Android Bluetooth Low Energy (BLE) Fast Development Framework. It uses simple ways to filter, scan, connect, read ,write, notify, readRssi, setMTU, and multiConnection.

Stars5,500
Forks1,245
Last commit3 months ago
RxAndroidBleRxAndroidBle

An Android Bluetooth Low Energy (BLE) Library with RxJava3 interface

Stars3,542
Forks593
Last commit1 year ago
Android BluetoothGatt SampleAndroid BluetoothGatt Sample

Multiple samples showing the best practices in connectivity on Android.

Stars1,787
Forks1,351
Last commit1 year ago
android-BluetoothChatandroid-BluetoothChat

Migrated:

Stars1,008
Forks634
Last commit6 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub