Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Bluetooth Low Energy
  3. RxAndroidBle

RxAndroidBle

Apache-2.0Javarelease-1.19.1-rxjava2+rxjava3

A reactive Android Bluetooth Low Energy (BLE) library with RxJava3 interface, simplifying complex BLE operations.

Visit WebsiteGitHubGitHub
3.5k stars592 forks0 contributors

What is RxAndroidBle?

RxAndroidBle is an open-source Android library that provides a reactive interface for Bluetooth Low Energy (BLE) communication. It simplifies working with Android's complex BLE APIs by exposing operations as RxJava Observables, handling threading, asynchronous tasks, and error management automatically. It solves the problem of verbose and error-prone BLE implementation on Android.

Target Audience

Android developers building applications that communicate with BLE devices such as fitness trackers, smart home gadgets, medical devices, or IoT sensors. It's particularly useful for those already familiar with RxJava.

Value Proposition

Developers choose RxAndroidBle because it dramatically reduces BLE implementation complexity with its reactive approach, provides robust error handling, and abstracts away Android's threading requirements. Its RxJava integration allows for elegant composition of BLE operations compared to callback-based alternatives.

Overview

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

Use Cases

Best For

  • Building fitness or health apps that connect to BLE heart rate monitors
  • Developing smart home apps controlling BLE-enabled lights or locks
  • Creating IoT applications that communicate with sensor devices
  • Implementing BLE data logging or monitoring tools
  • Prototyping BLE-enabled Android applications quickly
  • Apps requiring reliable BLE connection state management

Not Ideal For

  • Teams with no RxJava experience preferring callback-based or Kotlin coroutine approaches
  • Projects requiring cross-platform BLE support beyond Android
  • Applications needing immediate access to cutting-edge Android BLE features not yet abstracted by the library
  • Production environments with zero tolerance for API instability, given snapshot versions may break

Pros & Cons

Pros

Reactive Stream Composition

Exposes BLE operations as RxJava Observables, allowing developers to chain, merge, and transform scans, reads, and writes with RxJava operators, as demonstrated in the README's multiple operation examples.

Automatic Threading Management

Handles Android threading contracts internally, preventing common pitfalls like UI thread blocking during BLE operations, which is highlighted in the library's philosophy.

Comprehensive Error Handling

Propagates errors through RxJava's onError with detailed JavaDoc for each public method, making it easier to debug connection failures or permission issues.

Configurable Logging

Supports custom logger integration and multiple log levels, enabling deep debugging of BLE interactions without modifying core code, as shown in the logging section.

Cons

RxJava Learning Curve

Requires proficiency in RxJava for effective use, adding overhead for teams not already invested in reactive programming, limiting accessibility for some Android developers.

Complex Permission Setup

Managing permissions across Android versions is intricate and error-prone, with the README detailing lengthy, API-specific manifest additions that can confuse developers.

Stagnant Mocking Support

The mock library for testing (MockRxAndroidBle) is not under active development, hindering reliable integration testing without physical devices, as admitted in the README.

Frequently Asked Questions

Quick Stats

Stars3,544
Forks592
Contributors0
Open Issues57
Last commit1 year ago
CreatedSince 2016

Tags

#iot#rxjava3#rxjava2#bluetooth-le#ble#android#reactive-programming#bluetooth-low-energy#ble-library#java#asynchronous#rxjava#android-library#mobile-development#kotlin

Built With

A
Android SDK
R
RxJava

Links & Resources

Website

Included in

Bluetooth Low Energy129
Auto-fetched 23 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,487
Forks1,243
Last commit1 month ago
Nordic Semiconductor BLE SDK for AndroidNordic Semiconductor BLE SDK for Android

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

Stars2,381
Forks456
Last commit4 days ago
Android BluetoothGatt SampleAndroid BluetoothGatt Sample

Multiple samples showing the best practices in connectivity on Android.

Stars1,783
Forks1,351
Last commit11 months ago
android-BluetoothChatandroid-BluetoothChat

Migrated:

Stars1,005
Forks636
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