Newbie: Which MCU/kit to Start?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
1. Which architecture should I focus on?
2. What is the best kit or starter package for getting started?
3. How do I figure out which chip I need?

I am a SW programmer trying to learn embedded system design and programming.
I am interested in doing a lot of different things, but right now I just
want to send and recieve data to other hardware (not PC's) over serial

My first objective is to breadboard something that lights an LED whenever it
receives a certain string of ASCII data over a serial port.

I am fluent in:
   C, C++, Basic, Java
I am learning assembly as I go along.

This is what I have read so far:
- An Embedded Software Primer, Simon
- Designing Embeded Hardware, Catsoulis
- Easy PIC'n, Benson
- Embedded Systems Design, Berger
- PIC Microcontroller Project Book (but lang. is Basic. I don't think I want
to mess with Basic)

I also have these books:
- Serial PIC'n, Stevens (this one is probably next)
- The Microcontroller Idea Book, Axelson

I have ordered the Demo2 board from Microchip -- it should be here Monday.

Any guidance you can offer would be greatly appreciated!!!!

-- DJ

Re: Newbie: Which MCU/kit to Start?
Quoted text here. Click to load it

Pretty much any one that you can get your hands on.  Seriously though
you have to decide at what scale you want to work, i.e. do you want an
OS on top of your code or not and how fast do you need the thing to run.
It sounds like you might be interested in the lower end chips like the
Microchip PIC, Atmel AVR, Intel/Phillips/Dallas/etc 805x, TI MSP430,
Motorola 68HC etc.  I do recommend that you work with several differenct
architectures as there are subtle but important differences between

Make sure you have an oscilloscope, they are invaluable for debugging.
Other stuff like freq. counters, signal generators etc are ok, but
you've got to have a scope or you will go insane.  ;-)

Quoted text here. Click to load it

Microchip PIC's are a good start IMHO.  I can't specifically recommend a
kit, because I use a cheap programmer that I put together from a kit
(Picall) and experiment using solderless breadboards and generic circuit
boards from Radio Shack for the more permanant projects.  BTW, get an
oscilloscope if you don't have on.

Quoted text here. Click to load it

In a word, Read.  ;-)  No kidding, you're going to be doing allot of
reading from now on.  There are "charts" posted by the manufacturer
cross referencing the capabilities of their line of microcontrollers.
However, you will be able to accomplish pretty much any thing you need
by using one or two processors from each manufacturer.  The huge variety
available is so that engineers can pick one that saves them a few cents
per unit for large volume manufacturing.

Quoted text here. Click to load it

Doable and you will have much fun in the process.

Quoted text here. Click to load it

It sounds simple enough, but you will find that you may wish to
concentrate on simply blinking an LED at first, but you will be able to
build upon that to accomplish your desired task.

Quoted text here. Click to load it

I highly recommend that you stick with assembly until you are very
familiar with the processor you are currently using.

Quoted text here. Click to load it

Cool, I don't know what chip comes on that board, but the 16F628
(supercedes 16F84) and 16F876 are very common.  People are now jumping
on board with some 18F252 and 18F452 types, but I haven't used them yet
so I can't offer you any first hand info there.  Go to
and get signed up for the piclist.  There's a bunch of highly
knowledgable (but also somewhat eccentric) list members.  You will learn
a great deal about embedded electrical engineering.

Quoted text here. Click to load it

That's about it.  Good luck and enjoy.  ;-)


Re: Newbie: Which MCU/kit to Start?
Thanks, Michael. This is extremely useful.

Something about MCU development is very exciting. It's better than
workstation software because you're interacting with the physical world
instead of just cybersapce.

-- DJ

Quoted text here. Click to load it

Re: Newbie: Which MCU/kit to Start?
Quoted text here. Click to load it

Did you get an ICD2 with it? It would help with debugging. The Demo2 board is
pretty good as it has a nice variety of I/O devices to fool with.

Re: Newbie: Which MCU/kit to Start?
I'd go along with Anthony, but not with a PIC. They are  quirky. I like
the MSP430, tools are free, programmer is US$10 from Olimex, chips are
cheap, it's 16 bit, but does 8 bit as well. Not as popular as the PIC,
but more like most other micros, so moving from it to , s ay a motorola
would be easy. It's biggest advantage over lower end PICs is that all
parts have a built in debugger. I'd start with something like the the
MSP430F1232, but if you are in the US or Canada Ti are running courses
on their new 169 chip right now where for $50 you get an decent EVM,
programming tools and a days training. well worth it.

