I am interested in learning microcontrollers. I am taking a course in
electronics in Feruary that will teach some microcontroller subjects
programming in C and some C++, but will be covered more in 2006. I also plan
to do some hobby stuff including robotics.
It looks like Parallax has heaps of educational materials and support for
their BASIC Stamp products. The excellent resources appeal very much to me.
The only potential problem I see with this, though, is that it uses BASIC
language, which it seems is not really used much in industry?
Would it be a waste of time and effort learning uCs using BASIC Stamp?
I welcome people's viewpoints.
You don't need to buy a Stamp in order to familiarize yourself with uCs.
In fact, since you will be studying more traditional controllers and
programming them in C/C++, a better idea might be to simply buy some
Atmel AVR or Microchip PIC microcontrollers and wire them up on a
If you're later going to use C, then yes I'd say the BASIC Stamp is
a waste of time. For one thing, compiled C code will run much faster
than the onboard (onchip?) interpreted BASIC.
Long story short, BASIC skills won't get you much further than
programming a BASIC Stamp, but C skills will get you lots of places. I
see BASIC as a dead-end street.
There are many C compilers for both of these. I've got the free GCC
compiler for the AVR (check out
back up after
being down over the holidays), and there may be one for the PIC too.
Learning microcontrollers, and using BASIC Stamps are really two different
Basic stamps really insulate you from some of the mysteries of
microcontrollers. They are a great way to get things to move about on your
desktop, but teach some bad habits and do not cover other concepts for
working with microcontrollers at a deeper level.
The way I like to say it, is that a basic stamp is like having 16 Swiss Army
knives, but only 1 hand to use them all. Each pin on a stamp is amazingly
conformable, but you can only access 1 pin at a time.
Microcontrollers are in a way independent of language. Some languages are
better suited to some microcontrollers. For C, I have heard great things
about the AVR, and am working towards that direction a bit myself. If memory
serves, Brian Dean,
, makes some nice stuff.
Microcontrollers have a lot of task specific functionality that is
controlled/accessed through registers which you often "set and forget",
coming back later to change or update. In this way, you are able to achieve
a lot with little processor overhead. A more advanced concept is interrups,
where you set the microcontroller to do something on the occurance of a
particular event, then return to what you were doing.
All of these concepts are not within the context of using a BASIC Stamp.
While the insulation is good for a rank beginner, it is not necessary to
isolate ones self from what one eventually wishes to achieve.
My personal preference is IsoMax/FORTH, particularly on the 5680x DSP chips,
as implemented by
in their "pod" line, but this is a
shameless plug for a product I really love, and the subject for a different
I don't think Stamps are waste of time at all, particularly if you're just
learning about electronics and micros in general. The fundamentals you learn
about micros will rollover to more a more advanced uC when you decide to
"grow up" so to speak. I started on stamps, and now program Atmel AVRs using
ASM and BASCOM but I still often use stamps during the initial testing and
design phases of new ideas simply because they are very quick and easy to
implement. Best regards,
In your case, a Basic Stamp will be a waste of $50. The BS is good for
designing fairly simple controls very quickly and easily. It is great
for beginners that don't plan to make a huge number of devices and for
professionals who have a high burden rate and often make simple, one-off
Instead, I would recommend that you get the book "Programming Robot
Controllers" by Myke Predko. It starts from scratch using PIC chips and
breadboards. The version of C he uses (Hitech's PICC Lite) is free and
so are the chips if you just ask Microchip for samples (they will give
you 2 or 3 per quarter). Myke even shows how to build your own
programmer for around $20. The programs in the book are written in C.
At first, you can blindly use his code while you learn to wire up the
circuits. Later, after you have learned C in your classes, you will be
able to easily modify what He has wrote.
If you want to get a jump on your C class, go to
and download their
learning C book. It is the best beginner's intro to C for
microcontrollers I've seen.
Guess what, I already have that book! The circuits are excellent, because
they are easy to follow from the breadboard diagrams. I have built and used
his El Cheapo programmer. Myke includes an excellent guide to constructing
it, and the download software is great. I have done hobby programming in
VB, Java, and a little C ( and Pascal many years ago at uni ). I also have
the Lego Mindstorms kit and a few books I got from Amazon ( Extreme
Mindstorms, Core Lego Mindstorms Programming, The Unofficial Guide to Lego
Mindstorms Robots ). I have found it difficult to follow Myke Predko's
code...he does not really explain it as much as a beginner needs -and he
should also use flowcharts to describe the logic ( like any programmer
"should" ). I have found it really frustrating to try and work out what is
happening in his code examples.
I have also bought a multimedia CD ROM from Matrix Multimedia (
). It cost me about AUD$ 100. This CD
includes the C2C compiler and SourceBoost IDE (
) . The IDE integrates seamlessly with
MPLAB assembler. It programs a much wider range of PICs than the PICC Lite
compiler, and has much less restrictions. This compiler also compiles code
for Ubicom SX series chips.
I like the CD and think it is a great tutorial. BUT I find that for a
beginner the "optional" development board is needed to use the CD, however
( cost ~ AUD$ 400! Matrix also produces a CD for PIC asembler that looks
good ( to use with the same development board ) ) Because circuits like in
Myke's book are not given - more frustration! So maybe I will have to fork
out the money for the board ? - more frustration.
I am waiting for a book to arrive at Amazon.com that uses the Atmel AVR
Butterfly as a development board, and has easy-to-follow breadboard
). You can also buy and download
an e-book at this site. This seems like a really cool book, because it
teaches some C, uCs, basic circuits, and has projects, etc. The Butterfly is
only ~USD$ 20! ( NOT A TYPO! ) and has a temperature sensor, light sensor,
RTC, RS-232 chip, LCD, piezo, joystick, bootloader, etc - awesome platform !
The WinAVR free compiler and IDE are (
) used - free! So this looks like
the best platform to learn C and AVR.
So I am still considering Stamp just to learn some electronics and stuff
over January with much less frustration. There really is not much
hand-holding stuff for newbies on the electronics and C programming side.
Looking on the Iternet, there seems to be a number of universities using the
Stamp in their classes, so there seems to be some merit in using them I
guess. At least any hardware I buy to learn the Stamp can be used in other
projects I guess.
As far as the technical aspects of the Stamp, I know little. I think there
is a polling ability in the new Stamps, that is like interrupts??? Althought
the Stamp uses an interpreter, it seems like the newer Stamps can run fast
enough to control projects for most users, including hexapod robots. Others
have commented that it's not necessarily the speed that's important, but
also the amount of education materials and support available. Parallax has
lots of books ( including free downloads ) including signals, free DAQ
software, electronics, datalogging, oscilloscope, robotics, etc, etc. so
maybe it's worth having a look. For the beginner, there really is no other
easily-accessible resources that compare to Parallax, I believe. Others have
suggested alternative packages that use the Stamp, like from (
, a Professor in EE ) and to not waste money on
some of the Parallax packages.
I will check out the link you included.
Thanks again, and to others have given their experiences in their posts.
Thanks, I checked out that link you posted. I agree that it is a great intro
to C for PICmicro MCU. It looks like an excellent development environment,
like the wave generator and software emulator, etc. I downloaded the manual.
It explains things very well. The only problem is cost - ~AUD $400 for IDE
and dev board, shipping. It is stated that the code can be run on
practically any C compiler? How would that work? Wouldn't it be necessary to
have at least the header files? Would GCC compiler work to make *.asm or
also have some nice boards.
For a nice board tht the butterfly plugs into see
and easy to build
Also I'm yet to find a good book on the avr's.
join its free, go to academy and read through the docs.
For the atmel butterfly apps ported to winavr/avrgcc
If buying in Australia you'll find basic stamps very very expensive
(same if trying to buy from parallax)
Learn more but bit harder to start, using a pic or avr or others
on a breadboard.
Either make or buy a low cost programmer.
Save a few dollars for when you are doing the corse as you'll probably have
to buy the hardware on top of the course fee.
Your going to do a TAFE or other course ?
If a uni course, I don't know of any Australian uni's using the stamp for
electrical/computer systems / telecom/ software Eng.
Were in Australia are you ?
Thanks for the tips.
Yeah it's cheaper to buy them in from the US, some of the distributors are
cheaper than Parallax ( especially shipping charges ):
. You have to spend a lot to make the
shipping charges worthwhile.
Yeah I have been breadboarding with PIC 16F84A today...using C2C compiler I
got...got bank of LEDs flashing back and forth...woohoo! Got a buzzer
buzzing... I think I fried ( another ) PIC today :(
When that book on AVR Butterfly comes out I will get it and parts from USA -
Australia is HOPELESS for buying electronics stuff.
Yeah I have El Cheapo programmer I built from a design I got from a book. I
found a place that sells ICSP programmer for ~USD$9 ( hook up to
breadboard ), it even programs 18Fxxxx series and has free *.hex
downloader!!! How cool is that?:
Programmers on menu on LHS of page.
Maybe I will buy one for 18Fxxxx series. I found out that I can upgrade my
compiler for ~AUD$120 and I get cool plugins for my IDE to simulate devices
like LCD, wave generator, logic analyser, seven segment LED, voltmeter, etc
but first I will check out the links you posted. I would have got a free
upgrade, but not with the version I got with the MatrixMultimedia
Yeah I will go to TAFE to do Advanced Diploma in Electrotechnology at
Wollongong, you can choose between 3 strands; Computing; Power/Control;
Electronics. I should get credits because I have a science degree ( I used
to be a science teacher ).
I found US unis using them.
I live about 25km South from Wollongong NSW.
I've only used the free book, not the FED product. I'm just old enough
that I was taught Fortran and BASIC instead of C in school so I needed
some help learning to read that awful language. I used PICC Lite from
Myke's book. The languages are close enough that I was able to
understand the basics from the book so that I could follow Myke's code.
[off subject rant] I really don't like C. That was my one complaint
with Myke's book and the main reason I switched from PIC's to AVR's. I
can get the basic compiler BASCOM for free to use with AVR's.
Unfortunately, the one book out on BASCOM is next to useless for a
beginner (Mr. Kuhnel is a skilled programmer, but he needed a technical
editor to clean up his writing - a common problem with U-publish books).
I would love to see a a book like Myke's written using BASCOM.
If you like BASIC programming, check out Amazon.com. There are at least 3
robotics books that use PICBasic. One called "Amphibionics", "Insectronics",
and one by Iovine. They are all PIC-based, but BASIC is used to program
them. Although the PICBasic/Pro compiler is not free, you could probably
port using another BASIC dialect/compiler to either PIC or AVR, etc.
They look like cool books, but the BASIC put me off, especially the ~$AUD
400 for the PICBasic Pro compiler and the separate IDE you have to purchase
to get a decent development environment.
: >> Would it be a waste of time and effort learning uCs using BASIC Stamp?
: If you're later going to use C, then yes I'd say the BASIC Stamp is
: a waste of time. For one thing, compiled C code will run much faster
: than the onboard (onchip?) interpreted BASIC.
: Long story short, BASIC skills won't get you much further than
: programming a BASIC Stamp, but C skills will get you lots of places. I
: see BASIC as a dead-end street.
Bah! There are very good Basic compilers for pretty much all of the
micros out there. It is just another language. I prefer C, but others
like Basic. Your language religious beliefs tend to make the choice.
I saw your post on usenet - ordered the book from amazon just now, does
the book tell me how to get the 'free' sample chips from microchip that
you mentioned? If not - how can i go about doing that. your post was
really informative. hope to hear from you!