MSP430 Vs Arduino

Well, in my university Arduino is known much more than MSP430.

I´ve worked with various microcontrollers, pic, arm and MSP430, which is the one i´m in love with right now, and as a don´t have any experience with arduino i don´t know how to defend MSP430 against Arduino (or atmel finally) when talking with people.

With the very few things i know about AVR microcontrollers and Arduino platform i can think about some points that give the advantage to the MSP, for example:

- Msp430 offers several LPM.

- 16 bit architecture.

- Price per unit lower for the MSP.

And also, other points that come to my mind thinking in how the Arduino platform lets you to program for the microcontrollers:

- may the MSP430 c compilers let you to program more complex and more optimized code (in the way that for example you can control the main system clock with MSP430 and cant do it with arduino) in specific applications?

To sum up, i only beg for some wisdom here that can ilustrate me and tell me in clearly words why MSP430 is better than arduino for serious applications (if it is actually better).

thanks a lot!
Regards

PD: also i found SLAA205C.pdf, which is a benchmarking between several microcontrollers.

17 Replies

  • Alvaro Guzman

    Well, in my university Arduino is known much more than MSP430.

    Energia is based on Wiring and Arduino and uses the Processing IDE for the Texas Instruments msp430 LaunchPad.

    Energia website

    Video demonstration: Program Launchpad MSP430 like an Arduino with Energia

  • Alvaro Guzman
    - may the MSP430 c compilers let you to program more complex and more optimized code

    Well, C compiler is C compiler. There are some fo rht eMSP which output highly packed code (IAR is IMHO best in this area) or fastest code, or offer specific features like long long variables, easy inline assembly, empty arrays in structs (a really useful feature if you work with assembled data with headers) like the GCC-based MSPGCC.

    However, the featurtes of the MSP are compiler-independent.

    Alvaro Guzman
    for example you can control the main system clock with MSP430 and cant do it with arduino

    Indeed, especially the latest MSPs (5x/6x family) do have a really flexible clock system. Multiple system-wide clocks that you can route to the peripherals, mutliple oscillaiton sources, multiple internal oscillators, including a very versatile digital oscillator.

    And while the MSP isn't the most powerful MC, it allows for very low average power when you don't need the calculation power all the time.

    About the Arduino, I have soem specs here, based on the Atmega8/168 processor.
    Maximum frequency: 16MHz, while MSP is available for up to 25MHz.
    Idle current @16MHz: 20mA, which is way more than maximum MSP power even if fully busy (LPMs allow going down for µAs if really idle). Not counting I/O currents.
    I'm not sure whether the 20mA include external circuitry - it seems really large. Maybe it includes the USB controller. However, even MSP with internal USB is much, much less if idle.
    per Pin input current: 1µA on the Atmega, 50pA leakage on the MSP.
    Atmega supply voltage is 5V compared to 3.6V max on teh MSP. Depending on usage this is an advantage (compatibility to external 5V hardware) or a drawback (won't run from two batteries or 3V lithium cell, MSP does)

    However, Arduino is a platform, not a processor. Arduino includes board with additonal circuitry and would be comparable with the LaunchPad or other experimenter boards (which are usually way more expensive).
    So the Arduino is a playground for microcontroller experiments, but not a base for real world products.

  • In reply to Jens-Michael Gross:

    Trying to compare Arduino to MSP430 is like comparing an Apple Pie to an Orange - one is a manufactured, fruit-based product; the other is a raw ingredient!

    TMS430 is just a microncontroller;

    Arduino contains a microcontroller (usually, an AVR) - but it is not just a microcontroller!

    Also, Arduino users tend to also use the Arduino libraries, Arduino IDE, Arduino language, etc, etc. On the one hand, all this stuff can make it easier for beginners to start doing stuff on an Arduino - but it will mean that they'll have to learn a whole lot more stuff if they ever want/need to leave the cosy Arduino-land for the "Real World" of microcontroller development...

    There have been a number of posts here from people bleating about "this was easy on an Arduino..."

    Alvaro Guzman
    i don´t know how to defend MSP430 against Arduino

    There is no reason to "defend" either against the other - each has its own advantages and disadvantages for different users & different areas of appliation.

    Alvaro Guzman
    MSP430, which is the one i´m in love with right now

    You should get out more often!

    Seriously, engineering component selection is not about "love" - it's about evaluating which option best suits the particular application's requirements and constraints.

     

  • In reply to Andy Neil:

    Well, i knew Arduino wasn´t a MC itself, i know the arduino platform runs over various ATMEL mc, and so it has, finally the features that an atmel can offer.

    Talking in a general way, or simply comparing the things you can do with the arduino platform and the msp430 mcs, i agree with you Andy, there´s no reason to "defend" one against the other.

    But the reason came to me when i was in a conversation talking about what arduinos can do, and what they can´t do, and i was trying to convince people that an MSP430 or maybe other mc lets you to do more things, more complex things, than arduino.

    The idea wich i´m trying to say is:

    i think that arduino serves for an educational, low-level hobbys electronics, but it´s not capable and its not recommended to use it in real world, or for real-work applications.

    And, i might not must tell you this, but i know about some people here in spain, that use arduino in their engineer jobs, or what ( i think) it´s worse i know some university teachers that pretend to do "research" with arduino.

    I don´t know what you people think when you hear things like this. But what comes to my mind is,that whatever research, or develop, or product you can do with an arduino, will be less competitive than with an appropriate microcontroller.

    Regards and thanks for the anserws!!

  • In reply to Alvaro Guzman:

    Alvaro Guzman
    i know about some people here in spain, that use arduino in their engineer jobs, or what ( i think) it´s worse i know some university teachers that pretend to do "research" with arduino.

    Nothing specifically wrong with that.

    Again, engineering component selection is about finding what fits the project requirements & constraints; if an Arduino fulfils those criteria - then use it!

    I would think it would be well-suited to research, where it would be pointless to go to all the time & expense of making a custom board when an Arduino (or similar) is ready to use.

    Note that you can use the AVR on the arduino board just as a "bare-metal" microcontroller - you don't have to use all Arduino language & libraries if you don't want to.

    Alvaro Guzman
    whatever research, or develop, or product you can do with an arduino, will be less competitive than with an appropriate microcontroller.

    No, that's not necessarily true at all - especially for very low volume work, where the effort of creating a custom hardware platform is just not justified.

  • In reply to Andy Neil:

    Just tossing my 2 cents in, as an Arduino user converted to MSP430 recently...

    Arduino did get me that "spark" and motivation to learn electronics (and shortly after PCB design) and I've completed a rather lengthy project for my wife's car that we use daily (auxiliary dashboard) made entirely with AVR components and Dallas 1-wire stuff, but I am happy I risked the $4.30 in a mouser order to buy a LaunchPad last March.  What the MSP430 G-series has done is introduced me to a true interrupt-event-driven model of programming, something I wasn't used to on the Arduino platform (I'd rely on millis() comparisons all the time but still run in a loop that was usually awake all the time), and IMO the AVR just isn't as well suited for that type of paradigm as the MSP430, with its super-fast wakeup and very-low power clocks for pacing a scheduler of sorts.  I'm finding when I think about designing a product around that setup I don't have much reason to consider the AVRs anymore.  But I think that's because I've "graduated" from Arduino... Energia may make that stepping stone redundant as it gains momentum, I hope.

    The big detractor IMO is the Value Line chips are low-powered, which isn't necessarily a problem--I've read many folks in the DIY community using ATTiny chips for projects and I see the G-series as analogous to those--but I think a LaunchPad made with a higher-end MSP430 is a necessity, something with analogous specs to the ATmega328 and ATmega2560 (or 1284, my favorite of the AVR line).  Stellaris and C2K launchpads are awesome ventures on TI's part but I'm just not ready for the complexity of 32-bits yet.

    I am actually thinking of designing my own F5172 launchpad (I sampled 2 chips a few months ago, haven't done anything with them) that "mounts" on top of the value line MSP430 launchpad's FET headers so you can program it easily, but it'd sport an XL (40-pin) launchpad layout.  Something like that, and maybe a launchpad based on a USB-enabled MSP430 chip would be wonderful.  (RobG at the 43oh forums came up with such a beast, but it doesn't use TI's standard 40-pin layout for the extra pins)  I'm pretty sure I read about Wolverine sporting a LaunchPad when it's released, that'll be perfect.

  • In reply to Eric Brundick:

    "maybe a launchpad based on a USB-enabled MSP430 chip would be wonderful."

    There are rumors about a forthcoming MSP430F5529 Launchpad board.

  • In reply to Eric Brundick:

    Eric Brundick
    IMO the AVR (sic?) just isn't as well suited for that type of paradigm as the MSP430

    I think you mean Arduino - not AVR there?

    The AVR microcontroller is perfectly at home with a, "true interrupt-event-driven model of programming"!

    Eric Brundick
    The big detractor IMO is the Value Line chips are low-powered

    That's not a "detractor" - that is the very reason that they exist!!  If your project requirements/constraints necessitate a "low-powered" chip - then that's exactly what you'd choose!

    This is why there's such a vast range of different microcontrollers on the market - it would be utterly impossible for one single chip to meet all possible requirements!

     

  • In reply to Istvan Cserny:

    The difference between a hobbyist and a professional engineer:

    The hobbyist says, "I have an Arduino (or MSP430 or whatever) - what can I do with it?"

    The engineer says, "I have this problem - what would be appropriate as (part of) a solution?"

  • Also i just realised that writing code with the special Arduino functions, it uses a huge amount of storage. For example i made a MIDI to CV converter with my Arduino and the sketch is 5500 bytes. With my MSP i realised it with 500 bytes! Althoug it is much more code and way more complex to write.