This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52840 ble_app_uart example using PCA10059 high current consumption

I have modified the ble peripheral example - ble_app_uart to run on the PCA10059 USB dongle and the demo I developed using that as a starting point works very well. The problem I am experiencing is that the I am powering the dongle with 2 - AAA batteries but they are only lasting ~3 weeks connected to a raspberry Pi 0 W. I modified the traces to configure the power input to be compatible with 3.0 Volts input and enabled the DC/DC converter to try and improve the battery life but after 2 weeks the batteries are already down to 1.4 volts per cell. The dongle is connected to the Pi 100% of the time, the communications are limited to a "proof of life" check once a minute but for the most part that's the only communications besides maintaining the connection to the Pi. I disabled the HW uart used in the example to attempt to reduce the current further but I haven't experienced much improvement. Is there something in the example that could cause excessive current draw? Should the dongle not be continuously connected?

Thanks in advance.

Dan

Parents
  • Hi Dan,

    Have you modified the connection interval configurations in the example? By default, this is set to between 20ms (MIN) and 75ms (MAX) in the ble_app_uart example. If it gets set to 20ms, the average current of maintaining the connection will be between 226-320uA (with/without DCDC enabled) according to our Online Power Profiler for BLE. If you can accept longer latency in transfers, you can increase these parameters to reduce the current consumption, or you could enable slave latency to allow the slave to ignore a given number of connection intervals.

    What is the capacity of the AA batteries you have tested with, to allow us to give better calculations of battery life?

    Have you measured the current consumption by the example when running on the Dongle? Note that use of the LEDs will also increase the current consumption of the system.

    Best regards,
    Jørgen

  • The connection intervals depends on how low current consumption you want, and how much latency you can accept.

    You can play around with the numbers in the Online Power Profiler yourself to see how the average current is affected by different numbers. For instance 100ms will give 48uA average current, while 500ms will give 12uA. The interval can be increased up to 4000ms.

  • I tried extending the MIN_CONN_INTERVAL to 500 ms and the max to 1000 ms without much change in battery loading. I installed a .1 ohm shunt in front of the dongle and measured the current with a scope. The average is ~ .003 volts so ~ 30 mA which seems to explain the fast drain on the batteries. Any other suggestions? I don't have a real application, I'm simply evaluating the nRF52 but would really like to understand how to reduce an application to draw the absolute minimum current.

    I don't know if it makes a difference but I send 7 bytes once a minute for "proof of life" from the device. I can change that interval to anything but I figured that once a minute would have minimal impact.

    And again, I don't have any LEDs on and the supply is 2 AAA batteries.

    thanks in advance

  • Hi,

    30 mA sounds a bit excessive. The radio would need to be transmitting constantly with highest output power to get close to this current draw.

    How have you modified the Dongle for use with 3.0V? Did you follow the instructions in External regulated source? Note that if the dongle have been connected to USB power with SB1 soldered and SB2 not cut, that could cause damage to the chip, with possible higher current draw fra REG0 regulator.

    If you could post a diagram of all your connections for powering the dongle, in addition to the current measurement, we can try to help you determine what is going on.

    I would also recommend that you consider getting a nRF52840 DK for development. This is prepared for current measurements of the nRF52840 power domain only, and you can easily disable other parts on the board to measure current draw from external sources. The PPK is also a great tool for measuring current in real-time in applications.

    Best regards,
    Jørgen

Reply
  • Hi,

    30 mA sounds a bit excessive. The radio would need to be transmitting constantly with highest output power to get close to this current draw.

    How have you modified the Dongle for use with 3.0V? Did you follow the instructions in External regulated source? Note that if the dongle have been connected to USB power with SB1 soldered and SB2 not cut, that could cause damage to the chip, with possible higher current draw fra REG0 regulator.

    If you could post a diagram of all your connections for powering the dongle, in addition to the current measurement, we can try to help you determine what is going on.

    I would also recommend that you consider getting a nRF52840 DK for development. This is prepared for current measurements of the nRF52840 power domain only, and you can easily disable other parts on the board to measure current draw from external sources. The PPK is also a great tool for measuring current in real-time in applications.

    Best regards,
    Jørgen

Children
Related