MSP430 ease of use for simple serial interfacing

Hello everyone,

I am trying to make a choice between the MSP430 and one the Arduinos for a beginner project where I would need to interface over two serial lines (one to an Xbee wireless module and another one to a satellite transmitter).

As far as I could tell from the docs, the Arduinos have the SoftSerial library that allows me to use any pins as TTL serial pins. Is there a similar library for the MSP430? All I need is to do is accept commands over a serial line and send commands on the second, the protocol is really simple. Both lines are 9600bps, 8N1.

The reason to go with the MSP430 would be its low power consumption, I would like the system to be powered from a Lithium battery and last months if not years (I have a Lithium Thionyl 3.6V 19Ah battery).

I have quite a bit of experience with programming but no experience whatsoever with microcontrollers. Would you recommend the MSP430 (I plan to get the EZ430 dev board) or should I stick with the Arduino for this, even though it has higher power consumption?

Thank you,

Razvan

Most MSP430s have one or more UARTs, and you can use a software UART with one hardware UART to keep the cost down. TI has plenty of code examples. You’ll find the MSP430 Yahoo group very useful, and TI has their own forum

Leon

by ease of use, I presume you mean ease of programming.

For some one used to PC SW development, either environment will be familiar to you. Biggest differences are the interactions with the target HW but it’s still fairly straightforward. The MSP debug envt is fairly good. I’m not sure about the arduino. Bit banging async isn’t hard but it does take some debugging if you’re writing it from scratch. There are lots of examples out there.

Note that there are arduino die hard adherents that will argue that it’s the only way to go. I’m sure it will work. It has it’s own language (C/C++ derivative) which generally turns me off to a HW package. I much prefer C or ASM.

By the way, the MSP line is 16 bit, while the Arduino’s AVR is 8 bit. This can be a pretty big difference at times, especially for compute intensive activities.

C or assembler can be used on the Arduino, of course.

Leon

Thank you for the tips! The thing I liked about the Arduino was the fact that the software serial stuff was already written. I’ve looked (quite briefly) over a few TI docs and the MSP430 seems much more flexible when it comes to I/O pins but also much more complex in terms of programming.

Would you recommend that we purchase the EZ430 dev kit or can we get a similarly priced/sized dev kit with one of the MSP430 models with 2 hardware UARTs?

Thanks again,

Razvan

You’d have to go look at what is available from TI. Only the 2xxx series 430s work with the ez430 (spy-by-wire, I believe). I don’t think there is a separate dev kit. Buy the ez430 and then get the chips you want to develop on.

In general, all microcontrollers are pretty flexible. I’m pretty sure either line of processors will work fine.

On the point of the arduino - I’m assuming that when some one says “arduino” they mean both the HW and IDE (including their C-like language). If only using the HW with GCC or ASM, then it’s just an AVR.

I don’t have experience in the other processor you mention, but I can say the MSP430 is very easy to use. There are examples to download for ASM and C code. My only complaint about this processor is that it is very slow; if you are needing high performance applications switch to a different CPU. For low cost embedded applications it works great. The IAR debug system works well; it has a few quirks but they all do.

Jim