• Hi there,

    For a project, I would like to use several Puck.js devices acting as wireless sensors. A computer would serve as the BLE central device, collecting the data.

    So far so good, anyone would advise me to use broadcasting, and it would be fine as long as data quantity to be sent is kept low. But I would like to send as much datapoints as possible, like x,y and z acceleration for each Puck.js every 500ms or more if possible.

    For such a use-case which BLE profile would you advise me to use? I originally thought of HID profile with binary data encoded in base64, but I also need downlink to send command to the Pucks.js.

    If anyone has a clue about which BLE profile would best address my needs, I would love to hear about!
    In the meantime, I wish you all a happy Easter.

  • For such a use-case which BLE profile would you advise me to use? I originally thought of HID profile with binary data encoded in base64, but I also need downlink to send command to the Pucks.js.

    the easiest may be the nordic uart already used for espruino console, you can just print values to console as json data - that's how gadgetbridge connection with phone is done on bangle.js too. x,y,z every 500 (or even 100) ms does not need any kind of bandwidth optimization as currently single BLE packet can hold about 50 bytes of data

    you may be limited in how many concurrent connections the central device can handle, if this is an issue then advertising may be better/easier as there is no connection with that

About