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.