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 Card | STM32F4 |
---|---|
D2 (N/C for SPI) | PC10 |
D3 (or CS#) | PC11 |
CMD (or MOSI) | PD2 |
CD | Card detect signal; not used in this demo. |
CLK (or SCK) | PC12 |
VCC | 3.3V |
GND | GND |
D0 (or MISO) | PC8 |
D1 (or IRQ) | PC9 |
WP | Write 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 of all, let me thank you for providing such a nice comparison between Arudino and Launchpad.
Now, to the other part. Well, boss, to start with, you’ve got the prices wrong. At mouser.com, 2231 is $1.75 (quantities less than 10), and for 2211, its $1.63. For larger quantities, the price decreases further. For ATMega328 without bootloader, it’s $4.28 from mouser.com. I had to wait for 4 months for 10 chips that I ordered!!! You can get them from Sparkfun.com for $4.30 without bootloader, and for $5.50 with bootloader. If you’re working in the hobbyist domain, I think you want to get one with bootloader. Comparing $5.50 with $1.63 is not the same as comparing $4.98 with $2.20 🙂
Regarding application, well, everything in the ecosystem has its place. I don’t know if you’ve had a chance to do some serious hacking with these devices or not. For simple switching – sense an input line, and in response, switch an output line – Arduino (now I’m not talking about ATMega320 chip by itself), running at 16MHz gives you a response time of around 30 microseconds. TI chip running at 1MHz gives you a response time of 18 microseconds. Ok, that’s comparable. But for TI chip, in my experiments, I got zero jitter. For Arduino, it was around 10 microseconds!!!
So where would I use it? I’ll give you two examples. The other day, I was working on a DIY CNC Router. There is already a g-code interpreter project available on Arudino. I had six LM18200 chips lying around, so I used them to make a three axis stepper motor driver (two for each motor). The problem is that LM18200 control is meant for driving servo motors, so it is somewhat awkward to use BRAKE and DIR lines for controlling bipolar stepper motors. I had two choices. Either I could modify software to give me the required outputs (by default, it gives direction and counts to move), or I could throw in a TI MSP430 G family chip in. For less than a couple of dollars, negligible power footprint, and fast response time, I took the easy way out, and put in the TI chip to do the translation.
I also use it in other projects. In a lot of projects, I used to use Arduino to get analogue inputs, and then use an x86 SBC to implement higher level control to get a fancy front end without the need to use a dedicated PC. Well, now, I’ve switched over to MSP430G2231. I can give you examples where other friends have used these chips for interfacing to touchscreens and such simple devices.
If you really want higher functionality, well, you haven’t used Netduino, or better still, GHI’s FEZ line of products (FEZ Panda, FEZ Domino etc). I think it beats Arudino hands down. Any open source project that has been done for Arudino, I can translate to FEZ products in a couple of hours at the most. For smaller projects, its more like half an hour. Running at 72MHz, and using ARM core, it provides you with higher speed, larger number of I/O’s, lower power footprint (ARM core!!!) and best of all, a multithreaded environment. Like Arduino, it’s not an RTOS system. However, GHI provides an alternative environment which gives you nearly RTOS response, much better than Arduino.
That doesn’t mean that Aruduino is dead. It still has its place. Once having programmed FEZ Panda, for example, I can’t take the surface mounted PQFP packaging chip off, and put it on a smaller hand-soldered circuit. I can still do that with Arduino (very well suited for that purpose with its DIP packaging).
Everyone has his/her likes and dislikes. But if you are a serious hacker, you won’t dismiss a device right off. Everything has its place. Right now, I’m experimenting with Actel’s Smartfusion devices. What they have on the same chip will blow your mind off. But I don’t foresee it ever replacing Arduino, or even BASIC STAMP.
I think you’re selling the 430’s a little short. First, the G2231s will do ADC/PWM/SPI/I2C, although you’re not going to do all of them because a lot of the lines are multiplexed.
But if you check out my robot project, you’ll see what I think will be the killer app for the MSP430: Custom, one-off ASICs.
Think about it this way: Mouser’s pricing at 50 pieces gets you close to $1.50 per chip. You’re just about at a price where a microcontroller is competitive in price with shift registers and latches!
So the strategy changes: Instead of a powerful processor with support chips, you end up creating simple ASIC’s in software. Need a 555 timer? Just grab a ‘430 and write some code. Need a serial to parallel converter? Grab a ‘430. Need an A/D? Grab a ‘430.