Skip to content

Undocumented assumptions in BLE Spec #3

@vk3jbl

Description

@vk3jbl

In implementing the spec in an ESP32 using Nimble, I uncovered a couple of assumptions not yet documented. These impact both the iPhone APRS.FI app and the mobilinkd Config app from connecting and sending frames to the TNC.

  1. Service UUID needs to be present in the Gap advertisement. Interestingly, very few BLE devices do this, presumably to keep gap packets short, Nimble itself limits the length to 31 which is challenging. (Only affects APRS.FI from memory)
  2. Preferred MTU on the TNC I believe needs to be set to 527.
  3. Flags on the KTS TX characteristic needs to be WRITE WITHOUT RESPONSE. Using plain WRITE does not work with either app.

Might be useful to document this. 1 &3 are critical, 2 I’m not sure anymore, it was a long journey to get to this point!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions