Hi,
We are developing an IoT sensor application using nRF52832 dev kit as a starting point. We have a sensor that we need to read once every second for 10 milliseconds (using PPI) and then transmit its data via BLE client to a PC using a second nRF52 DK as a master. We need to run the client with a coin cell battery for few months. We are using SDK UART example as a basis for the starting code on the client.
I figured how to decrease the startup current by putting the system in sleep mode before BLE connection is made and any sensor processing starts. I also figured how to use idle_state_handle to minimize power after BLE connection is made but before sensor data transmission starts.
However, it seems after we start reading the sensor, even when I use the idle_state_hanlde between sensor reads, the system still runs at around 3mA which is high for our intended application and limits battery lifetime.
I would like to know how to further decrease the power. I would also like to know how to use a timer to time the 1 second interval without using the CPU all the time as the CPU is consuming most of the power.
I would like to know if there is an example that I can look at as a starting point that may be more relevant than the UART example I am currently using. Also, if 1 seconds is too fast and I should go to once every 10 seconds or 1 seconds, I can do that although doesn't seem to decrease the current consumption with the UART example.
Thank you so much.