|
1 | | -# Universal BLE |
| 1 | +Universal BLE |
2 | 2 |
|
3 | 3 | Universal BLE is an open-source developer tool for exploring and testing Bluetooth Low Energy (BLE) devices. It empowers developers, engineers, and hobbyists to discover, connect, and debug BLE devices with a consistent cross-platform experience. |
4 | 4 |
|
5 | | -Built on the [**universal_ble**](https://github.com/Navideck/universal_ble) Flutter plugin ([pub.dev](https://pub.dev/packages/universal_ble)) — one of the most comprehensive cross-platform BLE solutions available. |
| 5 | +Built on the universal_ble Flutter plugin (https://pub.dev/packages/universal_ble) — one of the most comprehensive cross-platform BLE solutions available. |
6 | 6 |
|
7 | | ---- |
| 7 | +Scanner app screenshot: assets/scanner-screenshot.png |
8 | 8 |
|
9 | | -## Download |
10 | 9 |
|
11 | | -[**Universal BLE**](https://apps.apple.com/app/id6756538573) — [App Store](https://apps.apple.com/app/id6756538573) · [Play Store](https://play.google.com/store/apps/details?id=com.navideck.universalble) · [Web](https://navideck.github.io/universal_ble) |
| 10 | +Download |
| 11 | + |
| 12 | +Universal BLE — App Store: https://apps.apple.com/app/id6756538573 · Play Store: https://play.google.com/store/apps/details?id=com.navideck.universalble · Web: https://navideck.github.io/universal_ble |
12 | 13 |
|
13 | 14 | <a href="https://apps.apple.com/app/id6756538573"><img src="https://developer.apple.com/assets/elements/badges/download-on-the-app-store.svg" alt="Download on the App Store"></a> |
14 | 15 | <a href="https://play.google.com/store/apps/details?id=com.navideck.universalble"><img src="assets/play-badge.svg" alt="Get it on Google Play" height="40"></a> |
15 | 16 |
|
16 | | ---- |
17 | 17 |
|
18 | | -## Key Features |
| 18 | +Key Features |
19 | 19 |
|
20 | | -### Device Discovery |
| 20 | +Device Discovery |
21 | 21 |
|
22 | | -- Scan for nearby BLE devices in real-time |
23 | | -- Filter devices by services, manufacturer data, or name prefixes |
24 | | -- View device information, signal strength, and connection status |
25 | | -- Access already connected system devices |
| 22 | + Real-time scanning — Discover nearby BLE devices with live results; scanning continues when you open a device's detail screen |
| 23 | + Flexible filters — Filter by service UUIDs, name prefix, or manufacturer data (comma- or newline-separated) |
| 24 | + Saved filter presets — Save, rename, and reuse filter combinations; filters persist across app sessions |
| 25 | + Search — Search devices by name or by company name (resolved from manufacturer data via Bluetooth company identifiers) |
| 26 | + Sort options — Sort the device list by RSSI, last seen, or name |
| 27 | + Company identification — Show company name from manufacturer data using the Bluetooth SIG company identifier list |
| 28 | + RSSI and advertisements — View signal strength (RSSI), last advertisement (name, RSSI, timestamp), and a list of received ads that flashes on new advertisements |
| 29 | + System devices — On supported platforms, view and connect to devices already connected at the system level (with optional service filter) |
26 | 30 |
|
27 | | -### Connection Management |
| 31 | +Connection Management |
28 | 32 |
|
29 | | -- Connect and disconnect from BLE peripherals |
30 | | -- Monitor connection state changes in real-time |
31 | | -- Support for multiple simultaneous connections |
32 | | -- Automatic reconnection handling |
| 33 | + Connect and disconnect — Connect to and disconnect from BLE peripherals with one tap |
| 34 | + Auto-reconnect — Optional auto-connect for reconnection when a device becomes available again |
| 35 | + Connection state — Real-time connection state updates |
| 36 | + Multiple connections — Support for multiple simultaneous device connections |
33 | 37 |
|
34 | | -### Service & Characteristic Exploration |
| 38 | +Service & Characteristic Exploration |
35 | 39 |
|
36 | | -- Discover all services and characteristics on connected devices |
37 | | -- Browse GATT services with detailed UUID information |
38 | | -- View characteristic properties and descriptors |
39 | | -- Intuitive interface for navigating device capabilities |
| 40 | + GATT discovery — Discover all services and characteristics on connected devices with detailed, human-readable formatting |
| 41 | + Favorite services — Mark services as favorites; they appear first in the list (system services last) |
| 42 | + Property filters — Filter characteristics by property (read, write, notify, indicate, etc.) with visual filter chips |
| 43 | + Navigation — Previous/next buttons to move between characteristics without collapsing the list |
| 44 | + Copy services — Copy the full discovered GATT layout (e.g. for documentation or debugging) from the Services panel header |
40 | 45 |
|
41 | | -### Data Operations |
| 46 | +Data Operations |
42 | 47 |
|
43 | | -- Read characteristic values in real-time |
44 | | -- Write data to characteristics (with or without response) |
45 | | -- Subscribe to notifications and indications |
46 | | -- Monitor value changes with live updates |
| 48 | + Read — Read characteristic values on demand |
| 49 | + Write — Write data to characteristics (with or without response) |
| 50 | + Subscribe — Subscribe to notifications/indications per characteristic or "subscribe to all" for notifiable characteristics |
| 51 | + Live updates — Incoming values are shown in the logs with timestamps; clear or copy the full log |
47 | 52 |
|
48 | | -### Pairing & Security |
| 53 | +Pairing & Security |
49 | 54 |
|
50 | | -- Initiate pairing with BLE devices |
51 | | -- Check pairing status and monitor pairing state changes |
52 | | -- Support for encrypted characteristics |
53 | | -- Unpair devices when needed |
| 55 | + Pair and unpair — Initiate pairing and unpair devices when supported |
| 56 | + Pairing state — Monitor pairing state changes in real time |
54 | 57 |
|
55 | | -### Advanced Features |
| 58 | +Advanced & Developer Options |
56 | 59 |
|
57 | | -- Request MTU (Maximum Transmission Unit) for optimized data transfer |
58 | | -- Command queue system for reliable operation |
59 | | -- Configurable timeouts for all operations |
60 | | -- Comprehensive error handling with detailed error codes |
61 | | -- UUID format agnostic (supports all UUID formats) |
62 | | -- Detailed logging for debugging BLE operations |
| 60 | + MTU — Request a larger MTU (e.g. 247) for better throughput where supported |
| 61 | + Command queue — Choose queue type in the drawer: Global (single queue), Per Device, or None (parallel) |
| 62 | + Configurable timeout — Set operation timeout (e.g. 10 seconds) for all BLE operations |
| 63 | + Logs — Operation log with copy-all and per-entry clear; comprehensive error handling with detailed codes |
| 64 | + UUID formats — Accepts common UUID string formats (e.g. with or without hyphens) |
63 | 65 |
|
64 | | -### Cross-Platform Support |
| 66 | +UI & Cross-Platform |
65 | 67 |
|
66 | | -- Native support with consistent API across all platforms |
67 | | -- Platform-specific optimizations where needed |
| 68 | + Responsive layout — Adapts to mobile, tablet, and desktop (e.g. breakpoints at 600px and 1000px) |
| 69 | + Bluetooth status — Bluetooth availability icon with tooltip (tap on mobile to see state) |
| 70 | + Permissions — Guided permission flow where required (e.g. location for BLE on Android); re-checks on app resume |
| 71 | + Cross-platform — Built with the universal_ble plugin for consistent behavior across supported platforms |
68 | 72 |
|
69 | | ---- |
70 | 73 |
|
71 | | -## Perfect For |
| 74 | +Perfect For |
72 | 75 |
|
73 | | -- Developers building BLE-enabled applications |
74 | | -- Engineers testing and debugging BLE devices |
75 | | -- Hobbyists exploring IoT and smart device capabilities |
76 | | -- Students learning about Bluetooth Low Energy technology |
77 | | -- QA teams validating BLE device functionality |
| 76 | + Developers building BLE-enabled applications |
| 77 | + Engineers testing and debugging BLE devices |
| 78 | + Hobbyists exploring IoT and smart device capabilities |
| 79 | + Students learning about Bluetooth Low Energy technology |
| 80 | + QA teams validating BLE device functionality |
78 | 81 |
|
79 | | ---- |
80 | 82 |
|
81 | | -## Why Universal BLE? |
| 83 | +Why Universal BLE? |
82 | 84 |
|
83 | | -Universal BLE is built on the open-source [**universal_ble**](https://github.com/Navideck/universal_ble) Flutter plugin, one of the most comprehensive cross-platform BLE solutions available. With support for all major platforms and a unified API, you can develop and test BLE applications with confidence. |
| 85 | +Universal BLE is built on the open-source universal_ble Flutter plugin (https://github.com/Navideck/universal_ble), one of the most comprehensive cross-platform BLE solutions available. With support for all major platforms and a unified API, you can develop and test BLE applications with confidence. |
84 | 86 |
|
85 | 87 | Whether you're developing a new BLE product, debugging an existing device, or simply exploring Bluetooth Low Energy, Universal BLE provides the tools you need. |
86 | 88 |
|
87 | | -### Open Source & Free |
| 89 | +Open Source & Free |
88 | 90 |
|
89 | | -This app is built on open-source technology and is free to use. The underlying plugin is available under the **BSD 3-Clause License**, making it suitable for both commercial and personal projects. |
| 91 | +This app is built on open-source technology and is free to use. The underlying plugin is available under the BSD 3-Clause License, making it suitable for both commercial and personal projects. |
0 commit comments