Is there an existing issue for this?
Proposed feature request
Hi!
I’m exploring building low-power Pebble applications that communicate directly with nearby BLE peripherals, without relying on a phone as an intermediary.
After reviewing PebbleOS (including the NimBLE integration and ble_demo), it looks like BLE central functionality already exists within the system. What seems to be missing today is a clean way for applications to access generic GATT client operations.
Motivation
There’s growing interest in using Pebble as a lightweight interface to external BLE devices such as embedded sensors, environmental monitors, and other low-data-rate peripherals. One socially meaningful example is direct communication with Continuous Glucose Monitors within the diabetic community, but the pattern is general.
In these scenarios, application logic is minimal; the main requirements are BLE client access and predictable scheduling so the app can maintain connections or poll devices periodically.
The intent here is to enable this through the existing OS and SDK, rather than requiring firmware modifications.
Proposed App-Level Capabilities
Expose minimal, generic BLE client primitives to applications:
- Scan for arbitrary BLE devices
- Initiate connections
- Perform GATT service / characteristic discovery
- Read and write characteristics
- Subscribe to notifications / indications
- Receive async callbacks for BLE events
In addition, provide a lightweight background or scheduled execution mechanism so apps can run small loops or periodic tasks without requiring continuous foreground UI.
No device-specific or medical abstractions are implied - just transport-level BLE access.
Request
Please consider exposing generic BLE central / GATT client functionality and basic background execution support to applications, building on the existing NimBLE integration. This would enable a broad class of standalone, low-power device integrations without requiring OS forks.
Thanks for keeping Pebble open source!
Alternatives
No response
Anything else?
No response
Is there an existing issue for this?
Proposed feature request
Hi!
I’m exploring building low-power Pebble applications that communicate directly with nearby BLE peripherals, without relying on a phone as an intermediary.
After reviewing PebbleOS (including the NimBLE integration and
ble_demo), it looks like BLE central functionality already exists within the system. What seems to be missing today is a clean way for applications to access generic GATT client operations.Motivation
There’s growing interest in using Pebble as a lightweight interface to external BLE devices such as embedded sensors, environmental monitors, and other low-data-rate peripherals. One socially meaningful example is direct communication with Continuous Glucose Monitors within the diabetic community, but the pattern is general.
In these scenarios, application logic is minimal; the main requirements are BLE client access and predictable scheduling so the app can maintain connections or poll devices periodically.
The intent here is to enable this through the existing OS and SDK, rather than requiring firmware modifications.
Proposed App-Level Capabilities
Expose minimal, generic BLE client primitives to applications:
In addition, provide a lightweight background or scheduled execution mechanism so apps can run small loops or periodic tasks without requiring continuous foreground UI.
No device-specific or medical abstractions are implied - just transport-level BLE access.
Request
Please consider exposing generic BLE central / GATT client functionality and basic background execution support to applications, building on the existing NimBLE integration. This would enable a broad class of standalone, low-power device integrations without requiring OS forks.
Thanks for keeping Pebble open source!
Alternatives
No response
Anything else?
No response