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

Peripheral vs Libraries for power optimization

Hello, I am working on optimizing the power consumption of our application.

I have got two design decisions that I would like to ask for some advises and opinions on.

1. PWM source:

Our application have a PWM-controlled RGB LED to display its various states (connected, advertising, etc.) by blinking or staying on/off.

From what I understand, using the PWM library and Low-power PWM actually use Timer peripheral interrupts to repeatedly control IO pins, and therefore should repeatedly wake the CPU up, reducing the effect of `sd_app_evt_wait()`.

Meanwhile, the nRF52832 has its own dedicated PWM peripheral. I think using this would save more power.

Is my understanding correct?

2. Time keeping source

I am using an application timer for time keeping and triggering periodic tasks, such as blinking above LEDs. I learned that the Timer library make use of RTC1 and SWI0 interrupts to operate.

I am wondering if switching to using a Timer peripheral with longer interrupt period would save more power than using Timer library.

I am working on nRF52832 using nRF5 SDK v14.1.0 and SoftDevice S132 v5.0.0.

Please advise.