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?: Microcontroller: TMS320C5535 eZDSP Starter Kit (TMDX5535EZDSP) -- DSP only design, Tiva C Launchpad (EK-TM44C123GXL) -- Tiva C as DSC LiPo Charger with Fuel Gauging: None. This was the first LiPo charger with a fuel gauging capability that I had encountered.
What were the biggest problems encountered?: The significant current drain without a load connected to the outputs on the Fuel Tank BoosterPack. The MSP430F5529 documentation, workshops and such is about 20+ different documents... a lot of documentation to sort through and the document names are not easily sorted.
My concept for demonstrating the Fuel Tank BoosterPack and MSP430F5529 Launchpad was to incorporate it with another BoosterPack (C5000™ Audio Capacitive Touch BoosterPack - 430BOOST-C55AUDIO1 - TI Tool Folder) that essentially was a black-box MP3 player design with the MSP430F5529 Launchpad taking the place of the MSP430G2553.
MSP430F5529 LaunchPad - Texas Instruments Wiki is a central location where the MSP430F5529 documentation and files can be found. In fact, I wanted to point out there is a great workshop series under the "Resources" section of this page. This section includes a very good hands on and lecture style set of documents to get started with programming with MSP430F5529 and MSP430FR5739. These resources tend to be generic so they also apply to other MSP430 products and other microcontrollers.
Fuel Tank BoosterPack:
The Fuel Tank BoosterPack would allow the non-portable C5000-Audio Capacitive Touch BoosterPack to become portable and add the capability to display a fuel guage indication on the attached OLED display. As a development side bonus, the Fuel Gauge IC gives an fair approximation of current consumption, which is convenient during presentations where it is difficult to move the test equipment. There are other benefits, such as the battery health, but the two main features I was concerned with was 1) battery charger/supply AND 2) battery fuel gauging to determine battery charge level. I really have not seen a product for evaluation that was a hardware based LiPo charger AND fuel gauging solution. $26.99 USD is a bargain for the evaluating the two requirements I specify.
The MSP430F5529 microcontroller has more functionality than the MSP430G2553 it replaces but still has the same core microarchitecture and instruction set. There is 8KB (10KB) of SRAM on the MSP430F5529 versus the 512-bytes of SRAM the MSP430G2553 has, which will allow more feature rich software. The inclusion of DMA and a hardware multiplier will be useful in creating a low power design. The 12-bit ADC compared to the 10-bit ADC is a nice improvement that makes the design a little more competitive on paper. The main feature of this microcontroller though is USB connectivity. One unique feature is the dedicated +2KB SRAM to USB endpoints, and considering that you can have 8 endpoints total, this is a nice feature to have dedicated memory for endpoint buffers. The requirements for this microcontroller are mainly going to be based around the experience of getting started and ease of changing the code. The main features I am looking at are the USB component and the more SRAM (more variables), more Flash (more code), and low power features such as the DMA controller.
The first thing I did was attach the MSP430G2 Launchpad with the host software for the C5000-ACTBP to the C5000-ACTBP and then connect the Fuel Tank BoosterPack to them. Voila! Instant portable MP3 player. The music output sounded as good as it did powered via USB as it did powered
by the battery. Great! The Fuel Tank BoosterPack passed my 1st requirement. I've attached a picture below. The capacitive touch and proximity detection became a bit erratic, but was still manageable enough to navigate through the menus and play songs -- I wanted to investigate this in the MSP430 Touch Pro ( MSP430 Touch Pro GUI - MSPTOUCHPROGUI - TI Software Folder ) to see if the problem was the ground floating due to the battery or something environmental that could be filtered better by choosing a different pin hysteresis. Something I need to look into.
The next thing I tried, was to open CCSv5.5 and tried to build and run the Element14 demo projects located @The specified item was not found.. I did this because I wanted to quickly port code / build a project. Could not compile either MSP430G2 LP or Tiva C LP code, and I tried to update my compilers to match the compiler in the build error, but I could not find that exact version on the online repositories and I kept getting the same errors. Disappointing since I'm sure it worked on a specific flavor of CCS, probably v5.4 since it mentioned must "build with v5.4 or above." Disappointing, but not heartbreaking since I did have a Tiva C Launchpad and I was able to use the TivaWare (TivaWare™ for C Series (Complete) - SW-TM4C - TI Software Folder) demo with the Fuel Tank BoosterPack and was able to query the battery status. So, this is a large part of why the "Demo * Review Scores" fell somewhat, and there are essentially many different similar products that have somewhat similar code, perhaps there should be a common framework since SLAA529 (MSP430 Based Lithium-Ion Polymer Battery Charging and Gauging Solution Using USB (Rev. A) Microcontrollers slaa529a - TI…) - the MSP430 LiPO Demo Code (yet another application that does not compile) was using MSP430F6638 target and bq27410 fuel gauge IC, of which both share common interfaces with their counterparts in this review. I'm sure all the example/demo code works in some instance, but I couldn't get it to work with the latest tool release. I count this as passing the second requirement of fuel gauging to determine battery charge level, but there is a follow up item to port this over to the MSP430F5529.
I noticed here was the "self-discharge" issue, where I would see ~-18mA in the software with both output rails jumpered open -- which seemed a abnormally high for the board. On the positive side, it was an entertaining way to evaluate the fuel gauge. I found this, Tours, tips, trials & tribble-ations with TI hardware: Element14's Fuel Tank BoosterPack and also the thread on the http://www.element14.com/community/roadTests/1260 page in the comments section, specifically peteroakes' review. This is not really a problem for me right now so, I am ignoring this for right now. The max charge current is a bit slow 250mA, which means it takes about a 8+ hour run to charge the battery fully. I haven't gotten to the point where I need it to run faster yet, but peteroakes pointed out information in the datasheet regarding changing a sense resistor to adjust the maximum charge current.
I did run a couple of the basic USB examples from MSP430Ware (MSP430Ware - MSP430WARE - TI Software Folder), specifically the mass storage ones and the example applications performed to expectation. They were not full enough applications to kickstart a larger application development which means for porting, usually you'll start off with a blank project and cut and paste snippets from the Chip Support Library (CSL) or MSP430 DriverLib (from MSP430Ware) to rapidly create applications.
The porting experiment:
The MSP430G2553 in the C5000-ACTBP is the brains of the system (see diagram in overview http://processors.wiki.ti.com/index.php/Audio_Capacitive_Touch_BoosterPack_MSP430_Software ) and if the host processor were more powerful it would be able to take more responsibility from the DSP which in turn would reduce the requirements on the DSP. This is important to note since the TMS320C5535 is 2-3x as much cost as TMS320C5532. The TMS320C5532 does not have a USB peripheral or DSP core LDO regulator built-in and can be acquired at ~$2 for 1ku according to TI's product page. Cost is something to examine in any design, whether you are doing it for fun or professionally, if for no other reason than to spend the design cost on a useful feature rather than a unused one. That was the point of trying to incorporate a more capable USB device capable microcontroller to replace the USB-less MSP430G2553 ($0.90 / 1ku). It really does come down to cost. A small personal goal of mine is to create a sub-$30 portable MP3-player design.
Using the USB Descriptor Tool (MSP430 USB Developers Package - MSP430USBDEVPACK - TI Software Folder) was an interesting experience in that it not only generated the USB descriptors for CDC, Mass Storage and HID classes for me (I did not bother with PHDC device class at this time), it also generated the USB ISR code (optionally with DMA, which I checked before generating the files in the tool) which was nice and saved some time doing that by hand. I just wish this were incorporated into a larger tool such as directly in CCS project wizard rather than a standalone tool. Something to note is that the tool as well as the generated code is fairly well documented, which is more than I can say for a lot of USB examples. The main criticism here is the tool independently generates code, such that it does not know what you've resources already used other than what you say it should use, which can cause more problems than generating the ISR code yourself. The descriptor code is golden though, if you have ever written your own USB descriptor code, you'll immediately understand the value of having a tool generate them for you and the time it saves.
The Capacitive Touch Library (Capacitive Touch Software Library - CAPSENSELIBRARY - TI Software Folder) is something I need to read up on. I cannot really comment about this at the moment. It's a nice perk to have rather than to not have since as a USB HID class device, this might come in handy. For an MP3 player design, this is a must. Mechanical buttons are not common anymore in MP3 player designs other than the lowest tier players (oddly enough, I actually own one of these which is what inspired this project).
The Ultra Low-Power Advisor (ULP Advisor) for MSP430 was a nice guide / reminder to follow some low power guidelines. ULP Advisor - Texas Instruments Wiki is the central location to check rules and find out about it. Definitely worth checking out since it may reminder you during a build that there is something you either forgot to do (like me) or something you did not know could save you some power. It's a small feature, but somewhat useful rather than having to generate a checklist yourself and verify against it.
Due to reuse from the TMDX5535EZDSP design and the lack of resources on the MSP430G2553, this design does not offload a lot of extra work from the DSP to the host. I thought this could be solved completely by the MSP430F5529 in a future design, but not the current combination of the MSP430F5529 LP + C5000-ACTBP since it is pretty much a black box from a hardware and software point of view. However, I figured if I ported the application from the MSP430G2553 to the MSP430F5529, then it could make a good platform since I could re-test the port against the original design. Unfortunately, due to the sheer amount of documentation to sort through to do the port, general bare metal references to specific hardware resources without abstraction, the general disagreement from CCS in converting an existing project to another microcontroller, and some unexpected personal and professional drama... I am a bit behind on porting. I realize this is somewhat of a disappointment, but fear not, be on the lookout for my blog here TI LaunchPads and BoosterPacks.
The blog will be more project centric, as I tried (unsure about my success) to limit the discussion about products outside of the scope of the two products under review. There are some interesting points I wanted to make about the C55x and the CODEC libraries available for this family of devices as I think there are some pretty cool features TI enables at a extremely low cost... but you'll just have to wait or explore for yourself.
At the very least, I hope the links and experiences I have are somewhat useful. I tried to give a good idea and linkage to the high-level of where I looked and what I saw.
NOTE: I don't ever give 10's unless it is so unique and well designed that I am awestruck by its sheer existence.