Stay with assembler until you understand the Architecture, then go back
to C if you are more comfortable with it.



DJ wrote:

Quoted text here. Click to load it

Re: Newbie: Which MCU/kit to Start?
Quoted text here. Click to load it

Thanks for the suggestion. I'll experiment with MSP430's.

I was unable to find any info on the EVM/training offer. Can you point me to

-- DJ

Re: Newbie: Which MCU/kit to Start?
Quoted text here. Click to load it

Re: Newbie: Which MCU/kit to Start?
Hi DJ,

another nice one to start with would be the MCB900 from Keil ($59 with
development package) ,
featuring an 89LPC932 microncontroller. The benefit of going with a
51-based micro is that multiple vendors will sell similar devices
(with PIC you are tied to one vendor). If you want to be more open for
future applications you might want to look at ARM7 devices as well.

Cheers, Schwob

Anotehr alternative if

Quoted text here. Click to load it

Re: Newbie: Which MCU/kit to Start? (Schwob) wrote in message

Quoted text here. Click to load it

How true is this, really? My examination of '51 lines is that there
are large family differences. Hardware tools intended for one family
won't plug-n-play with another because of different programming
algorithms and memory technologies. Most "interesting" peripherals are
implemented differently amongst different families; the only common
denominator is the peripheral set of the original biblical Intel

It's not even uncommon for one vendor to have two different families
in one catalog, because of acquisitions. So really there is still a
considerable amount of porting effort required. It's not at all the
same as a single vendor selling a line of micros with different
peripheral sets. There is not even as much commonality across the '51s
as you would expect to find in a single vendor's 8-bit line.

I would appreciate reponses on this issue... so correct me if I'm

Re: Newbie: Which MCU/kit to Start?
Quoted text here. Click to load it

 I'd say you are both right.

 The 80C51 market is very wide indeed, so let's consider
some segments :

Generic DIP40/PLCC44/TQFP44 packages :
 Here you can expect to physically drop in a device from over a dozen
vendors, with minimal-to-none startup style code changes.
 Most candidates now have the FX core PCA, so the common-denominator
has moved.

High performance Analog:
 Here we have Analog Devices, then BurrBrown(TI) and another in Q4.
All 3 vendors offer 24 bit ADCs with FLASH 80C52 (turbo) cores.
 The details and init-code of the ADCs will certainly differ, but
all 3 know the others are out there, and that keeps the
price/performance ratios honest.

 If you go into the fringes, such as 11 pin or 14 pin 80C51's, then
yes, they are physically single sourced.

 One aspect of NON-C51 uC I have seen bite users over the years, is
'thin families' - where you get either one, (sometimes two) code
sizes in a given package.
 Hit that ceiling, and you have big re-design/re-certify costs.

 Zilog are aware of that, when you see their eZ8 offerings.

- jg

Re: Newbie: Which MCU/kit to Start?
Hi Lewin,

what you mention is right however,.... ;-)
The much more expensive professional software tools (compiler /
debugger) cover the 51-family range. The boards that cost somwhere
between $50 and $200 are specific to each implementation, agreed,
that's why there are different boards. Generic code running on a
51-device from Intel also runs on Atmel, Philips, Cygnal, Infineon,
ST, Sharp, OKI .......... Hardware specific code such as
initialization is specific for each device. The bigger your code
grows, the more generic code you can reuse.

In a nutshell, there will always be some code changes when switching
between different vendors but the reuse within one architecture is SO
MUCH morethan switching between different architectures. Using PIC or
AVR generates a huge dependency on one company and it is your call
wehther you want to do this.

Cheers, Schwob (Lewin A.R.W. Edwards) wrote in message
Quoted text here. Click to load it

Re: Newbie: Which MCU/kit to Start?
Quoted text here. Click to load it

I understand your point, but I have three counter-arguments:

a) As the amount of "algorithm" code (vs "implementation" -
hardware-specific code) grows, it makes progressively more and more
sense to move from pure assembly to a HLL such as C. Given that
compilers of comparable quality exist for all candidate
microcontrollers, the effort of porting across cores can be
considerably less than you make out.

