previous page: 86 Intel 80C186 (Robotics Microcontroller)
page up: Robotics FAQ
next page: 88 Parallax BASIC Stamp (Robotics Microcontroller)

87 Microchip PIC16/17 (Robotics Microcontroller)


This article is from the Robotics FAQ, by Kevin Dowling nivek@cs.cmu.edu with numerous contributions by others.

87 Microchip PIC16/17 (Robotics Microcontroller)

"Microchip Technology"
Corporate Office
2355 West Chandler Blvd
Chandler, AZ 85224-6199
tel: 602.786.7200
fax: 602.899.9210


"Arizona Microchip Technology "
tel: 44 062-885-1077
fax: 44 062-885-0178


"Microchip Technology"
tel: 81 45/471-6166
fax: 81 45/471-6122

CMOS field-programmable microcontrollers - PIC16/17. high performance
low cost and small package size. Large numbers are used in consumer
electronics and automotive applications, computer peripherals,
security and telecommunication applications.

A FAQ on the PIC exists and is posted regularly to the following
newsgroups: comp.realtime, comp.robotics, sci.electronics Maintainer:
Tom Kellett A PIC list address is: pic@figment.mit.edu Administrative
matters go to: pic-request@figment.mit.edu Internet PIC sites are at:



PIC16CXX and PIC17Cxx are 8-bit microcontrollers that use a high-speed
RISC architecture.The PIC17CXX is probably the faster 8-bit
controller. 16-bit instruction word and vectored interrupt
capabilities.You can add external program memory, up to 64K words. The
PIC17C42 has a number of counter/timer resources and I/O handling

Features include: timers, embedded A/D, extended instruction/data
memory, inter-processor communication and ROM, EPROM and EEPROM
memories. assemblers, linkers, loaders, libraries and source-level
debuggers are available. Digi-Key carries PIC's (See Parts Suppliers)

A simulator is available from Compuserve from the MicroChip BBS. The
simulator is SIM42000.zip and the assembler is MPA10200.zip. You do
not have to be a member of CompuServe to get to the MicroChip BBS.

1. Set modem to 8N1
2. Dial your local Compuserve phone number.
3. Type and a garbage string will appear because compuserve is
expecting a 7E1 setting.
4. Type + and Host Name: will appear.
5. Type MCHIPBBS and you wil be connected to the Microchip BBS.

"Vendors of PIC boards:"
These are from reviews by Chuck McManis :

"Micro Engineering Labs"
P.O. Box 7532,
Colorado Springs, CO 80933
tel: 719.520.5323
contact: Jeff Schmoyer

MEL has designed a couple of PC boards for prototyping PIC systems
PICProto 18 - $9.95 US including shipping in the US. This board is
1.5" by 3", double sided, solder masked, and has plated through holes.
the top 7/8" x 1.5" of the board (oriented with the narrow side "up")
consists of an 18 pin socket print, holes to conviently mount either a
crystal or RC oscillator and a set of holes to mount a 5v regulator,
either the TO-220 type or the low power TO-92 type as used on the
Miniboard. All of the PIC I/O pins, RB0 - 7, RA0 - 3, RTC, Vdd and Gnd
are brought out to a dual row of pads. they are followed by 15 rows of
pads, with the outer pad on one side being the Vdd bus and the outer
pad on the other side being the Vcc bus. After this there are two rows
of pads, offset, that can accomodate a DB9, DB15, or DB25 connector.
This board will accept either the 16C5x series (in the 18 pin package)
or a 16C71 PIC.

The PICProto Dual - $14.95 US

Is similar except it has pads for 1 18 pin PIC and 1 24 pin (or
another 18 pin) PIC. It is 3" x 3" and shares all of the same
properties of the PICproto 18 with respect to setting up crystal or RC
timing for the PICs. It has pads for 1 DB connector that is 25 pins or
less. It adds about 50% more prototyping pads so you can put two or
three more chips on it. The nice thing about this one is that one PIC
can do asynchronous things like be a serial interface while the other
provides I/O pins and monitoring functions.

PIC Prototype-1 - $195.00 from Digikey

