SimpleBLE
The ultimate cross-platform library and bindings for Bluetooth Low Energy (BLE), designed for simplicity and ease of use.
Key Features
- Cross-Platform: Enterprise-grade support for Windows, macOS, Linux, iOS, and Android
- Device Roles: Central across platforms, Peripheral starting with Linux/C++
- Easy Integration: Clean, consistent API across all platforms
- Multiple Language Bindings: Production-ready bindings for C, C++, Python, Java and Rust, with more coming soon
- Commercial Ready: Source-available commercial license for proprietary applications
Language Bindings & Plugins
- C++ (SimpleBLE): Core implementation with full platform support
- C (SimpleCBLE): C-wrapped version of the library
- Python (SimplePyBLE): Python bindings. See the SimplePyBLE PyPI page for more details.
- Java (SimpleJavaBLE) - Early Preview: Java bindings.
- Rust (SimpleRsBLE) - Early Preview: Rust bindings (under major refactor). See the SimpleRsBLE Crates.io page for more details.
- Android (SimpleDroidBLE) - Alpha: Android-only bindings (alpha).
- Unreal Engine (SimpleBLE for Unreal): Unreal Engine plugin with Blueprint and C++ APIs.
- More languages coming soon!
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.
