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.

BOOSTXL-SHARP128: BOOSTXL-SHARP128 with MSP430F5529

Part Number: BOOSTXL-SHARP128
Other Parts Discussed in Thread: MSP-EXP430FR5969,

Hi,

I would like to get my BOOSTXL-SHARP128 & MSP-EXP430FR5969 to work at the lowest possible power. Ideally I'd like to get it working with the MSP-EXP430F5529, as I need the extra GPIOs, but for now I'm using the 5969 to debug.

I've managed to get the current consumption down from ~900 uA to 140 uA by initialising all of the ports as outputs. The current consumption remains the same with the module disconnected. The only way I can get the current consumption down to LPM (sub-uA) levels is to comment out all of the myScreen functions. Can anyone help? I need to get the display module working with my Launchpad at lowest possible power asap.

Is there something I'm missing?

Thanks in advance.

#include "SPI.h"
#include "OneMsTaskTimer.h"
#include <LCD_SharpBoosterPack_SPI.h>
LCD_SharpBoosterPack_SPI myScreen(SHARP_128);
uint8_t myOrientation = 0;
uint16_t myCount = 0;
#define LCD_VERTICAL_MAX    myScreen.getSize()
#define LCD_HORIZONTAL_MAX  myScreen.getSize()


void setup() {
  Serial.begin(9600);

  myScreen.begin();
  myScreen.clearBuffer();

  pinMode(GREEN_LED, OUTPUT);
  pinMode(PUSH2, INPUT_PULLUP);
  attachInterrupt(PUSH2, interrupt, FALLING);
  digitalWrite(GREEN_LED, LOW);

  P1DIR |= BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7;
  P1OUT &= (~BIT1)+(~BIT2)+(~BIT3)+(~BIT4)+(~BIT5)+(~BIT6)+(~BIT7);
  P2DIR |= BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7;
  P2OUT &= (~BIT0)+(~BIT1)+(~BIT2)+(~BIT3)+(~BIT4)+(~BIT5)+(~BIT6)+(~BIT7);
  P3DIR |= BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7;
  P3OUT &= (~BIT0)+(~BIT1)+(~BIT2)+(~BIT3)+(~BIT4)+(~BIT5)+(~BIT6)+(~BIT7);
  P4DIR |= BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7;
  P4OUT &= (~BIT0)+(~BIT1)+(~BIT2)+(~BIT3)+(~BIT4)+(~BIT6)+(~BIT5)+(~BIT7);
  
}

void loop() {
            delay(10);
            Serial.print("loop");
            myScreen.setFont(1);
            myScreen.setCharXY(10, 10);
            myScreen.print("TEST");
            myScreen.flush();         
            sleep(1000);
            myScreen.clear();
            suspend();               
}

void interrupt(){
  //delay(10);
  wakeup();
}

**Attention** This is a public forum