Capacitive Touch Booster Pack for Launchpad

Texas Instruments has released the Capacitive Touch Booster Pack for the Launchpad platform. This hardware/software combo demonstrates the use of touch sensitivity and proximity sensing with the Launchpad platform. Check out the video for an interesting demonstration!

While I've not been a big fan of touch sensing (which has been all the rage lately), I have to admit that the demo does look pretty cool. TI spent some effort in designing the hardware and software to make interesting apps, and it shows. I actually found myself thinking about things I could do with this platform rather than dismissing the product out of hand like I've done before when looking at 'touch sense' applications.

The launch price is, surprise surprise, $4.30 but the claim is that's a limited time price. As with the Launchpad itself, you can order up to 3 of them at once. Also like the Launchpad order itself, TI is not charging shipping.

So I have a couple of these on their way to me; maybe I'll find something cool and interesting to do with them.

Program Your MSP430 Graphically?

Texas Instruments has released a beta of GRACE, the Graphical Peripheral Configuration Tool, for the MSP430 line of processors. Apparently this is a tool that'll help you program (or at least configure) your MSP430 graphically.

I haven't downloaded the tool yet so I can't comment on it. It certainly is intriguing. configuring peripherals is one of the hardest parts of embedded programming; there are a lot (sometimes a whole lot) of configuration bits you have to set just right to get things to work. On more complex processors, this can be tedious and time consuming and frustrating. I like the idea in concept; it'll be interesting to see how well TI executes on the idea.

GRACE is a free download that plugs into Code Composer Studio. There's an introductory video on the landing page.

I'd love to hear your thoughts on this tool and your experiences if you decide to use it.

(via Hackaday)

Arduino, Launchpad, and Cortex M0

I was reviewing my posts over the past few days and noticed something that I found quite striking. In this post, I compared the ATMega328 chip, found in the Arduino, against the MSP430 chips found in the TI Launchpad. Note that the MSP430G2211, which is a stripped-down microcontroller with little memory and few peripherals, and is the least expensive of the three chips in the table, is priced the same as the NXP Cortex M0 LPC1111 that I mentioned in this post.

Think about that. For the same price as a 16 bit processor with 2K Flash, 128 bytes of RAM, and a single timer running at 16MHz, you could have a 32 bit processor with 8K flash, 2K RAM, I2C, SPI, a UART, an ADC and four timers running at 50MHz.

Wow.

Why use such a small 16 bit processor when a much more powerful 32 bit processor can be had for the same price? Honestly, unless you're building a device that needs to run for years on batteries, I don't know why you would. (I haven't reviewed the M0's low power modes to know how they compare against the MSP430.)

Now admittedly, I'm just a hobbyist and don't know much about selection of parts in industry. There may be compelling reasons to choose the MSP430 over the M0. I'm just really struck by the vast difference in two chips that have the same price. (Okay, to be fair, if you get the MSP430G2211 in the QFN package to match the LPC1111, the price does go down to $1.93. But still... that 10 cent difference gets you a huge difference in performance and capabilities.)

The Arduino vs. The Launchpad

Currently, there are two processors/platforms that are getting a lot of attention in the hobbyist community. The first, of course, is the Arduino.

The second is the TI MSP430 line of processors, particularly the Launchpad platform. These have become popular because TI has been practically giving them away. At $4.30 including shipping, it's the least costly microcontroller development platform that I'm aware of.

In my video yesterday, I had some criticism for the MSP430. Granted, NXP's giveaway certainly incented me to be derogatory to any 8/16 bit micro that I could find, but in all honesty, the Launchpad doesn't seem to have a lot going for it after you get past the price.

Let's look at some of the key differences between these two platforms. (Note that two processors ship with the Launchpad; you can swap between them because the processor is in a socket):

SD CardSTM32F4
D2 (N/C for SPI)PC10
D3 (or CS#)PC11
CMD (or MOSI)PD2
CDCard detect signal; not used in this demo.
CLK (or SCK)PC12
VCC3.3V
GNDGND
D0 (or MISO)PC8
D1 (or IRQ)PC9
WPWrite protect signal; not used in this demo.

(Note: The table above was lost on 11/18/2011 after my site was hacked and I rebuilt it. I was unable to find the original table data.)

You can see that the ATMega has the bells and whistles that the MSP430 doesn't. Granted, you're going to pay more for one of those chips, and when you're making hundreds of thousands of devices, price is certainly important. But I just don't get the whole MSP430 proposition, especially at the low end. Why put a 16 bit ALU in a device with only 128 bytes of RAM?

The one thing that the MSP430 does really well is save power. With six different low power modes, the MSP430 can draw less than a microamp while idling. That's important for battery powered devices but not really something that is generally important to the hobbyist community.

To be fair to TI, the MSP430 line does include more capable processors than those that ship with the Launchpad. I tried to find one that would be comparable to the Arduino's ATMega328 and it looks like the MSP430F157 is close. But to get the PWM, I2C, SPI, UART, and A/D you're going to have to go to a 64 pin surface mount package and run at a top speed of 8MHz.

I just don't get TI's strategy on this. Packaging the low-end MSP430 devices into the Launchpad, pricing it where they did, and even using an "Arduino-esque" footprint all strongly suggest that TI is going after the hobbyist community with the Launchpad. They had to know the comparisons to the Arduino would come. Why, oh why, did they ship the Launchpad with such an anemic processor? I just don't get it. The only thing here that would attract a hobbyist to the Launchpad over the Arduino is price. TI, that's just not enough. The Arduino has an entire hobbyist ecosystem up and running and providing all kinds of support to the community.

My prediction is that the vast majority of Launchpads that TI has shipped are going to sit on shelves, gathering dust, while the more expensive (much more expensive, on a relative basis) Arduino's are going to continue to be the centerpieces of innovative, exciting projects from the hobbyist community.

I do have the Launchpad in my hands, and because I have it, and others have it, I will use it for future projects and tutorials. But frankly, I can't think of any applications that would have me sitting at my desk, trying to find a suitable processor, for which the MSP430G2231 would be the best choice.

What are your thoughts?

First MSP430 Launchpad Project

In case you're not aware of it, Texas Instruments has a value line of microcontrollers, the MSP430 line. They have a starter kit called the Launchpad and they're practically giving these things away! The Launchpad costs $4.30 and that includes shipping! You can order three at a time from TI's online store (registration required).

The MSP430 is not a particularly powerful microcontroller, but for the cost it's definitely worth getting and playing with. One nice thing is that it's a 16 bit controller so it's able to crunch numbers a little faster than an 8 bit proc. Be sure to download the Getting Started Guide, as the datasheets are really not terribly useful to a beginner. TI did a pretty good job with the labs in the Getting Started Guide.

Here's a video of my first project. I did this in a few hours of studying and coding, but then again I have some experience working with other microcontroller families that helped me get up to speed more quickly. In future videos I'll go over the Launchpad and the MSP430 in more detail, and we'll dissect the code I used to create this project.