b) To generalize broadly, when a vendor discontinues a proprietary
component, they generally recommend a substitute and document a
migration path to the larger component. Moreover, they usually have an
official migration path from small code size micros to larger micros
(including devices of different word width). With '51s, once you max
out one manufacturer's family tree, you have to jump ship to a
different manufacturer, with associated redesign effort and probably
no hand-holding from the new vendor. So I argue that using a single
broad-range family like PIC or AVR, you have *somewhat* more
protection than just "part A out of stock, too bad - redo your design
from scratch!"

c) Any "real product" (i.e. something not a hobby product - something
with strict reliability criteria and delivery deadlines) is dependent
on single vendors anyway, because of the need to lay out a new board,
retest, etc. The only exception to this is if you use a totally
generic '51 part available from several vendors. But this means using
off-chip peripherals and a more complex, inefficient design. Using
parts with interesting (=proprietary) on-chip peripherals ties you to
a single vendor anyway. This was basically the point I made in my
original posting. If you're doing anything really interesting with a
'51, you probably have no drop-in replacement for your

By the way, I'm not being argumentative for argument's sake here :) I
just finished a chapter of my book where I describe why I chose to use
the AVR series, and I am preemptively defending that decision. If it
turns out to be an indefensible position, I have a lot of work
rewriting ahead of me.

Re: Newbie: Which MCU/kit to Start?

Quoted text here. Click to load it

That argument would hold a lot better if the languages called "C" by
various vendors of "C compilers" weren't so incompatible with each
other on a routine basis.  Esp. with the smaller micro families,
standardized C syntax and semantics often has to be bent double and
tied into a knot to fit the platform, and that'll show through in all
but the most carefully written C code.  Just take all those 'far',
'code' 'interrupt' and whatsoever other keywords added to the language
as an example, and you'll see what I mean.  Clever coders will have
kept all such platform-isms nicely protected behind some centrally
managed preprocessor macros.  But not all of them are that clever.

Now to put this straight, I do understand the need for and usefulness
of these language additions quite fine. But still, it makes for lots
of quite incompatible dialects of C, which can bite a port to a
different CPU family almost as badly as it would had you written all
the code in assembly in the first place.  

This is tied in with tool and training costs.  Having to redesign the
hardware may be tough, but having to redesign both the hardware *and*
the software is certainly going to be even tougher.

Quoted text here. Click to load it

That would be a pretty suicidal attitude to be displayed by the new
vendor, wouldn't it?  They'ld effectively be telling you "no, we don't
want whatever money we could make from doing business with people who
used to spend their money elsewhere".  It sure sounds like it would be
a perfect example of suicide by stupid marketing, to me.  I'm not
saying that this never happens, but I'd be quite surprised if *all*
contestants in the given market were to expose that level of silliness
at the same time.

Quoted text here. Click to load it

Unfortunately this protection only works against individual parts
being discontinued by the maker.  It won't help if the part maker
itself is in danger of being discontinued, which is the *real* danger
in single-source chips.  You just might end up having to _pour_ funds
into the part maker to avoid them going bancrupt.  Either through
unbearable part price rises, or by directly shunting money to the
company in question.

