Custom BLE profile creation

Hi 
I am currently working with nrf5340  board to create Custom BLE profiles for data transfer to mobile app.
I am not finding any document or videos that gives me a detailed guide on how to create profile from scratch. I am following your technical documents, but those are just telling about how to build, test or debug and not really anything on how to code or what APIs to use. Can you guide me on which document to follow? I am not sure if I have missed out any document?

Thank you 
Regards 
Pallavi LS 

Parents
  • I agree with  , that the Nordic UART Service (NUS) is quite easy to modify to do what you want.

    Alternatively, you can have a l look at the Bluetooth Low Energy course in Nordic's Developer Academy. This will take you, step by step, through the process of advertising, and creating your own custom service from scratch. What you will end up with is something close to the Led Button Service (LBS), which works pretty much like a light bulb / light switch combo, but knowing how to set this up from scratch, together with having a peek at the peripheral_uart sample that implements the NUS, you should be able to set up your own custom service that can send strings of data.

    Best regards,

    Edvin

  • Thank you for the reply!

    Will try to implement and update the progress.

    I have another doubt, do you know how long does the data remain over the air while transmitting data via BLE?
    Is it something that we can control?

  • Hello,

    Not quite sure what you mean about that. Do you mean retransmissions? All packets are retransmitted until they are acknowledged by the receiver, meaning the received CRC of the packet is correct. If that doesn't happen for a given amount of time, the link will disconnect. This happens after a time called Supervision Timeout, which is a value that the peripheral and central agree on upon connection. Typically, in our samples, this is 4 seconds, but you can set your desired value using 

    CONFIG_BT_PERIPHERAL_PREF_TIMEOUT= units of 10ms units.

    Best regards,

    Edvin

Reply
  • Hello,

    Not quite sure what you mean about that. Do you mean retransmissions? All packets are retransmitted until they are acknowledged by the receiver, meaning the received CRC of the packet is correct. If that doesn't happen for a given amount of time, the link will disconnect. This happens after a time called Supervision Timeout, which is a value that the peripheral and central agree on upon connection. Typically, in our samples, this is 4 seconds, but you can set your desired value using 

    CONFIG_BT_PERIPHERAL_PREF_TIMEOUT= units of 10ms units.

    Best regards,

    Edvin

Children
No Data
Related