TI Fuel Tank BoosterPack & MSP430F5529 Launchpad - Review

Table of contents

RoadTest: TI Fuel Tank BoosterPack & MSP430F5529 Launchpad

Author: ipv1

Creation date:

Evaluation Type: Evaluation Boards

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?: Microchip Family of devices. They have a similar ecosystem but the compiler is free.

What were the biggest problems encountered?: The demos JUST DONT WORK!!!!

Detailed Review:

Introduction:

I started out very excited and looking at the specs, the big picture was very nice. When I started working with the kit, things really did not go as planned and this review is more of a rant than anything. Ti Should take notes and if they are really interested in the hobby market, they should take my suggestions into consideration.

Lets begin.

 

I had implemented a project using MSP430 some years ago and after that I shifted to arduinos. The primary reason being that they had a lot of community support. MSPs are typically not available easily in the market hence prototyping was always an issue. More and more distributors have come into the online scene since then and I am looking into why I would or would not want to use an MSP in my next project. Additionally I am looking into using MSP430 for student projects and teaching them in the lab.

 

1. Unboxing:

The pictures are self expalnatory. I would like to mention here that posters for getting started are included in the package. No license agreements and that stuff which typically goes in the bin. I also understand that the software is usually downloadable from the net but a small cd would not have hurt. I like the packaging and appreciate the fact that there was no garbage in the box. The poster goes on my wall(till my wife takes it down). Two thumbs up for the box content.

Note to all manufacturers: Please include nylon footpegs. Not really important but helpful.

 

2. First impressions


a. MSP-EXP430F5592LP

There is really not much to say about the board itself... right? Well actually I have a lot to say. The getting started poster that came with it was very informative. The fact that it can be running a wooping 25MHz is impressive. However the board runs two crystals of 32Khz and 4Mhz clocks which are select-able. I missed the need for J8 and TP104 to TP110. All in all a brilliant little board. The preloaded DEMO app works like a charm and is enough to give a man ideas to work with. I am not going to complain that its not arduino shield compatible because I know its something entirely different. With enough community support this may even be a LOT better.

One thing I would like to mention is that this board has I/Os that work at 3.3V. A lot of people dont like that... I am not one of them. I have bss138 based converters just because my sensors usually operate at 3.3V and the arduino uno is a 5v output. For microcontroller applications, I think 3.3V is what should be adopted but hey its a personal choice.

 

On the flip side, the reference material is not very good. When you start working you discover that two serial ports pop up in the device manager. One is the MSP debugger and is only used by the GDB for uploading code and debugging it. The other is an MSP uart but there is no mention of how. A few minutes into the userguide and I find a block diagram.


image

It is clear that there is a USB hub to which we connect which explains the multiple ports. The debugger port is obvious but where does the other port come from? Is it for the uart functionality?


image

Another few minutes into the guide, i discover that the eZ-FET itself is two uarts which are shown. This uart is connected to USCI_A1 and is reffered to as the "Backchannel UART". There is sample code from the website which I tried to use and I will go more in details of this later. The point was that the information was too spread out. I would like a composite diagram. When we start working with the USB functionality, it shows up as a third device in the device manager. The hardware specs are nice but I ended up referring the schematic over and over again to get a better understanding of what was going on.

 

Bottom Line:

1. Nice design but needs better structured documentation. This means about the various peripherals as well.(More on this later.)

2. Put all relevant code in one place like a folder or zip on a server. Better yet give it to us on a disc.

 

b. BOOSTXL

The getting started guide from Element 14 was not as good as the one with the Launchpad but still quite good. It lacked pin descriptions, schematic or relevant information on what was going on. Photos and skitch are not a replacement for adobe illustrator. I might just get in there and make a poster myself for this particualr board. Again since no CD is provided, it was oblivious to my as to why the getting started guide has instructions to the software. I have no idea at this point in time what the Tiva C launchpad is so... The instructions ask me to connect two micro USB cables to the Launchpad and the booster pack... why? Can't I just use the one already connected to the LP. On the plus side the battery just fit into the space and 1200mha seems decent for low power applications. The schematic was simple enough and useful. A block diagram is NECESSARY. I was also confused about the various demos available. Did anyone check if the demo code works with the USB starter kit? I'll answer that- NO! The code example not very useful and on top of that the starter guide is only useful for people who have worked with MSP before because a newbie will no know what "tiva C", "CC series" etc means. Are you really targeting beginners?


The TI FUEL BOOSTER PACK itself has some things I don't like.

1. Why can I not charge from one port?

2. Why is there no connector to connect an external 5V supply?


Other than that really not much to say. I will be performance testing it once I get an XBEE hooked up to it and I can log the data elsewhere.

