An MSP430 Dev Board Proposal

The MSP430 is a family of (very!) low-power 16-bit microcontrollers from Texas Instruments, who have been aggressively – if not necessarily successfully – marketing them towards hobbyists for a year or two now. The chips have been slow to gain traction in the hobbyist community for no particularly good reason. I mean, the standard dev board – the ‘Launchpad’ from TI – costs $5 or so, and allows you to program (DIP-package) chips with no extra hardware, which had ought to be mighty attractive when you consider that Arduino boards start around $25, and you need another $20 or more device to program additional chips.

16-bit microcontrollers, supported by GCC, DIP packages, run at up to 16MHz and 16 MIPS… Chips under $3 in single quantities, under a buck each in volume. What’s not to like?

Well, one thing, really. The lack of development boards for the thing.

The Launchpad is great as a programmer, and not too bad for experimentation on a breadboard, but it’s less-than-ideal for building into a project, even as a one-off prototype. There’s no compatibility with Arduino “shields”, for example, so interfacing stuff to the Launchpad is sub-optimal.

There are one or two other MSP430 boards out there, but not many, and none of them are really targeted – in my opinion, anyway – at hobbyists. I happen to think that this is not just a shame, but one of the major reasons the MSP430 isn’t more widely used by hobbyists.

So, because I have some experience with the MSP430, and microcontrollers in general, and a good amount of experience in PCB design, I figured I’d create a small, flexible, inexpensive, open-source hobbyist-friendly development board for the MSP430 family.

Here’s my thoughts:

Board will have space for sockets for three (?) 20-pin MSP430 devices – one largely devoted to output (see below), one largely devoted to input, and (?) one for, y’know, general microcontroller-ey things. Connected via SPI at 2Mbps, assuming 16MHz operation.

Board will be no larger than 60x95mm, and will be designed to mate with the ubiquitous 4×20 character HD44780 LCD modules, driveable by an MSP430 in four-bit mode. (Essentially making the display a serial interface.)

Board wil have on-board 5V and 3.3V voltage regulators, to permit use with whatever power sources one might want (I estimate a fully-populated board with LCD and backlight on to draw around 60mA);

Board will have sockets for on-board 23K256 32KB SRAM, should one want extra memory;

Board will have a socket for an on-board DS1302 RTC, with battery options.

Board will have several SPI and serial ports broken out, to interface with semi-standard microcontroller accessories like wireless/ethernet modules, GPSes, and whatever, and as many IO pins broken out to headers as will fit and makes sense.

All active components will be through-hole, so as not to terrify people with (too much) SMD soldering, and to – of course – permit reprogramming of the MSP430 chips on a Launchpad.

I know it seems like a kind of strange idea, to have a dev board with space for two or even three of the same chip, all serving different functions, but I think this is beneficial for five reasons:

The microcontrollers are cheap;

There’s room, given the arbitrary PCB size chosen;

It helps overcome the small amount of RAM each microcontroller has;

It’s a valuable way to learn real-world programming skills, like making multiple microcontrollers talk to one another;

It’ll make a certain proportion of the Hackaday readership / hobbyist community rage when people produce blinky “Hello, World!” designs using – ZOMG! – three microcontrollers. 🙂

Jokes aside, though, I think it’d be a valuable learning/development platform for people to explore microcontrollers in general, and the MSP430 in particular. And, to be honest, while the thing will never run Linux, a fully-populated board would be remarkably close to being a (very) small minicomputer from the dark ages of computing – essentially a sub-500mW 16MHz 16-bit processor with two comparatively beefy peripheral controllers, if you wanted to think of it that way. (You can write to SD cards via SPI, so there’s even a sort of disk-drive functionality. Heck, there’s even a version of BASIC that runs on the MSP430…)

So, microcontroller/electronics/hobbyist/open hardware geeks – thoughts? Anything I’m overlooking, here?

Published in: Geekiness, General | on March 24th, 2011| 2 Comments »

You can leave a response, or trackback from your own site.

2 Comments Leave a comment.

  1. On 3/24/2011 at 10:51 pm Matthew Said:

    Sounds cool. You mention using through-hole components so you can program the micros with the LaunchPad; one thing not to overlook (whether using through-hole or SMT micros on your dev board) is that the LaunchPad can also be used as an in-circuit programmer for most MSP430s. So I’d definitely make sure you pull out a header on the board that can be used to program the micros from the LaunchPad without having to take them out of their sockets.

    And unfortunately this means adding 1 SSOP package chip, but I’d consider putting an FT232RL (FTDI’s serial-to-USB bridge) chip on the dev board. Many of my projects, at least during part of their development cycle or even end usage, require interfacing with a PC. Both the LaunchPad and Arduino are great because the same USB port that you program the chip over can emulate a serial port on the computer and is tied, in the Arduino’s case, to the USART pins of the micro, and in the LaunchPad’s case, to a couple of pins that can be bit-banged to emulate serial communication. You might consider that a job for a “shield,” though, but for me I use that capability in enough projects where I think it makes sense to be part of the base board.

    I didn’t realize TI finally released… or announced, it looks like the parts are currently impossible to buy anywhere… the 20-pin chips in G2 value line. Very cool… I’ve loved programming the little guys since I got my first LaunchPad when it launched, but I had a project where I had to make some unfortunate compromises due to the limited number of pins. A 20-pin version of the chip is just what the doctor ordered!

  2. On 3/25/2011 at 12:08 am Nemo Said:

    Mouser has stock of a few of the 20-pin devices, at least. The MSP430G2452, certainly, and probably others. I just got a couple with my last order, though I haven’t done anything with them yet. Farnell looks to have stock in two weeks or so as well, so I guess they’re out in the wild, finally.

    USB can be useful, certainly, but my personal feeling is that it’s cheaper, easier, and (arguably) more user-friendly to leave a UART or soft serial output open and just let people plug in a $3 PL2303 cable, if they want to connect via USB. (Or attach a bog standard Zigbee or bluetooth module, or a GPS, or whatever, if they don’t.) I wonder which way is more useful for connecting, e.g., a USB keyboard? Hmmn. May have to look into that.

    I knew the Launchpad could do ICP, I just… forgot. 🙂 I’ll definitely try to work in headers for that. Just two pins per, plus power, so shouldn’t be a problem. Just have to make sure not to connect anything else to those two pins. 🙂

Leave a Comment