RoadTest: Texas Instruments Educational Boosterpack II
Author: satyavrat
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?: The Educational Booster Pack II is a unique product, the closest competitor in that sense would be the Seed Studio Expansion Shield for the TI Launchpad Series
What were the biggest problems encountered?: The board I received was faulty, and hence I couldn't upload my code due to Flash Erase errors. After a lot of snooping around, I managed to run it on Code Composer Studio, but it still isn't being uploaded over Energia.
Detailed Review:
The MSP 432 is kind of like the flagship model of the Texas Instruments series of LaunchPads. It's their most recent offering and has something called Energy Trace technology. This allows the developer to get visual feedback regarding how much power the board is using at any given moment or within any function. This, coupled with Texas Instrument's ULP (Ultra Low Power) optimization standards built into Code Composer Studio, makes development of embedded applications on the MSP 432 platform a very energy efficient affair.
It has an inbuilt Stellaris debugger, which uses the XDS 110 drivers, so that an external debugger is not necessary, though the MSP 432 does have provisions for one.
Getting started with it, though, is something else. Apparently, I received faulty hardware, and it keeps throwing an error saying "Unkown Error : Mass Erase Failed". I don't know why it's happening, but I do know that the Flash memory is being erased and therefore, new programs cannot be downloaded. I found a workaround for this on the TI websites, which suggested the following steps.
UPDATE : TI has kindly agreed to replace my faulty board, and a few of the functionalities that I haven't been able to test right now will be done in the near future.
This procedure results in the board being able to download and run the code, yet the error persists. This partially solves my problem, as now I can write my own code and burn it onto the board, but I am restricted to using Code Composer Studio, and not Energia, which is my preferred IDE for prototyping. However, there is a provision in higher versions of Code Composer to be able to import Energia projects or write code in an Energia format within the Code Composer environment. That's a relief because it saves me a lot of time, especially for testing modules. That said, the MSP 432 itself is a pretty straightforward board, with a Green LED telling you it's powered on, a Red LED telling you when it's debugging, and an RGB LED for you to play with. Input wise, it has two push button switches, which allow you to give a digital input to the board.
For future reference, the corresponding ports are;
Code Composer Studio automatically generates the template for coding the MSP 432 when you select it as the target device by creating target configurations and building and debugging options autonomously, so all you have to do is write the code for your procedure. To turn on the LED, the following code is written.
#include "msp.h"
void main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
P2DIR = 0xFF; // Initialize PORT 2 as output
while(1) // Infinite loop
{
P2OUT = 0x04; // Turn on Blue LED P2 = 0b0000 0100
}
}
_________________________________________________________________________________________________________________________
Testing the Educational Booster Pack Mk II
The Educational Booster Pack Mk II, is an add-on board available for Texas Instruments based launchpads. It sits neatly on top of the signature 4 colums of pins that Texas Instruments has made as standard on all their LaunchPad devices. The Mk II is aimed at younger audiences and newer enthusiasts with minimal exposure to embedded systems. It is loaded with a fleet of bells and whistles and some unique features as well.
The Mk II, like its namesake from Iron Man, boasts of a huge number of sensors and actuators to help a maker prototype their application or even get introduced to the concept of a controlled embedded system. As it is an add-on to the TI LaunchPad series, the LaunchPad interacts with the Mk II over direct connections and sends or receives data to its peripherals.
The Mk II has a strong code support within the Energia IDE, which is an Arduino IDE clone meant for Texas Instruments devices.
The Mk II has on board the following peripherals;
I will be updating this post as and when I use the different functionalities of the Mk II, as of now, I've run preliminary demos for the following peripherals.
The accelerometer and LCD sketch doesn't seem to work on the CCS port of Energia, so I'll have to wait for the new Launchpad to arrive so that I can test it.
UPDATE! I RECEIVED THE REPLACEMENT BOARD, AND IT WORKS GREAT WITH BOTH ENERGIA AND CODE COMPOSER !
Many thanks to Texas Instruments for their timely assistance, else it would have been another board catching dust in my drawer, and I'd have missed out on a lot of fun! As stated before, the LCD and Accelerometer modules did not seem to work within Code Composer, however, both examples worked great on the new board, so I decided to write a little script on my own which displays the current tilt value for all 3 axes on the LCD.
I finally got a chance to play with the accelerometer and the LCD, the components that I had missed so much!
The accelerometer operates over a 10-bit ADC, giving very precise counts for tilts. Even the slight trembling of my hands wasn't left undetected. It is a robust 3-axis affair, allowing motion in all dimensions to be detected. The code for the same was very straightforward and could be understood immediately from the example.
The LCD though, was another matter. I still maintain that the LCD examples are far too convoluted to be of any use to a greenhorn embedded designer, because they've crammed almost all the functionality, save the image display into one example. And although it seemed intimidating at first, it became apparent after a while that the code in itself is not that difficult to understand. Implementing a custom variant, though is a bit nerve wracking. So, I went with the easiest of the lot, text display, and showed the readings for the accelerometer on the LCD.
const int xpin = 23;
const int ypin = 24;
const int zpin = 25;
const int mic = 6;
const int jhor = 2;
const int jver = 26;
void setup()
{
Serial.begin(9600);
delay(100);
Serial.println("*** LCD_protocol");
Serial.println("(All times in ms)");
#if defined(PicasoSPE)
mySerial.begin(9600);
#endif
myScreen.begin();
#if defined(PicasoSPE)
myScreen.setSpeed((uint32_t) 38400);
mySerial.begin((uint32_t) 38400);
Serial.println((uint32_t) 38400, DEC);
#endif
myScreen.setFontSize(myScreen.fontMax());
myScreen.clear(darkGrayColour);
//delay(2000);
myScreen.clear();
}
void loop()
{
myScreen.gText(4, 4,"Satyavrat Wagle", redColour);
myScreen.gText(4, 14,"____________________________", redColour);
myScreen.gText(4, 34, "X-Tilt is "+String((int) analogRead(xpin)), whiteColour);
myScreen.gText(4, 44,"Y-Tilt is "+String((int) analogRead(ypin)), whiteColour);
myScreen.gText(4, 54,"Z-Tilt is "+String((int) analogRead(zpin)), whiteColour);
delay(10);
}
_________________________________________________________________________________________________________________________
Using the Booster Pack for an MQTT Based Sensor Node
The application I had in mind was to use the Booster Pack on top of a CC 3200 WiFi board that I already had, in order to connect it to a local MQTT broker as well as a cloud analytics service, namely Thingspeak.com . MQTT is an upcoming IoT protocol that allows for lightweight messaging between hardware constrained devices. A couple of sweet features include the ability to segregate sensor readings into categories within the protocol itself, thus rendering any database management systems unnecessary for a purely sensor oriented node. Another feature is the ability to subscribe to a certain topic, which updates its data according to the sensor it is connected to.
I plan to use the prebuilt Energia sketch for the CC 3200 as the base, and upload the accelerometer and ambient light data to the cloud, however, there are some issues that I'm facing right now. Primarily that the ADC reference for the CC 3200 is 1.5V, which doesn't match up to the Booster Pack's 3.3V. So I'll be needing a voltage divider circuit to make it work, as shown in the ZumoRemote Project.
I'll update this as soon.
_________________________________________________________________________________________________________________________
Verdict
The product itself is very beautiful to look at aesthetically, and puts you in mind of an old NES controller crossed with a PSP. However, there are some issues that bother me.
If this board had better documentation, and support in CCS, it would make a killer add-on to any closed loop control system or a sensor node. A few chinks here and there, but overall a very promising product.
Top Comments
Energia is now out and I played with it last week. It is like Arduino IDE with a red background instead. Very intuitive to use.
Clem