There is an issue with the I2C machine on the gauge IC which garbles some data or something- Will look into that as well.

I will be making a poster soon and putting it up on the github repo.

I have also uploaded some code for energia as of now which works and everyone is welcome to try. TI if you like my code, send me a letter. I will contribute for the thanks.

EDIT 1:

The Diagram is as follows:

<html><head><title>Jive SBS</title></head>
<body><font face="arial,helvetica,sans-serif">
<b>Error</b><br><font size="-1">
An general error occurred while processing your request.
</font></font></body></html>

3. Getting started with the LaunchPad-

 

I always preffered IAR for MSP430 but I am seeing a push towards energia and code composer. I downloaded the latest versions of all three and here are my impressions.

Ti you are in the business of selling chips-NOT SOFTWARE. Microchip has an excellent policy:

- Give the compiler free. Charge for optimization.

- Charger for flash memory and peripherals on the chips.

- Charge for libraries.

- Charge for the debugger (ICE JTAG)- Cheap Programmer-Almost open-source.

- Make the IDE free and demo code for EVERYTHING available.

Its one of the reasons that PIC sold and is still the light preferred solution for many.

 

a. Energia-

I was really surprised with this one. Its the same IDE as the Arduino and example sketches tailored for the MSP430. It works and if you have your own code, you can possibly run it on the LP without many hiccups. The only problem I saw was the lack of debugging. IAR has a very nice debugger and I missed that here. For large pieces of custom code, you really need a debugger.

TI who ever was responsible for energia, DOUBLE HIS?HER SALARY. This was the best idea ever. The same code will run on arduinos(all flavours), Intel Galileo and now the MSP430. This is my preferred choice right now and ti really works. It was easy to design software in energia and I really hope that you establish a code limit free version of the compiler and continue development on this project. I also hope that the community pitches in because this is FANTASTIC!!! It is the only reason I will be working with MSP430.

 

b. IAR- code restricted version.

I already have some code from a few years ago but I dont remember how to use it. IAR appears friendly to those who have already used it. There are a number of tutorials out there and I am going to post some to my blog when I get the time. I found that the code limit on the free license made it impossible to work with the best feature of the Launchpad... USB. I was able to run a blinking LED and that kind of stuff but beyond that I would not recommend even downloading the free version. At least go for the 30 day full version so that you can actually do something useful with it.

The same code that runs on CCS will run on IAR and I really DO NOT recommend it to new user UNLESS you have someone who will teach you. There is a lot of material in the net for OLDER BOARDS. If you are working in a company that will actually pay for the license, you should start here but otherwise I don't recommend it.

 

c. Code composer

My first impression was that it the IDE that TI is officially sells so the code support will be up-to-date. Like I said before, the same code will run on IAR and the demo code for the kits will work here. I was disappointed. My first grudge is that when you start CCS for the first time, it asks if I want to start the 90day trial. WHY? I selected the free code limited version but I cannot find how to switch to the 90day trial. If I cannot do that then why do you have that option? Why not directly go into the trial. At the end of the trial, ask if I have a license or the code limited version.

Anyways I tried the following:

i) The demo code for UART in the IDE. NOT AVAILABLE FOR THE USI_A1

ii) The code from the website for Fuel-Booster Pack. DID NOT COMPILE

iii) The backpath UART demo code- COULD NOT FIND HOW TO CHANGE THE BAUD RATE

iv) Misc code- DOES NOT WORK

 

Three days in finding, I was still stuck in la la land as far as getting any code for usart (USCIA1) to run on the USB kit. I must be doing something wrong but that's the point. There is no ready code for this particular board. I need simple starting point example code.

Day 4 in the morning in the office I went through some lines of code and modified them one by one and... Bingo! I finally got the uart up and running. I don't fully understand the code hence I am putting up everything on github and linking it below. EVERYONE is invited to fork and contribute. I am putting it under BSD license since thats what TI seems to use for libraries and code.

I also got some code working for the TI FUEL BOOSTER PACK to work and its also in the repo.

 

I also went through the documentation for the tool GRACE. It is basically a GUI for creating peripheral related code. There is a catch though. It does not work for all the MSP430 controller and this is one of the things that TI should work on. Its a good tool. There was a tool for AVR controller which had the same functionality and was called "CodeVision AVR". It was very popular for some time and then it kinda disappeared with the advent of Arduino. Again energia is awesome!

 

I am awaiting the final release of the CCS6 which is supposed to have the RedHat collaboration Compiler with no code limits! YAY!

 

Likes:

1. Ultra cheap.

2. 3.3V interfaces.

3. Standard 0.1 header spacing.

 

Dislikes:

1. Not very friendly documentation

