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-EXP430FR4133: Still unable to achieve power usage quoted in the documentation

Part Number: MSP-EXP430FR4133

I am still unable to replicate this claim form the product overview documentation..

  • Standby Mode: <1 µA With Real-Time Clock (RTC) Counter and Liquid Crystal Display (LCD)"

I've tried all the suggestions from the previous copy of this question without success. 

Can TI provide some example code that I can load onto a MSP-EXP430FR4133 Launchpad that will consume <1uA in standby mode with the RTC and LCD active?

Thanks!

-josh

  • Hi Josh,
    Could you please explain more details about the current measurement? Do you measure the current consumption for the whole LaunchPad, including FR4133 and the LCD screen? If so, this power consumption will be probably larger than 1uA since the LCD screen also consumes current.
    Another thing that you need to pay attention is that please make sure to set all the unused IOs to a certain state -- don't leave them floating.

    You can use below code as a reference. And please make sure you just measure the FR4133's current consumption, without LCD screen.

    #include <msp430.h>
    
    #define pos1 4                                                 // Digit A1 - L4
    #define pos2 6                                                 // Digit A2 - L6
    #define pos3 8                                                 // Digit A3 - L8
    #define pos4 10                                                // Digit A4 - L10
    #define pos5 2                                                 // Digit A5 - L2
    #define pos6 18                                                // Digit A6 - L18
    
    const char digit[10] =
    {
        0xFC,                                                      // "0"
        0x60,                                                      // "1"
        0xDB,                                                      // "2"
        0xF3,                                                      // "3"
        0x67,                                                      // "4"
        0xB7,                                                      // "5"
        0xBF,                                                      // "6"
        0xE4,                                                      // "7"
        0xFF,                                                      // "8"
        0xF7                                                       // "9"
    };
    
    int main( void )
    {
        WDTCTL = WDTPW | WDTHOLD;                                  // Stop watchdog timer
        
        P1OUT = 0x00;P2OUT = 0x00;P3OUT = 0x00;P4OUT = 0x00;
        P5OUT = 0x00;P6OUT = 0x00;P7OUT = 0x00;P8OUT = 0x00;
    
        P1DIR = 0xFF;P2DIR = 0xFF;P3DIR = 0xFF;P4DIR = 0xFF;
        P5DIR = 0xFF;P6DIR = 0xFF;P7DIR = 0xFF;P8DIR = 0xFF;
    
        // Configure XT1 oscillator
        P4SEL0 |= BIT1 | BIT2;                                     // P4.2~P4.1: crystal pins
        do
        {
            CSCTL7 &= ~(XT1OFFG | DCOFFG);                         // Clear XT1 and DCO fault flag
            SFRIFG1 &= ~OFIFG;
        }while (SFRIFG1 & OFIFG);                                  // Test oscillator fault flag
        CSCTL6 = (CSCTL6 & ~(XT1DRIVE_3)) | XT1DRIVE_2;            // Higher drive strength and current consumption for XT1 oscillator
    
    
        // Disable the GPIO power-on default high-impedance mode
        // to activate previously configured port settings
        PM5CTL0 &= ~LOCKLPM5;
    
        // Configure LCD pins
        SYSCFG2 |= LCDPCTL;                                        // R13/R23/R33/LCDCAP0/LCDCAP1 pins selected
    
        LCDPCTL0 = 0xFFFF;
        LCDPCTL1 = 0x07FF;
        LCDPCTL2 = 0x00F0;                                         // L0~L26 & L36~L39 pins selected
    
        LCDCTL0 = LCDSSEL_0 | LCDDIV_7;                            // flcd ref freq is xtclk
    
        // LCD Operation - Mode 3, internal 3.08v, charge pump 256Hz
        LCDVCTL = LCDCPEN | LCDREFEN | VLCD_6 | (LCDCPFSEL0 | LCDCPFSEL1 | LCDCPFSEL2 | LCDCPFSEL3);
    
        LCDMEMCTL |= LCDCLRM;                                      // Clear LCD memory
    
        LCDCSSEL0 = 0x000F;                                        // Configure COMs and SEGs
        LCDCSSEL1 = 0x0000;                                        // L0, L1, L2, L3: COM pins
        LCDCSSEL2 = 0x0000;
    
        LCDM0 = 0x21;                                              // L0 = COM0, L1 = COM1
        LCDM1 = 0x84;                                              // L2 = COM2, L3 = COM3
    
        // Display "123456"
        LCDMEM[pos1] = digit[1];
        LCDMEM[pos2] = digit[2];
        LCDMEM[pos3] = digit[3];
        LCDMEM[pos4] = digit[4];
        LCDMEM[pos5] = digit[5];
        LCDMEM[pos6] = digit[6];
    
        LCDCTL0 |= LCD4MUX | LCDON;                                // Turn on LCD, 4-mux selected
    
        PMMCTL0_H = PMMPW_H;                                       // Open PMM Registers for write
        PMMCTL0_L |= PMMREGOFF_L;                                  // and set PMMREGOFF
    
        __bis_SR_register(LPM3_bits | GIE);                        // Enter LPM3.5
        __no_operation();                                          // For debugger
    }
    

**Attention** This is a public forum