Skip to content

Application-Level Generic BLE GATT Client + Background Execution #853

@BrorH

Description

@BrorH

Is there an existing issue for this?

  • I have searched the existing issues

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions