Microchip sells a very powerful and inexpensive line of microcontrollers,
known as PICs, that are ideal for embedded control applications. These chips are rich in I/O and high-level
features such as simple peripheral control, rich communication capabilities with other devices and the outside
world, and built-in capabilities such as RF communication, I2C and SPI interfacing, multiple onboard A/D, PWM
and servo control, etc. One PIC might replace a traditional microcontroller and a whole slew of peripheral
chips that would be necessary to support a general-purpose microprocessor.
They are relatively easy to apply, and are usually programmed in assembler or C. Using a PIC, however, means
that you will have to build and buy a PIC development environment. At a minimum, you would have to obtain a
PIC programmer and the free assembler available from Microchip. Also, PICs have a learning curve that, in
some places, is mighty steep.
An example of PIC programming and development hardware
Another problem with a PIC design is its portability. Let's assume that I arrive at a nifty little design,
and would like to share it. Well, I could publish my schematic and source code, photos detailing the build,
parts sources, and everything else that someone else would require in order to duplicate my design. But,
unless that person was willing to invest in a PIC development system, said person couldn't duplicate my
I recently stumbled across a PIC variant that goes quite a way toward solving some of the problems
presented above. This device, called a PICAXE, is a conventional PIC pre-programmed with a BASIC
operating system. A PICAXE chip offers most of the control capabilities of a native PIC processor,
but has almost no learning curve, requires no special hardware to program the chip, and is almost
as inexpensive as unprogrammed PICs. Any design based upon a PICAXE is, by definition, portable.
Anyone can duplicate the project.
You load your programs into the PICAXE's flash EEPROM using nothing more than your computer and an
RS232 serial link. Free PICAXE programming software is available from
Once loaded, you can disconnect your computer. The PICAXE will run your program
whenever it's powered up. And you can reprogram the chips over and over again.
PICAXE chips and support hardware are available from http://www.picaxe.co.uk
or, in the United States, from http://www.phanderson.com. The chips are available
in 8, 18, 28, and 40 pin variants, each having more I/O and features than its smaller kin.
The PICAXE18X incorporates 8 digital I/O lines, several 10 bit A/D channels, up to 5 digital inputs,
I2C interface capability, PWM control, and more. In the PICAXE family, it represents, IMHO, the best
The chip has memory for approximately 600 lines of program code that you load into non-volatile
program memory. In addition, you have access to 256 bytes of EEPROM memory, and a bit less than
256 bytes of RAM. That doesn't sound like a lot but, if you've ever done any embedded processor
work, you'll know that there is enough memory for quite a sophisticated control program hiding in
that little chip.
If you've purchased a PICAXE18X chip and Olimex protoboard from
Peter Anderson, you know that the board is
great for getting your PICAXE up and running quickly. It contains
everything you need to make the processor run, connect it to power,
and connect it to your PC for programming. You don't have to
scrounge any parts, or build anything, and you are successful
immediately. And we all know that immediate success is a great
If you've developed a PICAXE project, you can build your project
right on the board, if you wish, mount it in an enclosure, and you're ready to
But the board isn't very good at getting from starting up your PICAXE to
the "build the finished project stage." Usually, there's a lot of
experimentation and even some trial-and-error between starting the PIC for
the first time and building the final version of your project. Adding
components and experimenting with the circuitry involves a lot of soldering
I've solved that problem. By adding just a few dollars worth of parts,
you can easily convert your protoboard into a solderless experimenter's
board. After just a little work, you'll have a board that you can use,
over and over, to develop your PICAXE-driven systems.
Go to my protoboard mod page to see how I did it.