Helpful Information
 
 
Category: Embedded Programming
Which is best? pic, arm, msp430, Atmel ATmega168?

Of course, without any definition of criteria, this is hard to answer.

I'll toss into the ring that for most beginners, the best deal is to just buy an Arduino, which uses an Atmel ATmega168 processor.

I've used the TI MSP430 in professional projects, and its a very nice processor, but I found it a bit harder to get up to speed on than the Arduino.

Right. The newest arduino is the Arduino Duemilanove (Italian for 2009.) Alternatively buy an Arduino Mega if you need tons of pins.

Do you guys work in the Arduino department at Atmel?

For 8 bit, I recommend the Rabbit line (http://www.rabbit.com/) for beginners who are predominantly coders with very little electronics experience. My affinity to it may be due to my long experience with the Z80 series back in the 80's and the fact they have a C compiler for it (Z80 was among the first processors designed specifically with C compilers in mind). When I need to fill a function block on a prototype design, one of these are often my first choice (particularly for networking or when I need a quick and easy uCosII platform).

These days, you can get a reasonably good C compiler for most of the PIC line-up as well, so if low power is what you're after it can be a pretty good choice. Given their roots in communications sub-systems, they have a lot of nifty features for that area (I2C, A/D and DAC's of sufficient quality to implement modems, etc).

When choosing a micro, it is often wise to investigate the processors history a bit. Atmel for instance has a decidedly automotive background, PIC is communications and power systems, Arm is predominantly mobile phones, though they originally designed it's predecessor to target the desktop computing market. Today, most of these things can do what most of the others do, but knowing who the company's primary customers are, can tell you a lot about where their expertise and focus is going to be.

If you're going to design a widget that operates in hot, noisy environments, you probably want to focus your attention on the Atmel product line. Need variable power modes with some DSP like features? take a look at ARM and MSP. Building an uninterruptable power supply? PIC has cut and paste designs and code.

PIC is probably the (sub)processor micro of choice for many generic designs, particularly where low cost and low power are a high priority. I've seen it used for board/systems power-up controller, inter/intra-board communications (mostly for translation and time shifting), analog signal input and pre-filter, outboard DAC, laser diode controller, backup battery charger, hydroponics controller, robotics controller (primary, secondary and tertiary), keyboard controller, ... hmmm... I am sure I'll remember a few more eventually.

Which is best? Possibly not any of the above. Got an old 8051 based product that's been working in the field for decades, but needs an upgrade? You might want to look at Cygnal (now owned by SiLabs). Actually, you might want to look at the Cygnal lineup even if you're starting from scratch. It's a great mixed signal processor for medium to high grade analog signal processing, as-in; instrumentation or communications. They can be a bit pricey though; I think the last one I used was around $32 each for quantities of 100, but the development kits they sell are actually pretty cheap for their quality, so if all you need is a one off, buy the dev kit and bolt it into your project.

Do you guys work in the Arduino department at Atmel?
No, do you troll often?

My first embedded processor was the MSP430, and I liked it. My second project used a pic, and its a nice choice. I have also used Rabbit systems.

But for beginners, I think that the Arduino is a great choice. You can be useful out of the box. Its cheap, there is a lively community, and the tutorials can get a rookie up to speed quickly.

I believe that until you are talking about 100 units, the differences are personal and mostly impossible to extend past yourself.

When you talk tens of thousands of units, you are not likely to be posting here.

When you talk tens of thousands of units, you are not likely to be posting here.

Bull. I have contributed to the development of systems that have had production runs of tens of thousands. I am also a hobbyist. We're not so uncommon really.


No, do you troll often?

You're calling me a troll? hmm.. well no, not really. I do spend my free time working several forums here at DevShed. I don't think I am known generally for stirring up controversy. I only asked because you seemed to be inordinately enthused about the product and just wanted to be sure this forum wasn't being hijacked for product support (though that now seems unlikely given what I've read so far).


I believe that until you are talking about 100 units, the differences are personal and mostly impossible to extend past yourself.

Dude, this is a technical forum. Nobody cares much about your personal beliefs if you can't supply some supporting arguments for them. Choosing a good platform for hobby use requires just as much rational thought as choosing one for a product. Besides, this is the Embedded Programming forum, not the Hobbyist's Micro Forum. Most of the embedded systems I have worked on have been prototypes intended for eventual production.


But for beginners, I think that the Arduino is a great choice. You can be useful out of the box. Its cheap, there is a lively community, and the tutorials can get a rookie up to speed quickly.

Agreed! And well said.

BTW: This is also true of most of the development boards supplied by these chip makers.


But for beginners, I think that the Arduino is a great choice. You can be useful out of the box. Its cheap, there is a lively community, and the tutorials can get a rookie up to speed quickly.

I only asked because you seemed to be inordinately enthused about the product and just wanted to be sure this forum wasn't being hijacked for product support (though that now seems unlikely given what I've read so far).

Dude, this is a technical forum. Nobody cares much about your personal beliefs if you can't supply some supporting arguments for them. Choosing a good platform for hobby use requires just as much rational thought as choosing one for a product.

All of devshed is technical. Your question was at best rude. And showed no evidence that you've read the other posts in this forum.

I gave my justification for my personal beliefs. I am not asking you to agree with the choice.

I totally disagree that the choice for a beginner needs the same care as for a professional. A beginner, by definition, does not know enough about the field to ask informed questions, let alone develop informed answers.

Embedded systems are a separate world from the desktop and server spaces that most folks on devshed work with. Many of the terms are new, the constraints put on the software are very different -- my most recent desktop has 8GB of ram -- and the tools are often different.

When you are designing for production, adding a few cents per unit to the controller/microprocessor cost is a big deal. For beginners, the cost difference between $20 and $25 is not material.

Even with TI's cool USB thumb MSP430 kit, which they occasionally give away, the cost of using a MSP430 is higher than getting started with an Arduino. A real TI flasher costs close to $100, which you need once you get past the beginnings. Its fine in a professional space, but four times the cost of a complete Arduino setup.

It was only rhetorical question and meant more tongue in cheek than anything else. All I had read about in this forum had pretty much been Arduino this and Arduino that.

Well at least you seem to be abandoning personal choice and leaning more on hard facts.


A beginner, by definition, does not know enough about the field to ask informed questions, let alone develop informed answers.

Exactly! And that's what we are here for; to inform and discuss regarding such matters.

Now may I be forgiven for pointing out some of the many options and the reasons why one might want to investigate them?

A real TI flasher costs close to $100, which you need once you get past the beginnings. Its fine in a professional space, but four times the cost of a complete Arduino setup.

What can you do with the real TI flasher that you can't do with the Launchpad (MSP430 kit), other than program a wider range of chips?










privacy (GDPR)