The Best Laid Plans…

There's a Hebrew expression that, if I'm not mistaken, translates to, "If you want to make God laugh, tell him your plans."

Well, things haven't exactly gone according to plan lately. My plans were to create this website and blog in obscurity for a while, build a workshop for electronics work in my garage, do some hardware projects, and then when I had something to show, try to get some publicity and attention to my site.

I've had some comments on some of my posts, which I find very flattering. I have deliberately not made any attempt to get any attention, so for those of you who have discovered the blog and are reading: thank you. I wasn't expecting an audience this early. I am a maker at heart, but haven't found the time to pursue this passion of mine. Starting the website was the first step in encouraging myself to get back on this path again.

I have talked to the city permit office about building a workshop in my garage. The Finance Committee Supermodel Wife has tentatively given me permission to build a man cave out there with some money from a bonus that was paid at work. I'd like to start that project soon. I had a contractor bid that was way too high so I'll be doing the work myself. I'm currently healing from minor surgery on my legs so that can't start for a little while yet. (That, and the fact that my garage is as messy as yours and I'd have to do a lot of cleaning and organizing before starting construction.)

Once the workshop is built I have a few ideas for projects that I'd like to crank out (between work, kids, wife, and other stuff.) I'll do some detailed posts about the music box project I did with the TI Launchpad; I intend to make it a beginner friendly tutorial series. I would like to build the Weird Sound Generator from the Music From Outer Space website, then use that as a springboard to digital audio projects. I participated in the Gameduino launch on Kickstarter and would like to do a project with that hardware. And I'd like to design a low cost 802.15.4 wireless platform and get some hobbyist activity around that. I also want to start on a CNC router and laser cutter.

Anyway, those are my thoughts and what I hope to have in the future for you. I wish I could say all this will be happening real soon, but it's going to be a few weeks, at least, before I have much original content.

I am a maker at heart, but haven't found the time to pursue this passion of mine. Starting the website was the first step in encouraging me to get back on this path again.

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?