This gizmo is made by Depew Engineering (depew@maroon.tc.umn.edu) and
is sold by Digikey and Parallax and possibly others. It is a
breadboarding system for testing out PIC designs. If you have a
Digikey catalog you can look at the picture there, but it is basically
a circuit board with a 28/18pin ZIF socket in the upper left corner, a
9 pin DB-9 connector that is attached to a MAX232 chip to provide
RS-232 levels and a 25 pin DB-25 connector at the top center which is
wired as a "parallel" port like you might find on a PC. Continuing
across the top, now in the right hand corner there is a coaxial power
plug and switch. Along the right side are five 7 segment displays that
are permanently wired to display the value of PORTA, PORTB, and PORTC
(when available) in hex notation, along the lower right are a set of
dip switches for setting the clock rate (500Khz - 32 Mhz in 32Khz
increments). Along the bottom edge are green LEDs showing the state of
all the PORT pins (in binary :-)) and taking up roughly 45% of the
circuit board is a solderless breadboard section. The solderless
breadboard has two primary sections, an upper bus section containing
connectors attached to all of the PIC pins and some useful pins on the
board (like inputs to the MAX chip and outputs from it), and a lower
section which is a standard breadboard with two rows of 5 pin
connectors spaced .3" apart.

Additionally, the circuit has support for Parallax's PBASIC
interpreter PICs and a serial EEPROM for storing your BASIC program.
(Sort of a giant BASIC STAMP). Note you have to buy a PBASIC PIC ($18
from digikey or Parallax) separately. Overall my impression is of a
product, that does a lot of neat stuff but fails to be the killer
product it could have been. Consequently I'll first discuss the
weaknesses of the board before going on to the stronger aspects.

The board claims to be a 16c5x prototyper, but the manual suggests it
supports 16C71, and 16C84 parts as well. What it didn't do was add the
parts to make it an optional 16C84 programmer. Given how easy this is
I'm guessing that they just didn't think of it or had the design
"done" before they had access to 16C84 parts.

The next weakness is that while they have the EEPROM socket for BASIC
users, they don't bring the pins out the protoboard so it is not
possible to take advantage of the EEPROM in your prototype designs.

On the prototype board, +5/Gnd are available in the bus section on two
connectors but there aren't two strip connectors that you find on all
other breadboards for carrying Vcc and ground. This means that you end
up either daisy chaining your power and ground connections, or
dedicating some of the connectors on the main bread board for Vcc and

Another area that could, in my opinion, be improved is the
availability of non-dedicated I/O devices, at the least it would be
nice to have a 4 position dip switch and 4 available LEDs that could
be used in the circuit as needed. A neat feature that would be by no
means required would be using two color LEDs to display the state of
the output as true (green), false (red), or floating (yellow).

Finally there is the issue of cost, at $195.00 this is a fairly pricey
system for what it does. Now I realize that similar systems for other
microcontrollers are similarly priced although the nearest direct
equivalent would be the Heathkit ET trainer series that were much more
oriented to learning about microcontrollers. IF I could program and
emulate PICs with it (like the Parallax tools do) in addition to using
it as a breadboard that would be wayyy cool, but I don't know how much
that would effect the price. I'd probably pay another $50 for that

Ok, so all that grousing aside what did I like about it? I liked the
fact that I can now prototype PIC designs (hardware wise) in minutes
as opposed to hours. Prior to this device I would get a
MicroEngineering Labs PicProto board, wire up the PIC section,
wirewrap my I/O hardware or a connector that connected to my hardware,
and then start programming. If I had to redo the hardware that would
be fairly long delay. With this thing I can put the hardware on the
prototype strip or, using the 26 pin IDC connector, connect it over to
my "big" breadboard. I don't have to worry whether or not the PIC is
working and I can do a 10mhz design on a breadboard.

In terms of value for the money my guess is that I'll need to do at
least four and possibly six different designs on it before I've made
back my investment.

If it were part of a PIC seminar, it would be a wonderful teaching
-Chuck McManis


Continue to:

previous page: 86 Intel 80C186 (Robotics Microcontroller)
page up: Robotics FAQ
next page: 88 Parallax BASIC Stamp (Robotics Microcontroller)