SimpleBLE

SimpleBLE

Build Bluetooth once. Ship it everywhere.

SimpleBLE is the cross-platform Bluetooth Low Energy stack for Windows, macOS, Linux, iOS, and Android. Use it from C++, C, Python, Java, or Rust, with dedicated APIs for Kotlin on Android and Unreal Engine.

New in v1.1

Java and Android developers no longer need a source checkout. Install SimpleJavaBLE or the Android-only SimpleDroidBLE from Maven Central, with the supported native libraries included.

Why SimpleBLE

  • One cross-platform API: Keep application-facing BLE logic consistent across desktop and mobile.
  • Native underneath: Use WinRT, CoreBluetooth, BlueZ, and Android Bluetooth through one maintained stack.
  • Built for real products: Central-role support across all five operating systems, with Linux/C++ peripheral support.
  • Commercially supported: Ship proprietary applications with licensing and direct technical support available.

Language Bindings & Plugins

  • C++ (SimpleBLE): Core implementation with full platform support.
  • C (SimpleCBLE): C-wrapped version of the library.
  • Python (SimplePyBLE): Python bindings available from PyPI.
  • Java (SimpleJavaBLE): Java bindings available from Maven Central with bundled desktop native libraries.
  • Rust (SimpleRsBLE): Rust bindings available from crates.io.
  • Android (SimpleDroidBLE) - Beta: Android-only Kotlin bindings available from Maven Central.
  • Unreal Engine (SimpleBLE for Unreal): Unreal Engine plugin with Blueprint and C++ APIs.

SimplePyBLE has surpassed 3.5 million downloads on PyPI.

Getting Started

New to SimpleBLE or Bluetooth LE? Start with the shortest path that matches where you are:

  • Need to install a binding? Use the Installation guide to choose the right package or source build path for C++, C, Python, Java, Rust, Android, Unreal Engine, and agent tooling.
  • Need a first working program? Use the Quickstart to scan for nearby BLE devices with copy/paste snippets for each supported binding.
  • Need to build a real workflow? Use the Recipes for scanning, connecting, and GATT operations like read, write, and notify.
  • New to BLE concepts? Read Fundamentals for Bluetooth LE basics, permissions, concurrency, and CMake setup.

Support & Resources

We're here to help you succeed with SimpleBLE:

Don't hesitate to reach out if you need assistance - we're happy to help!


SimpleBLE is a project powered by The California Open Source Company.

On this page