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

nRF52832 with LIS2DH accelerometer not powering up from battery

We created a custom made board with an nRF52832 and an LIS2DH accelerometer. The board is working fine when it is being powered from a power supply with 3V but when it is connected to a battery it does not power up. I found out that if I do not initialise the accelerometer (TWI driver) in the code then the board powers up fine with the battery. 

Both the accelerometer and the micro are being powered up directly from the battery with 3V. The board size is about 12mm in diameter (circular board).

I also found out that if a 47uF capacitor is placed after the battery output, close to the board, then it powers up just fine. The board is fitted with two 4.7uF ceramic capacitors which are required by the LIS2DH design. 

We do not have the space for a 47uF capacitor on the final design. 

Has anyone else come across a similar issue or knows how to fix it? Any help greatly appreciated.

  • The board size is about 12mm

    Those batteries really don't like the operating current of an NRF52 due to thier high internal resistance.

    You may want to look at the VCC voltage with an oscilloscope...

    A few ideas to try:

    Replacing the 4µ7 caps with the largest cap that fits in the footprint.

    Delaying the initialization of LIS2DF and the TWI driver, using a low power (RTC based) timer, for a second or two after POR. This should raise the voltage of the battery that was drained during initialization of the NRF52 - but it also means you cannot simply use nrf_delay(), as this will keep the CPU running and current consumtion high.

  • You will never get it to work reliably with just a 4.7uF.  Just look at any CR battery spec for confirmation.

    There is plenty of material in the devzone on CR battery designs.  Also, TI did a nice whitepaper on the subject which you can find on their website.

    Playing around with your startup might get the board to boot as Turbo noted, but it will never give you a reliable product.

    You need more capacitance on the board and pay close attention to your max TX/RX duty cycle as you write your code.

  • So we've been checking everything on the board and also checking the power to the board with the scope, with and without the capacitor. This allowed us to check the difference in the signal when the board was successfully powering up and not, although we have not noticed anything as to why the board had not been powering up.

    We've also been trying various things in the settings of the project to see whether that changes anything or not, like delaying the initialisation of the TWI driver etc. One of the other settings we changed was the programming of the board in debugging and release mode. We found out that when programming the board in debug mode the board would not power up with the batteries but if the board is programmed in release mode then the board powers up correctly and the LIS2 works just fine.

    These results are repeatable every time although we are still baffled as to why this is working the way it is. Does anyone have any information on the matter and can shed some light to it? Any help greatly appreciated.

  • Trying to run in debug mode on a CR battery is just a mistake so there isn't any light to shed on it.

    Depending on how you have debug mode configured the nRF can have SWD, RTT and UART software/hardware running.  All these consume a lot of power. Even without your accelerometer, in debug mode an nRF either won't run or won't run for very long on a CR battery.

    This still doesn't solve your problem of having too little local capacitance for a CR based design.  Yes, you might get it to boot on a fresh battery.  Will it boot and run on a 50% depleted battery?  I doubt it. 

    Also you will forever be plagued by brownout resets of your device during TX/RX cycles.

    You need more capacitance and do a proper current/power consumption audit.  It's standard practice for any design.

    Once you know your peak duty and peak current needs you can then go through and calculate capacitance requirements and keep the ripple from the CR battery in a reasonable range.

Related