low power modes with zephyr and HCI

Hello,
I am looking into using zephyr with a host controller configuration on separate chips, where the controller is an nrf52832 chip.
I was wondering how would the power control work in that case.
are there any specific commands to turn off the ble module or does it automatically go to sleep in case of inactivity?

Thanks

Parents
  • Hi

    I see, thank you for explaining. The HCI power control is for changing the TX power dynamically, and not the actual power consumption of an HCI device. I think you need to set the nRF52832 to a low power mode somehow when it's done with BLE communication.

    You can check out the Bluetooth HCI low power UART sample that is based on the HCI UART sample you linked to, but using the Low power UART driver for HCI UART communication. This should result in lower power consumption as you can shut down the HF clock when the UART is in an idle state. When using the Low power UART driver, I guess you could tell the NRF52 to go to sleep whenever the UART goes idle, and wake up on activity on the UART line for example.

    Best regards,

    Simon

Reply
  • Hi

    I see, thank you for explaining. The HCI power control is for changing the TX power dynamically, and not the actual power consumption of an HCI device. I think you need to set the nRF52832 to a low power mode somehow when it's done with BLE communication.

    You can check out the Bluetooth HCI low power UART sample that is based on the HCI UART sample you linked to, but using the Low power UART driver for HCI UART communication. This should result in lower power consumption as you can shut down the HF clock when the UART is in an idle state. When using the Low power UART driver, I guess you could tell the NRF52 to go to sleep whenever the UART goes idle, and wake up on activity on the UART line for example.

    Best regards,

    Simon

Children
  •   Do you have any results or new findings regarding this topic? I've the same task and I'm wondering, if it is even possible to create a low power controller. Technically for my understanding e.g. a non advertising controller should draw the same current than a non advertising peripheral. Or am I missing something?

    Regards,
    Oliver

  • sadly I got pulled into another project and I haven't made any progress on this issue.

    it is not just stopping the advertisement, you also need to put the processor in sleep mode when not in use.
    and depending on what you want to achieve you have multiple options that's why I was wondering if there is a way to select the low power mode the NRF chip goes to.
    Simon's suggestion is a good starting point, there might be some additional information in that sample project.
    otherwise I would look into creating custom HCI commands.

Related