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:
- Documentation: Start with Installation, Quickstart, and the task-based Recipes.
- Community: Join our Discord server for discussions and help.
- Commercial Support: Check out our website or email us for licensing and professional services.
- Extension Libraries: Learn about SimpleBluez, our BlueZ abstraction layer, and SimpleDBus, our DBus object hierarchy handler.
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.
