RoadTest: TI MSP430FR5969 LaunchPad Kit w/ Sharp LCD
Author: bose
Creation date:
Evaluation Type: Independent Products
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: MSP430G2 Launchpad, Arduino, Xmos starterkit
What were the biggest problems encountered?: Adequate document available but was not well organized.
Detailed Review:
TI has been leading the low power MCU revolution for a long time but with MSP430FR5xxx and MSP430FR6xxx families they have broken lots of records.
I received the privilege of doing this review of latest MSP430 EXP430FR5969 Launchpad. However I could not avoid delays in getting my time to work out the board.
In the package it included a Sharp 96 LCD and Anaren Air-Boosterpack also. Out of these I could only use the Sharp 96 LCD as it was part of the QR code project.
Here are some of the key observations on the features of the MSP430-
Here is a picture of the normal Jumper configurations on the board:
In case one needs to connect External Power and still use the Debugger connectivity:
For charging the Super Cap - Still the Debugger is connected to be able to supply power and load the software:
Running only on Super Cap without debugger and avoiding all parasitic consumption:
Enough talking about the hardware lets talk about the software and that's where I felt a bit of disappointment.
Here are the key software development parts that I looked at:
However I did get across making the blinky example work on both the TI compiler using Driverlib and on GCC.
Here is the blinky source code to blink the LED on pin P4.6 on MSP430 GCC:
#include <inttypes.h> #include "msp430fr5969.h" int main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer P4DIR |= (BIT6); // Setup Pin Direction PM5CTL0 &= ~LOCKLPM5; // Disable the GPIO power-on default high-impedance mode // to activate previously configured port settings // Clock System Setup CSCTL0_H = CSKEY >> 8; // Unlock CS registers CSCTL1 = DCOFSEL_6; // Set DCO to 8MHz CSCTL2 = SELA__VLOCLK | SELS__DCOCLK | SELM__DCOCLK; // Set SMCLK = MCLK = DCO // ACLK = VLOCLK CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1; // Set all dividers to 1 CSCTL0_H = 0; // Lock CS registers P4OUT |= BIT6; // Initially Set pin as High while(1) { P4OUT ^= (BIT6); // Toggle the pin __delay_cycles(1000000); }
Initially this was a bit difficult get the GPIO to work.
Looking at the reference manual again I realized the lock down for LPM5, was causing changes to GPIO being not applied.
At that particular low power mode the I/O pins are latched out to ensure that they maintain their corresponding levels even in sleep mode.
Upon reset from LPM5 the software needs to unlock the GPIO to use again. Now interestingly on every reset the I/O is locked out.
So by default one needs to unlock the GPIO.
Well now its time for the Driverlib based blinky code on TI CCS compiler:
#include "driverlib.h" int main(void) { WDT_A_hold(__MSP430_BASEADDRESS_WDT_A__); GPIO_setAsOutputPin(GPIO_PORT_P4,GPIO_PIN6); GPIO_setOutputLowOnPin(GPIO_PORT_P4,GPIO_PIN6); PMM_unlockLPM5(); while(1) { GPIO_toggleOutputOnPin(GPIO_PORT_P4,GPIO_PIN6); __delay_cycles(1000000); } }
Much easier to read than the previous part.
Finally I worked upon the Grlib and the Sharp96 display to produce this :
Although the Sharp96 LCD is really low power but the visibility is a cause of problems since its a reflected visibility.
So the QR code generated could not be scanned correctly. I tried out with couple of mobiles but there was not much of success.
It only worked once in every two to 3 attempts to scan the QR code. This was not serving the purpose of the project.
However the low power level that one can go on this chip is unsurpassed.
I would recommend this kit to any one building Wireless sensor networks, weather nodes , or
any type of communication node where low power with AES encryption is a need.
Top Comments
Sad to see such good hardware from TI and software not up to par. Maybe they need a few software engineers?
Clem