The Arduino and the massive community around it have made AVR the de facto standard for hobby microcontrollers, despite the aloofness of Atmel to take advantage of it. TI apparently decided that they wanted a piece of the pie, so they took a peek at the Arduino recipe and are now selling something that looks a whole lot like it for a fraction of the price. The TI MSP430 LaunchPad ships with a MSP430G2231 and a MSP430G2211, microcontrollers sourced from TI’s Value Line. The first, with I²C, SPI, ADCs, PWM, and UART, is a capable Arduino replacement for physical computing, though the latter chip is limited mostly to GPIO. Unfortunately, both are a bit anemic when it comes to Flash and RAM. TI’s roadmap shows promise regarding this issue.
The big problem though, is software. The appeal of Arduino is largely that it has a dead simple to use, cross platform IDE, running on the well maintained and supported avrgcc and avrdude. TI’s solution, on the other hand, is a set of two Windows-only, registration-required, code-limited, IDEs. Linux and Mac users are left a little high and dry. Luckily, there are some projects, new and old, that make it work out.
You can follow the instructions at mylightswitch to install MSPGCC4 and mspdebug, neither of which is in the Lucid repositories. MSPGCC is an MSP430 port of the GCC toolchain, complete with GDB. mspdebug lets you program and erase the flash on the LaunchPad, among many other things. There are some usage instructions for it at Ramblings and Broken Code. True to its name, the guide is partially broken. To use the LaunchPad with mspdebug 0.9, you have to specify the driver instead of using -R. In our case, we want to use the following:
mspdebug rf2500 |
Ideally, we would be able to use the uif driver that the eZ430U and other TI development boards use. Unfortunately, the LaunchPad is incompatible with the firmware used with the ti_usb_3410_5052 module that comes with Linux. There is a really amazing three part series on this at Travis Goodspeed’s blog.
While it is indeed possible to use the LaunchPad and MSP430 devices in general in Linux, I’m going to stick with the trusty AVR/Arduino combo for now.
> Linux and Mac users are left a little high and dry.
Did you notice that TI even removed some Linux information from the wiki?
http://processors.wiki.ti.com/index.php?title=MSP430_LaunchPad_%28MSP-EXP430G2%29&diff=next&oldid=35276
Maybe they have a deal with the commercial compiler vendors (one being TI itself) not to mention Linux.
> I’m going to stick with the trusty AVR/Arduino combo for now.
Yes, TI doesn’t get it.
gee you guys are paranoid. The linux information wasn’t removed from the TI wiki; it was just slightly reformatted and moved to it’s own section.
I sort of agree that TI doesn’t quite get it, but I think they are trying…
Horseshit. AVR was what it is before Arduino. If anything, Arduino has eaten away its popularity.
I should be more specific. AVR, PIC, and TI MSP, while all popular in industry, have always had relatively small hobbyist communities around them. I posit that Arduino has brought microcontrollers to the masses to an extent that AVR, PIC, Parallax, or TI had never managed previously.
My statement that this makes AVR the de facto standard for hobby microcontrollers is due to Arduino using an AVR, avr-libc, and avrdude. I consider Arduino a superset of AVR. Arduino being popular thus means that AVR is also popular.
I only just finally got my launchpads. Better late than never I guess.
In a hurry to get compiling and playing I really didn’t want to wait for the toolchain to build.
Luckily someone has a PPA for mspgcc4. I wrote a blog post about it.
http://someblokeinthedesert.blogspot.com/2010/09/launchpad-msp430-mspgcc4-and-ubuntu.html
Hopefully this can save some others some time too.
A word of warning: I’m running Ubuntu Hardy, and had problems with the TI ez430 kit because the driver for the USB UART chip that comes with the 2.6.24 kernel has bugs. I installed a patched driver recommended on someone’s blog (I foolishly neglected to bookmark it), and the ez430 worked. Once: the patched driver downloaded new firmware to the UART, and the programmer didn’t work the next time it was plugged in. Someone’s well-intentioned effort to make TI-based USB-serial cables work better had bricked my ez430.
The launchpad appears to have much the same hardware, and the same USB IDs. So I haven’t plugged my Launchpad (which also just arrived after months on backorder) in yet, because I’m pretty sure it will also get bricked.
Bottom line: be very sure about the version of the ti_usb_3410_5052 driver on your system. There’s no warning or prompt about the firmware being replaced, and I haven’t been able to find a copy of the old firmware with which to unbrick the ez430.
There is a community project called energia (on github) which is basically an a fork of Arduino IDE and libraries to make them compiling for the MSP430