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

Minimizing Power Consumption

Hi,

I am working on a project that requires extremely low power consumption (20-50 uA) at max. We are currently consuming around 5.5mA. The project uses SPI to communicate with an accelerometer and sends the data over bluetooth to a local server. Our project requires us to continuously receive SPI data (reading about 300 bytes/second). Most of the power consumption resources I've seen online recommend that we switch between active and standby modes to optimize power consumption but since we are continuously monitoring data, I'm not sure how much this will actually save us.

I would like to know the best route to optimize power for my application and whether it is even possible to reduce power to 20-50 uA.

Parents
  • Hi,

    You will need to duty cycle the SPI transacations to be able to achieve low power yes.

    Still I think 5.5mA was very high, I assume you are not using DCDC and that you are not have any __WFE() in your code to let the CPU enter system ON idle while waiting for new SPI data?

    I would expect SPI would draw around 1.2mA with DCDC and CPU in idle. So to achieve around 50uA you would need to enable the SPI around only 4% of the time.

    Best regards,
    Kenneth

Reply
  • Hi,

    You will need to duty cycle the SPI transacations to be able to achieve low power yes.

    Still I think 5.5mA was very high, I assume you are not using DCDC and that you are not have any __WFE() in your code to let the CPU enter system ON idle while waiting for new SPI data?

    I would expect SPI would draw around 1.2mA with DCDC and CPU in idle. So to achieve around 50uA you would need to enable the SPI around only 4% of the time.

    Best regards,
    Kenneth

Children
No Data
Related