Skip to content
Shiny .NET v4 is here with BLE Windows Support, Improved GPS, & More! Check It Out

BluetoothLE

  • GitHub stars for shinyorg/shiny
  • NuGet downloads for Shiny.BluetoothLE
  • NuGet downloads for Shiny.BluetoothLE.Blazor
  • NuGet downloads for Shiny.BluetoothLE.Linux
Frameworks
.NET
.NET MAUI
Blazor
Operating Systems
Android
iOS
macOS
Windows
Linux

Shiny BluetoothLE provides a unified cross-platform API for Bluetooth Low Energy operations in the BLE central role (scanning, connecting, and talking to peripherals). It wraps the native BLE APIs on each platform, giving you a consistent reactive and async experience.

  • Unified central-role API across iOS, macOS, Android, Windows, Linux, and Blazor WebAssembly
  • Reactive (IObservable) and async/await patterns
  • Managed scanner with observable collection
  • Automatic GATT Error 133 handling on Android
  • Background scanning and peripheral state monitoring (mobile platforms)
  • Connection lifecycle management
  • MTU negotiation, pairing, and reliable write transactions
FeatureiOSmacOSAndroidWindowsLinuxBlazor WASM
PackageShiny.BluetoothLEShiny.BluetoothLEShiny.BluetoothLEShiny.BluetoothLEShiny.BluetoothLE.LinuxShiny.BluetoothLE.Blazor
ScanningFullFullFullFullFull (BlueZ)Limited
Background scanningAllowed with entitlementsN/A (desktop)Foreground serviceN/AN/ANot supported
PairingFullFullFullFullManual via BlueZNot supported
BrowserHow to enable
Chrome / Edge / Brave / Opera (desktop)Enabled by default on Windows, macOS, Linux, and ChromeOS. If scanning fails, check chrome://flags/#enable-web-bluetooth (or edge://flags, brave://flags, opera://flags) and set Web Bluetooth to Enabled, then restart. Linux also needs experimental-web-platform-features enabled and BlueZ 5.43+.
Chrome / Edge (Android)Supported on Android 6.0+. No flag needed on recent versions; on older builds enable chrome://flags/#enable-experimental-web-platform-features. OS-level location services must be on for the native chooser prompt to appear.
Samsung InternetOpen internet://flags, enable Web Bluetooth, then restart.
Safari (macOS / iOS / iPadOS)Apple does not ship Web Bluetooth in Safari. On iOS/iPadOS use a third-party browser that implements Web Bluetooth on top of WKWebView, such as Bluefy or WebBLE. There is no supported option in stock Safari on macOS.
Firefox (all platforms)Not supported — Mozilla has not implemented Web Bluetooth and there is no flag to turn it on. Use a Chromium-based browser instead.
Shiny.BluetoothLENuGet package Shiny.BluetoothLE
Shiny.Hosting.MauiNuGet package Shiny.Hosting.Maui
claude plugin marketplace add shinyorg/skills
claude plugin install shiny-client@shiny
copilot plugin marketplace add https://github.com/shinyorg/skills
copilot plugin install shiny-client@shiny
View shiny-client Plugin