A Capacitor plugin for Bluetooth Low Energy (BLE) communication across web, Android, and iOS platforms.
@capacitor-community/bluetooth-le is a Capacitor plugin that enables Bluetooth Low Energy (BLE) communication in cross-platform applications. It provides a unified JavaScript API for discovering, connecting to, and interacting with BLE devices across web, Android, and iOS platforms, solving the problem of platform-specific BLE implementations.
Mobile and web developers building Capacitor-based applications that need to communicate with BLE devices such as fitness trackers, medical devices, IoT sensors, or smart peripherals.
Developers choose this plugin because it offers a consistent, Web Bluetooth API-aligned interface across all supported platforms, reducing development complexity and eliminating the need to write separate native code for each platform's Bluetooth stack.
Capacitor plugin for Bluetooth Low Energy
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a unified API aligned with the Web Bluetooth standard, working seamlessly on web, Android, and iOS, reducing the need for platform-specific code as emphasized in the philosophy.
Supports all essential BLE operations including scanning, connecting, service discovery, read/write, and notifications, with detailed examples like heart rate monitoring in the README.
Includes Android bonding support and iOS background mode configuration via Info.plist edits, allowing access to native capabilities while maintaining cross-platform consistency.
Maintained until 2026 with CI checks, versioned documentation for multiple Capacitor releases, and example apps for Ionic/React, Angular, and Vue frameworks.
Key methods like requestLEScan are behind flags in most browsers, and features such as getMtu and readRssi are unavailable on web, limiting true cross-platform parity as shown in the platform support table.
Cannot test BLE functionality on iOS simulators; developers must use physical devices, which the README explicitly warns can slow development and testing cycles.
To avoid location permissions on Android 12+, developers must manually update manifest files and set androidNeverForLocation flags, adding setup complexity compared to older versions.
Lacks support for the peripheral role, requiring separate plugins for apps that need to advertise as BLE devices, as admitted in the README with links to alternatives.