Hans-Bernhard Broeker (
Even if all the snow were burnt, ashes would remain.

Re: Newbie: Which MCU/kit to Start?
Hallo Hans-Bernhard,

Quoted text here. Click to load it

Point taken, but I still think that it is likely easier to port C than
assembly language, in general. (I discount utterly bizarre language
variants like Rabbit's "C"; the more I learn, the less I like).

Quoted text here. Click to load it

This is all the "implementation" stuff, though, not "algorithm". I
would expect to have to change this sort of code in moving amongst

Quoted text here. Click to load it

I would call it quite standard :( FAEs have been culled all over the
place; engineering support is in general significantly worse now than
it was three years ago, and it wasn't great back then. Maybe if you're
a big customer, they'll send a better grade of monkey, but certainly
not to small customers.

In any case, the level of support you can expect from "vendor B" can't
usually be expected to reach the bitfields-in-registers type of level
you'd normally get from a vendor guiding you through upgrades within
their own product line.

Quoted text here. Click to load it

Browsing my favorite manufacturers, I don't find many pre-written app
notes for "porting from vendor X to our chips". And that's not really
surprising, because those porting guides work backwards, too... Also,
what makes more sense - to put your engineering staff to work studying
competitors' chips and writing porting guides in the hope of
generating customer churn, or concentrating on supporting existing
customers in new applications?

Quoted text here. Click to load it

That's true. But it's kind of a side issue, since it's a given that we
cannot truly second-source drop-in replacements for the parts in
question. This whole discussion doesn't apply to jellybean parts.

(Oh - Also, I am not significantly worried that Atmel is about to go
out of business :)).

Re: Newbie: Which MCU/kit to Start?
Quoted text here. Click to load it

It is easier to port C than ASm but of course there are over 500 8051
types that use the same assembly language :)

Quoted text here. Click to load it

The algorithm might also be specific. Using fast data or slow data

Quoted text here. Click to load it

You are talking to the wrong FAE's then :-)

Quoted text here. Click to load it

No? I have found vendors will go to great lengths to help you move to
their parts. Of course within the 8051 family they have the advantage
that most of the tools will be the same so conversion does not even mean
porting code just re selecting the target part..

Quoted text here. Click to load it

They tend not to be needed in the 51 family between vendors.

Quoted text here. Click to load it

The do this because it is so easy to swap 8051 vendor if you get poor

Quoted text here. Click to load it

Not so. there are many "drop in" parts in the 51 world. Others only
require minor changes to the HW and SW.

Quoted text here. Click to load it

Of course not. The have a major line in 8051's :-)  A line that they are
expanding and a line of 251..... so if you have to ask yourself if Atmel
are pushing 8051/251 where does that leave AVR?

They also have ARM and I recall reading somewhere "ARM is the 32-bit
8051" I will have to look out the reference and see who wrote that* :-)


*Page 19 Para 3 :-)

\/\/\/\/\ Chris Hills  Staffs  England    /\/\/\/\/\
/\/\/ \/\/

Re: Newbie: Which MCU/kit to Start?
Quoted text here. Click to load it

In cellular phones, microwave ovens, air cleaners and lots of other growth
markets ;-)

For standard products, chips are developed using both cores..
Atmel has two design centres working on the AVR,
one design centre working on the 8051
one design centre which works with both.

For ASIC/ASSPs it is either ARM or AVR; and no or very little 8051s.

You see the starlight in the engineers eyes when he is allowed to use the
I have never seen that happen to 8051 engineers.

Quoted text here. Click to load it

Yep, I am happily working with both the AVR and the ARM.

Best Regards,
Ulf Samuelsson
We've slightly trimmed the long signature. Click to see the full one.
Re: Newbie: Which MCU/kit to Start?
On 24 Sep 2003 11:50:19 -0700, (Lewin A.R.W. Edwards)

Quoted text here. Click to load it

From the UK, I have been told several times by FAEs that
a major problem for the distributors is that designs get
done in one country, but that manufacturing is done in
another. The result is that one distributor puts in the
support effort but does not get any recognition for it.

This seems to mean that the quality (and price) of the
software supplied with a silicon vendor's EVBs is a critical
part of the design-in process. I'm quite happy to part with
$99 for an MSP430 EVB, but $5000+ for the Atmel AT91RM9200
EVB is too much of a risk. Does anyone have any experience
with the Cogent board?

Stephen Pelc,
MicroProcessor Engineering Ltd - More Real, Less Time
We've slightly trimmed the long signature. Click to see the full one.
Re: Newbie: Which MCU/kit to Start?
Hi Stephen,

Quoted text here. Click to load it

This is such a common issue, though, that they do have programs in
place to deal with it. Three or four years ago, that was an issue for
us too - but in more recent times, the distris say "Yes, give us the
name of your purchasing agent in the Orient and we'll do the paperwork
to make sure we get credited for the sale".

I have a beef with dealing with distris per se. It's simply adding a
useless middleman to the support equation. The only thing distributors
are diligent about is calling me at inconvenient times asking if I
want to buy some overpriced parts.

Re: Newbie: Which MCU/kit to Start?
Quoted text here. Click to load it

I had this problem 20 years ago but from about 10 years ago most of the
majors addressed the issue so you could not only get the tech support
from the UK office (not distro) but you could get volume prices in USD
landed in China from the UK office too.

Quoted text here. Click to load it

It's all volume related.  Once the product quantities are large enough
you can bypass the ditributor.


Re: Newbie: Which MCU/kit to Start?
Quoted text here. Click to load it

Are You trying to make a case for buying an IAR compiler for Your next

Quoted text here. Click to load it

Yes, please send me some ;-)

Best Regards,
Ulf Samuelsson
We've slightly trimmed the long signature. Click to see the full one.

Site Timeline