2. Code not very useful and not commented.

3. Compilers have code limits

4. No CD with code

5. No central place where to get all the necessary code and other data.


Summary:

1. Not for beginners but getting there.

2. Needs more sample code.

3. Open source Compiler required to make it really shine.


Q. Who should buy this kit?

A. People how want to work with USB, and/or who have a little experience with MSP430. This is pretty cheap as well but the IC is SMD.


Q. Is it value for money?

A. HELL YES!


Q. Where should a beginner start?

A. The simpler launchpad and energia. PTH IC will make it usable on your pcb.


Here is a link to my github repo

https://github.com/inderpreet/MSP430f5529_USB_LAUNCHPAD

I will be posting eveything else on the github site so everyone can track it.


Feedback is important and I request everyone who reads to comment.

Cheers.


Edit: As of code composer studio 6 you can work on energia projects right out of ccs6. You still need to download energia but don't need to use the IDE if you don't want to.

Anonymous
  • I just updated the github repo with CCS code that works. One issue is the Timer which is not configured correctly, but the I2C code is now working. The code is at http://github.com/inderpreet

    Please contribute and like if you find it useful.

  • Thanks for the input Deepak. I encourage you to form my code, make changes and send a pull request on github. that way we can exchange updates.

    Cheers

    IP

  • hello indrajeet i have used your CCS code to interface batterypack with msp430f5529.I have found one error in this that your i2c connection is not initializing as you have written

    P1SEL |= BIT6 + BIT7;  instead of P3SEL |= BIT0 + BIT1;  becase our P3.0 and P3.1 pins are I2C pins not P1.6 and p1.7 pins....Thanks..

  • You make an excellent point

     

    Energia and the Arduino IDE are just that, an IDE. Code Composer is an IDE too, based on Eclipse. It just so happens more people use it to code at the assembly level than those of Energia and Arduino IDE. But these too are capable of supporting assembly level coding, direct port manipulation etc. I have done it on many occasions. The issue with the likes of Code Composer is not the actual coding, it is the fact the the IDE itself has a very large learning curve

     

    A bad driver is still a bad driver no matter the level or type of code it is written in

     

    If the drivers written to work with Arduino and Energia, then that's a fault with the driver and its author, not the IDE or compiler

     

    Abstracting the hardware by using say C or C++ is a good thing for portability, I am currently writing a set of tutorials and with almost no change they will work on MSP430 and ATMEGA328 equally.

     

    I2C and SPI are both implemented in hardware for these devices and therefore the drivers are simplified. If the hardware can handle the clock stretching then the issue will be either with the driver or the hardware device it is talking to

     

    Considering this is the ONLY device I have come across so far that does not work with the standard drivers for both IDE's, I am reluctant to blame the driver at this time, I need to investigate further, I jst do not have suitable tools yet to analyse what is happening on the bus


    Regards

     

    Peter

  • Thanks for the input and sorry for the delayed reply. I believe programming languages (C, C++ or even energia) are put together to make the life of the designer easier. If you can write the library set and optimize it, it should provide enough of a reason to stick around. E.g When writing and running Java code, we consider the performance as one of the major factors.

    Processing as a language is worked up from C++ hence I do not think there is anything bad in it even if you would like to consider using it to develop professional projects. At the bottom layer, its has a compiler- use the one which you are more comfortable with. image

    The next level is optimizing the existing code/libraries for space and performance. Given that the current microcontrollers are generally getting a lot more memory, it would be worth considering the likes of Energia as a serious development platform since my time to market would then shrink.

     

    Agreed that a lot of the reviewers are not "experts" for the platforms they review, but that is the point. As a designer, it should be kept as an an objective to make the learning curve, less steep. This is what the novice can provide feedback on. The advantage of using kits and launchpads is to attract and involve new designers without introducing them to the complexity of understanding everything about the device. Easy to understand demo code and a strong stable hardware platform can go a long way IMHO

     

    Sincerely,

    Inderpreet

  • Quick point - TI is not really targeting beginners it happens to be a place to get more customers but they they are looking for people who will eventually take it to the next level. Energia and Arduino are good STARTING points but not a place to stick around in my opinion. The issue that Peter Oaks had with needing to send each message twice for example I'm guessing is because of clock stretching on the I2C line that the code that Arduino is using can not handle.

     

    In general it appears that a lot of the reviewers here are people who have dabbled but not actually LEARNED low level programming or what it actually entails. They have used Arduino and smiler platforms that are meant for beginners and hobbyists and when they get something that requires real work to get the full potential out they call it bad design.

     

    Just my two cents.

  • Update: I am pushing all relevant data to the git hub repo so in order to get started, just download the zip or clone the repo locally.