nRF52 ESB with Softdevice using nrf_uart_example

Hi,

I am developing a wireless product in which i want to use nRF52 in ESB mode.

The product is battery powered and should be sleep mode.

What i have decided to do is to add ESB code to ble_app_uart example so that low power can be nicely manged by softdevice.

I will disable all the code to initialize the BLE because it will not be used at all.

So my question is simple, Is there anything wrong in doing it like that? And will i be able to achieve low power in between RF transmissions if i transmit packets every 20ms.

Any additional things to consider?

Thank you.

Parents
  • Hi,

    So my question is simple, Is there anything wrong in doing it like that?

    Yes, I would say this is not a goo idea. The SoftDevice is a BLE stack, and I do not see any benefit of using that if you are only going to use ESB and not BLE. It will not automatically manage the power consumption or help you manage the power consumption. In short, adding the SoftDevice in this case increases the complexity without giving you any benefits.

    And will i be able to achieve low power in between RF transmissions if i transmit packets every 20ms.

    Yes. You should can up on the RTC (just as the SoftDevice does automatically for BLE), using for instance the app timer, and then exchange data. In between, make sure you disable any HW resources you don't need and call WFE as you can see in some examples.

    As a side note, ESB is quite simple and does not have connection events etc like BLE, so you typically want one device that is not low power that can listen more or less all of the time, so that the low power device can initiate communication whenever it wants. If you want a more complex scheme that allows both devices to be low power  you should consider something like BLE (or Gazell).

Reply
  • Hi,

    So my question is simple, Is there anything wrong in doing it like that?

    Yes, I would say this is not a goo idea. The SoftDevice is a BLE stack, and I do not see any benefit of using that if you are only going to use ESB and not BLE. It will not automatically manage the power consumption or help you manage the power consumption. In short, adding the SoftDevice in this case increases the complexity without giving you any benefits.

    And will i be able to achieve low power in between RF transmissions if i transmit packets every 20ms.

    Yes. You should can up on the RTC (just as the SoftDevice does automatically for BLE), using for instance the app timer, and then exchange data. In between, make sure you disable any HW resources you don't need and call WFE as you can see in some examples.

    As a side note, ESB is quite simple and does not have connection events etc like BLE, so you typically want one device that is not low power that can listen more or less all of the time, so that the low power device can initiate communication whenever it wants. If you want a more complex scheme that allows both devices to be low power  you should consider something like BLE (or Gazell).

Children
No Data
Related