This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP-EXP430FR5969: Power consumption while in sleep mode is abnormally high.

Part Number: MSP-EXP430FR5969
Other Parts Discussed in Thread: BQ25570EVM-206, ENERGYTRACE, BQ25570

I’m currently experiencing an unusual issue with my MSP-EXP430FR5969 MCU. The problem applies to an unexpected increase in power consumption, and I’m trying to understand what might be causing this.

To optimize the power consumption of my device while in sleep mode, I programmed it with the code shown below. Initially, this resulted in a stable current of 100 µA (330 µW), which was satisfactory for my requirements. However, over time and through various tests, I noticed a gradual increase in the current - first to 500 µA, then 800 µA, 1,000 µA, 1.2 mA, and finally, 1.74 mA.

#include <msp430.h> 
#include <driverlib\MSP430FR5xx_6xx\driverlib.h>

/**
 * main.c
 */
int main(void)
{
	WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer

	// Set all GPIO pins to output low for low power
	GPIO_setOutputLowOnPin(GPIO_PORT_P1, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setOutputLowOnPin(GPIO_PORT_P3, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setOutputLowOnPin(GPIO_PORT_P4, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setOutputLowOnPin(GPIO_PORT_PJ, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7|GPIO_PIN8|GPIO_PIN9|GPIO_PIN10|GPIO_PIN11|GPIO_PIN12|GPIO_PIN13|GPIO_PIN14|GPIO_PIN15);

	GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setAsOutputPin(GPIO_PORT_P2, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setAsOutputPin(GPIO_PORT_P3, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setAsOutputPin(GPIO_PORT_P4, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setAsOutputPin(GPIO_PORT_PJ, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7|GPIO_PIN8|GPIO_PIN9|GPIO_PIN10|GPIO_PIN11|GPIO_PIN12|GPIO_PIN13|GPIO_PIN14|GPIO_PIN15);

	// Deactivate high impedance mode
	PM5CTL0 &= ~LOCKLPM5;

	// Configure MCU into LPM3 with interrupts enabled.
	__bis_SR_register(GIE | LPM3_bits);   // Enter LPM3
	__no_operation();               // For debugger.
	
	return 0;
}

It’s important to note that I haven’t connected anything to the MCU; my goal was simply to reduce power consumption for a harvesting application I’m developing. I’m unsure if this issue is a fault with the device itself. For reference, I have the 5V, V+, TST, and RST headers connected on J13. J9 was tested with both a jumper and a multimeter to measure current, J2 is in bypass, and J11 (capacitor charge) is disconnected.

The problem began when I connected the MCU to a BQ25570EVM-206 output at 3.3 V. I had previously conducted tests with this module and connected it several times to implement my main application. However, it was consuming a significant amount of power even in sleep mode, prompting me to lower the consumption. After designing a test and achieving an initial 100 µA via USB, the current began to increase as described when I attempted to replicate the process using the harvester module.

A week later, the consumption decreased to 220 µA (0.8 mW), but it’s slowly increasing again. Within a minute of checking the consumption on an energy trace, it increased by 30 µA. Further tests with the multimeter showed consumptions mostly in the 450 µA range, with occasional jumps to 850 - 950 µA.

Any insights or suggestions would be greatly appreciated.

  • The problem began when I connected the MCU to a BQ25570EVM-206 output at 3.3 V.

    It seems conflicted with that you mentioned that you have not connect anything. How do you connect with BQ25570EVM-206? When you just test with our launchpad, will this issue happen?

  • Hi Gary.

    Sorry, I was not clear enough. Let me clarify:

    I connected the BQ25570EVM-206 board to the Launchpad's external supply pins (J12) using the output from the Harvester (J8) and then switched the power source on the Launchpad from the debugger to the external source (J10). The Harvester is currently drawing power from a 30 mW solar cell and storing the energy in a 4.2V, 15 F supercapacitor.

    Initially, I uploaded the code and monitored the power consumption using both EnergyTrace and a multimeter (J9). The main power supply at this point was the USB. Both methods measured a consumption of 100 µA.

    However, when I tried to replicate this setup by connecting the board to the BQ25570 (as described above), the current consumption measured by the multimeter increased to 500 µA. Which is significantly higher than the original 100 µA.

    After disconnecting the Launchpad and checking the consumption on the USB again, the current remained at the same level and began to increase as previously described.

    I hope this clarifies my setup and the issue I'm facing. Thank you for your time.

  • switched the power source on the Launchpad from the debugger to the external source (J10).

    This external power you supplied. It was a well regulated 3.3V supply I hope. And certainly not greater than the absolute maximum shown in the data sheet.

  • Hi Jonathan,

    I try the code below that should similar with yours as below

    #include <msp430.h>
    
    int main(void)
    {
        WDTCTL = WDTPW | WDTHOLD;               // Stop watchdog timer
    
      // Configure GPIO
      P1OUT = 0;
      P1DIR = 0xFF;
    
      P2OUT = 0;
      P2DIR = 0xFF;
    
      P3OUT = 0;
      P3DIR = 0xFF;
    
      P4OUT = 0;
      P4DIR = 0xFF;
    
      PJOUT = 0;
      PJDIR = 0xFFFF;
    
      // Disable the GPIO power-on default high-impedance mode to activate
      // previously configured port settings
      PM5CTL0 &= ~LOCKLPM5;
    
      __bis_SR_register(LPM3_bits | GIE);
      __no_operation();                         // For debugger
    }
    
    

    And no mater use the energy trace or external power supply are the same as below

    Use Energytrace (try three times)

    Use external power supply(test about 2 munites)

    Could you help to try it?

  • Hi, Gary.

    I tried the code you provided and the results remain unchanged with my Launchpad.

    The initial current started at 0.15 mA (equivalent to 0.55 mW). It then increased to 0.28 mA (1 mW) and finally to 0.31 mA (1.10 mW) within a span of 2 minutes.

    I have attached photos of the first and third measurements, as well as the power profile from the last measurement for your reference.

    First measurement

      

    Third mesurement

    This is the power profile from the last measurement.

    After comparing my results with yours, it appears that my Launchpad is faulty. One potential cause could be related to a previous configuration where I used a resistor divider with a ratio of 2 / 3 to read the supercapacitor voltage with the ADC. However, I hadn’t configured the internal reference at that time, which might have resulted in a voltage higher than the current reference (1.2 V). I’m uncertain if this could be the root cause of the power issue.

  • Hi David. 

    The external power was the BQ25570EVM-206. It is stable at 3.3 V. Which is in the range of the Launchpad (1.8 - 3.6 V).

  • Here is my jumps setting as below you can refer to when I do the external power supply test 

**Attention** This is a public forum