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

Always high current consumption

Hi!!

I am measuring the current consumption of nRF 52832.

However, it shows a very high average consumption current value of 9 mA at all times.

I think that it is probably not caused by not putting it to sleep state.

I'd like to wake up from sleep when the external pin goes down.

How should it be handled?

The following line shows my data transmission and loop statement.

void SPITxDummy1(unsigned char Data)
{
	uint16_t length = 8;
	nrf_gpio_pin_clear(22);  //CS pin low
	static uint8_t       m_rx_buf[16];
	nrf_drv_spi_transfer(&spi, &Data, 1, m_rx_buf, 2);
	m_rx_buf[buf_count] = *m_rx_buf;
	buf_count++;
	nrf_delay_us(100);
					if(buf_count >= 8){
					ble_nus_string_send(&m_nus, m_rx_buf, &length);
					
					for(int i = 0;i>buf_count;i++){
						m_rx_buf[i] = 0;
					}
					buf_count = 0;				
				}

code1 data transmition

    for (;;)
    {
			if(0 == nrf_gpio_pin_read(30)){
			
				SPITxDummy(0x01); //Dummy_Data LOFFSTAT
				SPITxDummy(0x00); //Dummy_Data LOFFSTAT
				SPITxDummy(0x00); //Dummy_Data CH1
				SPITxDummy1(0x00); //Dummy_Data CH2
				//buf_count++;
				SPITxDummy(0x00); //Dummy_Data CH2
                power_manage();
			}
		}

code2 loop statement

thank you in advanced!!

Parents
  • Hi,

    Constant current consumption of 9 mA is very high.

    Are you measuring in our nRF52 DK or in a custom board? Do you use the PPK to measure or another tool? Could you test the current consumption when you run the ble_app_hrs example from the SDK to see if the board is working as it should? (The power consumption of ble_app_hrs example should be in the range of <100uA).

    You can also put the MCU to system off mode with the following code:

    int main(void){
        NRF_POWER->SYSTEMOFF = 1;
        for(;;){}
    }

    Check the current consumption then, it should be ~1uA.

    PS. Always power-reset the nRF52 after flashing the firmware and before measuring current, so you are sure you are not in debugger mode. Debugger mode will draw a lot of current.

    Best Regards,

    Marjeris

  • Hi!!

    I decided to send data with a timer.

    I forgot to enable TIMER in sdk_config.

    thank you !!

Reply Children
No Data
Related