SimpleBLE 1.0 is finally here
Releases

SimpleBLE 1.0 is finally here

SimpleBLE 1.0 is here: one Bluetooth Low Energy API across Windows, macOS, Linux, iOS, and Android, with bindings for C++, C, Python, Java, and Rust.

SimpleBLE started with a simple frustration: Bluetooth is everywhere, but the software around it is a mess. Fragmented stacks, half-maintained wrappers, and no obvious place to start.

On paper, BLE looks standardized. In practice, every platform exposes it differently. Windows does one thing. macOS does another. Linux adds its own flavor. iOS and Android each come with their own rules, constraints, and edge cases. Then the adapter matters. Then the driver matters. Then one machine behaves perfectly while another decides today is the day notifications stop arriving for no obvious reason. Sometimes the root cause is technical. Sometimes it feels like the humidity or Neptune in retrograde.

Bluetooth is everywhere, yet shipping Bluetooth software that actually survives production still feels harder than it should. That gap between prototype and production is why SimpleBLE exists.

SimpleBLE 1.0 marks the point where this is no longer just a useful library. It is a stable, production ready foundation for teams that need Bluetooth capabilities in minutes, not months.

Why SimpleBLE exists

Building a Bluetooth product usually forces a choice early on. You either write native Swift for iOS, Kotlin for Android, C++ for Windows, and wrestle with BlueZ for Linux, or you rely on community maintained wrappers that haven't had a meaningful update in a long time.

A quick prototype works on one platform. Then the same application needs to work on Windows, Linux, macOS, iOS, and Android. It needs to behave consistently when the customer's machine is older, stranger, more locked down, or simply less cooperative than the development setup.

That is usually when teams start rewriting the same Bluetooth logic for each host stack. The work multiplies fast, and the production edge cases land in code nobody wants to own. Teams usually discover this the expensive way, after spending months chasing system specific bugs instead of building their actual product.

SimpleBLE was built for that moment: one clean API across Windows, macOS, Linux, iOS, and Android, with bindings for C++, C, Python, Java, and Rust, backed by production grade support, so developers can build the product instead of fighting the stack underneath it. You write your application logic once, and the library translates it into the correct native calls for the host operating system.

auto adapter = SimpleBLE::Adapter::get_adapters()[0];
adapter.scan_for(5000);
 
auto peripheral = adapter.scan_get_results()[0];
peripheral.connect();
 
peripheral.notify(service, characteristic, [](SimpleBLE::ByteArray data) {
    // live data from the device, same code on all five platforms
});

It also reflects something just as important as API coverage: support. SimpleBLE is vendor supported by the team that built the stack. When teams hit a hard problem, they are not left digging through abandoned issues or hoping a forum thread from three years ago matches their setup. They can get direct help from people who actually know how the system behaves under pressure.

Reaching the 1.0 milestone

We decided to call this release 1.0 because we should have done this a long time ago. Companies have been shipping with SimpleBLE in medical technology, consumer electronics, and automotive tools for years now. Calling it 1.0 means the API you integrate today is the interface we commit to supporting, even as operating systems keep moving underneath. While their Bluetooth implementations will continue to change, the library abstracts those changes away.

Try the release

If you have been putting off the Bluetooth layer because the stack looked like a part-time job, this is the release to start with.

The documentation includes integration guides and technical references to help you get moving quickly. The GitHub release includes the latest version and full release notes. If your use case is straightforward, you should be able to get up and running fast. If it is not, that is exactly the kind of problem SimpleBLE is built for.

And if you are dealing with a particularly stubborn integration, reach out about consulting. Hard Bluetooth problems do not get cheaper by waiting.

Documentation: SimpleBLE Docs

GitHub Release: SimpleBLE 1.0 Release

The fun part

After spending this long fighting Bluetooth, making a shirt seemed reasonable. We put together a small 1.0 merchandise collection for anyone else who has stared at a failed connection log at two in the morning: SimpleBLE 1.0 Collection

KD

Kevin Dewald

2026-07-15

Resources

Blog & Resources for Builders

What's new with SimpleBLE
News

What's new with SimpleBLE

The SimpleBLE Store Is Open
News

The SimpleBLE Store Is Open

SimpleBLE for Unreal Engine is now available on Fab
News

SimpleBLE for Unreal Engine is now available on Fab