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

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 http://www.picaxe.co.uk. 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 value.

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.


Spiff Up Your Protoboard

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 confidence builder!

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


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 and resoldering.

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.


My Next Project: An All-in-One Camera Remote Control

July 27, 2007 Update:

I've completed the Remote/Intervalometer project, and have moved it here.

Copyright © 2006,2007 Tom Lackamp
All rights reserved