SimpleSharpBLE 1.2.1-dev.105
See the version list below for details.
dotnet add package SimpleSharpBLE --version 1.2.1-dev.105
NuGet\Install-Package SimpleSharpBLE -Version 1.2.1-dev.105
<PackageReference Include="SimpleSharpBLE" Version="1.2.1-dev.105" />
<PackageVersion Include="SimpleSharpBLE" Version="1.2.1-dev.105" />
<PackageReference Include="SimpleSharpBLE" />
paket add SimpleSharpBLE --version 1.2.1-dev.105
#r "nuget: SimpleSharpBLE, 1.2.1-dev.105"
#:package SimpleSharpBLE@1.2.1-dev.105
#addin nuget:?package=SimpleSharpBLE&version=1.2.1-dev.105&prerelease
#tool nuget:?package=SimpleSharpBLE&version=1.2.1-dev.105&prerelease
SimpleSharpBLE
The ultimate cross-platform library and bindings for Bluetooth Low Energy (BLE), designed for simplicity and ease of use.
SimpleSharpBLE provides the C# and .NET bindings for SimpleBLE.
Key Features
- Cross-Platform: Enterprise-grade support for Windows, macOS, Linux, Android, iOS/iPadOS, and Mac Catalyst
- Easy Integration: Clean, consistent API across all platforms
- Multiple Language Bindings: Production-ready bindings for C, C++, C#, Python, Java and Rust, with more coming soon
- Commercial Ready: Source-available commercial license for proprietary applications
Support & Resources
We're here to help you succeed with SimpleBLE:
- Documentation: Visit our Documentation page for comprehensive guides
- Commercial Support: Check our website or email us about licensing and professional services
- Community: Join our Discord server for discussions and help
- Dongl: Try the official SimpleBLE Bluetooth dongle for reliable prototyping and production
Don't hesitate to reach out if you need assistance - we're happy to help!
Installation
Requirements:
- .NET 10
- Windows or glibc-based Linux (x64/ARM64), or macOS 14 or newer on Apple Silicon
- Android 12 or newer (ARM64/x64)
- iOS/iPadOS 15.8 or newer, the iOS simulator, and Mac Catalyst 16.0 or newer (ARM64)
- On Linux, BlueZ and D-Bus; on Ubuntu, install them with
sudo apt-get install bluez libdbus-1-3
Add SimpleSharpBLE to your project from NuGet:
dotnet add package SimpleSharpBLE
Usage
Scan for nearby devices:
using SimpleSharpBLE;
var adapters = Adapter.GetAdapters();
try
{
if (adapters.Count == 0)
{
Console.WriteLine("No Bluetooth adapters found.");
return;
}
var adapter = adapters[0];
Console.WriteLine($"Using adapter: {adapter.Identifier} [{adapter.Address}]");
adapter.ScanFor(TimeSpan.FromSeconds(5));
var peripherals = adapter.ScanGetResults();
try
{
Console.WriteLine("Scan results:");
foreach (var peripheral in peripherals)
{
Console.WriteLine($"- {peripheral.Identifier} [{peripheral.Address}] {peripheral.Rssi} dBm");
}
}
finally
{
foreach (var peripheral in peripherals) peripheral.Dispose();
}
}
finally
{
foreach (var adapter in adapters) adapter.Dispose();
}
See the SimpleSharpBLE documentation for the full API guide and platform setup, and the code examples on GitHub for connect, read/write, notify, and peripheral hosting flows.
Blocking GATT calls also have Async counterparts. Cancellation prevents queued work
from starting; operations already in native code complete normally. Keep write buffers
unchanged until the returned task completes.
The bindings support trimming and NativeAOT. In MAUI, use the same API and platform
setup below; dispatch UI updates from callbacks with MainThread.BeginInvokeOnMainThread.
On Android, enable Bluetooth and grant Nearby devices permissions, then initialize on the application thread before using the API:
Java.Lang.JavaSystem.LoadLibrary("simpleble");
Advanced.Android.Initialize(Java.Interop.JniEnvironment.Runtime.InvocationPointer,
Android.App.Application.Context.Handle);
See the Android scan example for the manifest, runtime permissions, and scanning off the UI thread.
On iOS/iPadOS and Mac Catalyst, set SupportedOSPlatformVersion to at least 15.8 (iOS) or 16.0
(Mac Catalyst), add NSBluetoothAlwaysUsageDescription to your app's Info.plist, and run blocking
BLE operations off the UI thread. Sandboxed Catalyst apps also need the
com.apple.security.device.bluetooth entitlement. Native libraries link automatically;
Advanced.IOS applies to both iOS and Catalyst.
License
SimpleSharpBLE follows the SimpleBLE license, the Business Source License 1.1 (BUSL-1.1). It is free for non-commercial use, and commercial use needs a commercial license. We offer free commercial licenses for small projects and early-stage companies: email us or leave us a message to discuss your use case. Commercial licenses carry no royalties or revenue sharing; see the licensing page for terms.
SimpleBLE is a project powered by The California Open Source Company.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.1-dev.153 | 0 | 10/24/2026 |
| 1.2.1-dev.145 | 0 | 10/24/2026 |
| 1.2.1-dev.140 | 24 | 10/23/2026 |
| 1.2.1-dev.137 | 94 | 10/22/2026 |
| 1.2.1-dev.136 | 102 | 10/22/2026 |
| 1.2.1-dev.135 | 93 | 10/22/2026 |
| 1.2.1-dev.132 | 87 | 10/22/2026 |
| 1.2.1-dev.131 | 91 | 10/22/2026 |
| 1.2.1-dev.129 | 93 | 10/21/2026 |
| 1.2.1-dev.126 | 97 | 10/20/2026 |
| 1.2.1-dev.125 | 90 | 10/20/2026 |
| 1.2.1-dev.124 | 98 | 10/20/2026 |
| 1.2.1-dev.122 | 101 | 10/20/2026 |
| 1.2.1-dev.121 | 96 | 10/20/2026 |
| 1.2.1-dev.116 | 96 | 10/20/2026 |
| 1.2.1-dev.115 | 88 | 10/20/2026 |
| 1.2.1-dev.114 | 107 | 10/19/2026 |
| 1.2.1-dev.106 | 103 | 10/19/2026 |
| 1.2.1-dev.105 | 97 | 10/19/2026 |
| 1.2.0 | 152 | 9/28/2026 |