This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430 Vs Arduino

Other Parts Discussed in Thread: ENERGIA

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.

  • Alvaro Guzman said:

    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 said:
    - 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 said:
    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.

  • 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 said:
    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 said:
    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.

     

  • 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!!

  • Alvaro Guzman said:
    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 said:
    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.

  • 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.

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

    There are rumors about a forthcoming MSP430F5529 Launchpad board.

  • Eric Brundick said:
    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 said:
    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!

     

  • 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.

  • Alexander Ruede said:
    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.

     Again wrong, to do same thing compare how your Arduino application behave on similar platform and IDE so :

     Sketch substituted By ENERGIA

     Arduino board substituted by one of Energia supported LaunchPad (or competitor similar board on ARM or not)

     Actually one more extra is at desk: CCS support ENERGIA code and you can trace code from professional software suite. So one more advantage is active.

     When you made your code optimized for processor only maybe also on AVR is more short than can be on MSP or TIVA too.

     Example see this Olimex for less than Arduino offering a 5510 processor on board for a so low price:

    https://www.olimex.com/Products/Duino/MSP430/OLIMEXINO-5510/open-source-hardware

    or this winning form I used to integrate on a project avoiding arduino connector oddly 50mils unaligned to prototyping board requiring EXPENSIVE adapter:

    https://www.olimex.com/Products/Duino/MSP430/MSP430-T5510/open-source-hardware

     What I don't like from Arduino world is pretending that is the best in the world and can do every thing also if impossible like selling overfrozen ice on north pole.

  • Alexander Ruede said:
    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!

    The main difference between MSP430 and Arduino: Arduino is built for fast success when playing with it. The drawback is that it uses generic libraries to do the simplest things. Like the PC where a simple 1-line "hello world" program loads tons of DLLs.
    MSP, however, requires that you actually do something. But if you do, the result is (usually) tailored for the job and doesn't carry unnecessary code wit it.

    It's not about the different processors, but about a different philosophy and purpose.

    Well, using MSP430LIB, while being convenient to use, pushes the typical MSP code towards the less efficient Arduino code.

  • Alvaro:

    I think cost is a good way to make comparisons. We all know that when you have to produce a serious application, you’re going to avoid tools like Arduino “Wiring” and MSP430 “Energia” and stick with the C and C++ development tools. So in that context, companies like TI, Atmel, Microchip and others produce first rate microcontrollers. To me, the most obvious difference between them is cost of entry.

    For most beginners, I think TI has the highest cost of entry. If you plan on writing more that 16Kilobyte of code, plan on paying at least $450 for a firmware development license and another $115 for a programmer/debugger. That’s about $600 to enter the same league as the pros. If your development tool needs upgrading from one version to the next, expect additional costs.

    Atmel and Microchip are much less. Neither requires a firmware development tool license, the programmer/debuggers start at $50, and they have no firmware code size restriction.

    Now, all what I just said is just dust in the wind if you're producing large and complicated applications. Your focus will change to comparing development tools such as Code Composer Studio and IAR Embedded Workbench. Choosing which tool will make a difference when producing larger and more complicated applications. The IAR tool is capable of producing object code that can be 30 to 40% smaller than that is produced by CCS. But the IAR tool begins at around $1300.

  • Thomas Foxcroft said:
    For most beginners, I think TI has the highest cost of entry. If you plan on writing more that 16Kilobyte of code, plan on paying at least $450 for a firmware development license and another $115 for a programmer/debugger. That’s about $600 to enter the same league as the pros. If your development tool needs upgrading from one version to the next, expect additional costs.

     I fully disagree this, CCS is free code limited to 16K for MSP430, 16K are a lot of memory and after 12 year development I rarely passed that limit. Is not code limited on demo board so you can develop freely.

     If limit is passed the CCS also support GCC so you can expand your horizon too and CCS is also Linux supported.

    Thomas Foxcroft said:

    Atmel and Microchip are much less. Neither requires a firmware development tool license, the programmer/debuggers start at $50, and they have no firmware code size restriction.

     

    On other platform launchpad price is so low compared to arduino and other competitor is more high, microchip platform is horrible and debugger is so slow to be unusable and debugger cost many times a Launchpad that is usable as programmer too.

     On Atmel IAR cost same price to all other platform MSP included too. Atmel is also supported by GCC. Competitor you mentioned cost more than MSP so they are not cheap.

     Last platform sell TI is TIVA launchpad, an arm 32 Bit USB OTG for just 12US$ and a full connected network launchpad for 19.99US$ 32Bit @120MHz...

     So why you say TI is so high?

  • I knew I'd get a little blow-back from this, I understand where you're coming from, and I know all about those low-cost alternatives. They're great, and I use them, and I know 16 Kilobyte is plenty.

    Alvaro was asking for a comparison, and he, like most others, are probably aware of those low-cost alternatives. If you are not careful, and don't think it thorough, there can be a high cost, and that's my point. Especially if you plan on just buying kits.

    Think about it Roberto. How many MSP430 kits does one have to purchase before you break the $50 entry costs offered by other manufacturers. Let's face it, if you can avoid the 16 Kilobyte threshold, you have a choice: you keep paying money for kits, or you make a one time purchase for a programmer/debugger and buy individual devices. In the long term, the kits are more expensive. And who has the cheaper programmer/debugger? Not TI. Is it any better than the others? Probably not. Are other competitor's devices more expensive. Not really.

    As for GCC, and I think you mean MSPGCC, I wouldn't recommend that to Alvaro. MSPGCC is intended for developers that are interested in two things: programming the MSP430 and working on the MSPGCC tool. Alvaro asked for "serious applications," and MSPGCC is not intended for serious applications. MSPGCC is a hobby itself. It's not intended for commercial-grade firmware because it's not formally tested and it may contain bugs that are not found in commercial-grade tools.

    I think these are fair things to point out. I'm personally happy with all these options. But like anything else in this business, you have to think it through. Otherwise, you'll have a little less lunch money without even knowing it.

  • Thomas Foxcroft said:
    I think these are fair things to point out. I'm personally happy with all these options. But like anything else in this business, you have to think it through. Otherwise, you'll have a little less lunch money without even knowing it.

     Thomas, at beginning your word sounded strange, then I read back all thread and I discovered I confused last post with the 2 Year old one you commented.

     I am not so sure competitor sell for less, I remember Atmel about a telecom chip, horrible data sheet, no data no application and no description of internal register too... Just a dev kit selling for a so huge 600US$, no description of what is inside none was able tell us can be exhaustive nor show kit before sell.... That time no competitor are where selling echo cancellation device with adaptive interface to phone line and that sounded so perfect than unusable... Experience with Atmel was not so painless and I cancelled from possible Telecom chip seller... On processor side trying to get information on how to use or buy a professional grade programmer like the one was simply ordered from TI or Freescale or AMD too resembled impossible in the early 2K age. The only commercial available on my area was  the one from parallel market of paytv pirate... Again AMD ATMEL got cancelled from AVR too. The programmer I ordered from a VERY HIGH PRICE from microchip finished to ebay sold for less than 1/10th it price not to see again in front of me! A fortune not to buy mmicrochip compiler for a 900US$.. worst and slow both on compile and execution too... It was better a free one.

     Here a GREAT THANK you to EBV FAE presented me the MSP430, TI is and WAS not free of bad issue like the recent NRND of Stellaris but I was assured it be good and MSP was the main middle entry processor of my professional life from 2001.

     Competitor same quality don't sell for less and FreeScale is perfectly aligned to. I consider no more professional nor Atmel nor Microchip I avoid to use! TI is at risk of degradation after biggest Stellaris failure!

     My perfect development platform was  MSP, FreeScale, Altera on digital side and National Semiconductor (Sigh acquired by TI), Fairchild and Linear Technology on analog side.

     Did you see more serious tech firm?

    Thomas Foxcroft said:
    As for GCC, and I think you mean MSPGCC, I wouldn't recommend that to Alvaro. MSPGCC is intended for developers that are interested in two things: programming the MSP430 and working on the MSPGCC tool. Alvaro asked for "serious

     I don't know in deep GCC variant MSPGCC nor AVR one, I am using GCC on Linux development and I am happy, I am not using to develop code to embedded area.

     This is open source not to be confused with hobby coding!!!

     On my first MSP approach bought two kit for 99$ each with parallel FET, both where really fast and better than year 2K time low cost processor, after some try on dev kit I ported all software using included IAR. After evaluating some other less expensive compiler I bought Quadravox for US$450 than 4000 of IAR. I used it many year, I got happy of both support and affordable cost.

     On LCD device I better used IAR, 4K limit was also the LCD chip storage so don't care.

    I used IAR in the far past developing assembly code to ex Motorola MC68HC11 and other processors, I where using a metacross compiler hosted on OS/9 68000, good software, expensive but again professional and good priced in respect to other still aligned to market less expensive than buy a lot of separated compiler.

     Now IAR is still good but require too much money to buy for a non huge professional activity, 30+ yr ago thing where different adding economy inflation now I MUST choose alternate and I think never can buy again IAR till price get reasonable (at almost for an upgrade).

     CCS is buggy, as I wrote cannot afford buy IAR (5 licences) so I try to clean and interact forum to have a good product. On next release I promised me to do again another extensive beta test to see if issues are gone away and reiterate cleaning from bug process. Iar was not bug free as many other compiler I used thru all the past year.

     CCS 6.0 for every TI processor is a low cost tools, not the best but commercial grade and  acceptable to my actual project.

      I am not sure if I develop next MSP small code on CCS or still I continue use windows hosted demo IAR too.

     So remember Andy word:

     Engineer solve the problem at best. We are cut in money so we still try the best equation solution than one appearing as cheapest.

     -----------Edit----------

     I reread my post sorry for bad English and many imprecision too... Atmel not AMD and syntax or phrases left in inconsistent subject object. Maybe still worst. Please tell me if something unreadable or wrong.

    ----------- End -----------

  • Those are some great war stories! It's always good to see another engineer's perspective and experience with other products! Thanks for sharing all that.

    A couple months ago the Embedded Systems Conference was in town, here in San Jose, California. I was able to speak with sales engineeers with some MCU manufacturers. (I love going to that show!) They are all offering some very nice programmer/debuggers. I've got to admit, they are all offering exciting kits. Even the ARM stuff is coming down in price.

    We're getting off topic now, so we should probably take this conversation elseware.

    :(

     

**Attention** This is a public forum