David Tait's Links to Internet PIC Resources
Subject:
David Tait's PIC stuff
Date:
Tue, 18 May 1999 22:26:04 +0100
From
David Tait (E-mail suppressed)
To:
PICLIST@MITVMA.MIT.EDU
For various reasons I'm removing the PIC related pages and files from
my University server. At present I have no plans to
make the stuff available elsewhere. If you want to grab anything
please do so before next Monday.
David Tait's Programmer Software Variants.
Last changed 18th May 1999
Here I have collected a few links related to PIC (aka PICmicro) microcontrollers. The links have been carefully listed in a totally random order. I've tried to keep nearly everything on one graphics-free page deliberately; even though the page is quite large now it should take less time to download than the opening graphics of most commercial sites. I think all links are "absolute" so you can simply download this page once and use it locally thereafter (you might like to call back every so often to look for updates).
You can probably turn up many more PIC related links yourself with a WWW search and if you find anything interesting let me know.
A collection of PIC-related files available via the Web. If you have any information you think would be of interest to PIC fans just e-mail me and I'll let you know how to upload your file. The archive is also where I keep my own contributions to the PIC scene:
Visit this site (or use FTP)
to get free PIC development tools plus PDF data sheets and application
notes. A gold mine of information as you would expect from the makers of
the PIC. Many regreted the demise of Microchip's dial-up bulletin board
but they now have several online
discussion groups with much the same content.
There was PIC-FAQ once upon a time; you can still get the text
version but it's hopelessly out of date.
Manufacturers of PIC programmers and the PIC-based BASIC Stamps. Useful
information available here or via FTP.
The PIC applications
handbook is essential reading even though the examples don't use Microchip
mnemonics (Parallax had a utility called swapcode that did a fair job of
translation between MPASM compatible assembly language and their 8051-like
dialect). Christer Johansson maintains a List
of Stamp Applications. UK agents for Parallax are Milford
Instruments.
For electronic hobbyists keen to dabble with microcontrollers the PIC16F84
(or the older 16C84) is one of the best chips to get started with (nowadays
it has strong competition from the Atmel
AVR chips and look out for the new 16F87x family). One of the most
compelling reasons for starting with the 16F84 is that it uses EEPROM technology;
this means the edit-assemble-program-test cycle can be very rapid indeed
- you'll never want to use UV erasable chips again. Most hobbyists are
also attracted to this device because Microchip provide free development
tools and it is easy to homebrew a cheap and cheerful
programmer. For example, Andrew
Errington's PIC page tells you how he got started with PICs. Andy wrote
some Windows
based software to control the PIC16C84 programmer described in the
Microchip application note AN589.
Steve Marchant has developed his own in-system
programmer; Steve's page also has pointers to all the documentation
you'll need to get you started. Another guide to getting started is provided
by Sam Engström.
If you are confident you can develop PIC based projects then you are likely
to have all the skills necessary to build a simple PIC16C84 programmer
so have a go. Your first project can be based on
a very simple test circuit; or a slightly more complicated
re-programmable
test circuit and associated
demo programs.
Peter
Anderson provides lots of introductory material and more projects you
can try. DIY Electronics sell PIC-based
kits including a PIC programmer kit designed by Charles Manning and the
documentation includes an Introduction
to the 16C84 in Word format which many will find helpful. Stan Ockers
says he clearly remembers his first steps and has put together a short
tutorial introducing the 16F84 (and more) through a temperature logging
application.
Personally I think Microchip's PIC databook and Embedded Control Handbook
are the most useful PIC books. Virtually everything in both is available
on-line from Microchip's WWW site
or CD-ROM. Nigel Gardner's "A Beginner's Guide to the Microchip PIC" is
now available in revised form (revision 2.0). The book includes basic facts
about the baseline and midrange PICs and illustrates the steps involved
in PIC project development. My feeling is you'll soon outgrow the book,
however, it does contain some useful advice and is less intimidating than
a datasheet if you are meeting PICs for the first time. Nigel Gardner and
Peter Birnie have produced a followup to the beginner's guide called the
"PIC Cookbook - Volume 1" (Volume 2 should be around by now). The authors
manage to describe 40 working applications in a 162 page A5 format book
which is only possible by leaving out the program listings, however, fully
commented source is provided on a companion disk. Whatever stage you are
at, seeing examples of PIC hardware and PIC source code is useful. Gardner
books are available in the high street from Maplin.
Another book mentioned in the FAQ is David Benson's "Easy
PIC'n" which by all accounts is a good introduction (pity about the
title :-). This book is large format and has a very informal style. It
has some useful things to say and although the examples don't really get
you beyond the LED flashing, key pushing stage that's certainly a good
start. A follow-up to "Easy PIC'n" is the intermediate level book called
"PIC'n
Up the Pace" and an even more advanced book is in the pipeline I believe.
(UK residents can order copies of David Benson's books from Edward
Buckley). Other books I've heard about include "PICs
in Practice" by Volpe and Volpe (mostly 16C5X stuff) from Elektor
Electronics; one from PICLIST regular Myke Predko entitled "Programming
and Customizing the PIC Microcontroller" (I've heard good things about
this one) and a book dedicated to the 8-pin PICs by Gordon MacNee called
"The Greatest Little PIC Book" (available from Farnell).
John Peatman wrote a textbook I used during my undergrad days and he has
recently turned his attention to the PIC with "Design
with PIC Microcontrollers" (see Prof
Peatman's homepage for more info). One I've just come across (Jul/98)
is by John Morton called "PIC
- Your Personal Introductory Course". A search for PIC on www.amazon.com
may turn up even more.
Microchip tools are of limited use if you don't use a PC with a Microsoft
operating system. Furthermore, the only readily available PIC programming
hardware is aimed at PC owners. The rest of you are on your own. Even the
Mac has little support although there are a few things: Rick's
PicMac page and, for DIYers, Francis
Deck's Web page gives you all you need; or see Lauri Pirttiaho's KISS
approach. The Warp-17 17CXX programmer from Newfound
Electronics can be used with Macs (both 68K and Power PC based) thanks
to Kevin Coble's MacPIC package.
The Amiga is served by Dirk Duesterberg and Ioannes Petroglou's Amiga
PIC tools page. Amiga owners can now use DIY 16C84 programmers (including
the Maplin kit) thanks to Nick Waterman's Amiga
port of the original PC software (see Nick Veitch's article on PIC
programming in the July 1998 issue of Amiga Format). Also for the Amiga
is the Epic
PIC16C84 programmer. There were some attempts to produce PIC tools for
Acorn machines and Stuart Tyrrell runs the PicAcorn
mailing list pages which have few things. Search this page for Linux/Unix/NetBSD
stuff.
Gareth Downes-Powell has put together a set of pages dedicated to the
PIC16C84 and is looking for contributions. The pages also describe a range
of PIC
development boards you can buy.
An Italian site dedicated to PICs run by Tiziano Galizia and Sergio
Tanzilli. Lots of information available in both Italian and English. Must
see.
Antti Lukats' Silicon Studio has lots of goodies - have a look a the
new SimmSticks
for example. Several interestings things can be found in the download
area such as the PICSTART lookalike programming software PIP-02 which
can be used with a number of popular PIC programmer designs. (I have made
a local copy of PIP-02 but its unlikely to be
the latest version.) Other interesting things from Silicon Studio are available
by FTP.
Here I've tried to collect links to companies that have useful PIC tools or PIC-based products but haven't already got a mention elsewhere on this page. (For some others Arrick Robotics provide contact addresses rather than links). This list will never be complete ...
There are lots of consultants
specialising in PIC-based solutions. A few have their own WWW pages like
Nigel Gardner's (of PIC book fame) Bluebird
Electronics. PIC solutions are also a speciality of ML
Electronics.
Erik Hermann designed an ultra-simple PIC16C84 programmer which plugs into the serial port of a PC and doesn't need an external power supply. It's very neat but may not work on PCs that have less than ideal serial ports (like most laptops). There are several versions described on the net including: Rolan Yang's PICBlaster; Silicon Studio's COM84 (gone?); Ludwig Catta's Ludipipo (now with Windows software thanks to Tord Andersson and brief English documentation by Michael Covington); and Jens Madsen's improved version. Ralph Metzler wrote a C++ driver so that an ultra-simple programmer can be used with Linux. Luigi Rizzo's PIC related tools page has another variant. On a similar theme Jens Madsen has designed what he claims is the "World's most easy" PIC programmer which uses just one resistor and a 5V power supply!
It's also possible to make an ultra-simple programmer for the printer port of the PC. Probably the first, blowpic, was designed by Mark Cox. Derren Crome's EPE programmer is much the same but programs the PIC in-circuit. The general idea is illustrated by the "quick and dirty" programmer. My 16X8X programming software is compatible with all three. The programmer section of my TOPIC board is just a bit more complicated but doesn't require you to fiddle with switches during the programming process. Michael Covington has stripped the TOPIC programmer to the bone to produce what he calls a "no parts PIC programmer". You could also consider Stephen Nolan's 8 component programmer. This programmer was used as the basis of Niagara College's Computer Systems Design course COMP630.
Simple parallel port designs like my "Classic" 16C84 programmer (see
schematic: PDF or GIF) can
be used as near universal PIC programmers. For example, Tato
computers' ProPic programmer design comes with Windows software for
programming a wide selection of PICs and EEPROMS. A similar design is described
by Bojan Dobaj.
The latter design can be bought as a kit (kit 96) from DIY
Electronics or DonTronics
Kit 96 page. G. Mueller has developed programmers for several popular
microcontrollers. The PIC programmer, called PIC-Flash
II, is capable of programming many different types although the free
version is limited to the 16x8x.
Although Microchip maintains an extensive list of approved sales
offices (some have their own WWW sites), nowadays you can buy PICs
from almost any distributor. In the UK the two best known are Farnell
and RS Components. Possibly
hobbyists are more familiar with Maplin
and their high-street outlets. Although PICs are relatively cheap the prices
in the Farnell, RS and Maplin catalogues don't compare favourably with
US distributors like Digikey. The
PIC16x84 is available cheaply in the UK thanks to the much maligned
pay-TV hackers. Several companies specialise in supplying PIC-based smartcard
replacements and often have 16C84s for sale at attractive prices; for example
see Techtronics price list. Some
time ago I found Crownhill
Associates Ltd's pre-tax price of £2.20 for PIC16C84-04/Ps too
good to miss and was pleasantly surprised by the speedy service. More recently
I bought ten PIC16F84-04/P chips from Keymaster
Software Ltd for £1.89 each plus tax. Going by their price list
another good source is Kestrel
Electronics. Crownhill, Keymaster and several others advertise cheap
PICs and EEPROMs on Usenet in the alt.satellite.tv forsale
and crypt newsgroups.
An interesting site that describes a variety of pretty inventive things
to do with PICs. Eric is now developing things using the ultrafast Scenix
chip.
Kalle Pihlajasaari has put together a collection of links and describes
his own favourite PIC projects.
Started by Rick Miller but now maintained by James Bowman, the GNUPIC
project is an effort to produce free PIC development tools for multiple
platforms. When I last looked Paul Vollebregt's European GNUPIC
mirror was still going.
Fast Forward let you ask PIC related questions via their embedded systems
programming answer
line. The answers are provided by PIC guru Andrew
Warren.
The PICLIST is a mailing list dedicated to PICs and is very active
(about 1500-2000 members generating 50-100 messages a day!). It was started
a few years ago by Jory Bell. To subscribe you send a message to listserv@mitvma.mit.edu
with a body that says SUBSCRIBE PICLIST Your Name (to leave the PICLIST
send a message saying SIGNOFF PICLIST). Alan Nickerson maintains the PICLIST
archives. Another way to get old PICLIST traffic is by sending the list
server a "GET PICLIST LOGyymm" command (where yy and mm are year and month
respectively) - expect a very large file! Jeff Keyser keeps an alternative
searchable
PIC mailing list archive. Myke Predko has put together some info on
PICLIST
netiquette and Tjaart van der Walt tells you How
to unsubscribe. A word to the wise: if you have a question about PICs
don't ask me send your question to the PICLIST; you have a lot more chance
of getting a useful answer! I recently deleted a lot of PICLIST mail I
had accumulated but before I did I scanned it for links.
in the hope that they might prove useful.
I guess everyone has at least few links on their pages but here's a
few sites with more comprehensive lists. Industry watcher EG3
Communications has trawled the net for PIC
resources and identify Alexey
Vladimirov's (ORMIX) page as probably the best for the enthusiast so
be sure to have a look. See also the Universal
PIC Resource Locator which is an annotated PIC links page put together
by Alessandro Zummo and Eric
Schlaepfer's links. Jonathan
Cline's list is constructed by extracting URLs from postings to the
PICLIST and other PIC links pages. Other useful lists are provided by Wolfgang
Kynast and DonTronics.
Links2go have chosen this page and several others as key
PIC resources. Another way of finding links is by traversing the PICmicro
webring.
The PICLIST is without a doubt the most active forum for discussing PICs. A subject that is often discussed is whether the list should be replaced by a newsgroup but the answer has always been no. In any case there are a few groups that already include posts about PIC related matters. The most relevant are comp.arch.embedded and the sci.electronics hierarchy (sci.electronics.design and sci.electronics.components are the main ones) but comp.robotics.misc is also popular with PIC people. Although they don't have much PIC specific traffic, comp.realtime and comp.arch.arithmetic are also worth a look. The group alt.microcontrollers.8bit looks like a good place for PIC discussions but seems to be neglected at the moment.
Mark E'silva hosts the PIC
Users Chat Site.
A Source of inexpensive PIC programmers. Newfound show how a
low-cost single PIC interface can permit simple DIY parallel port programmers
to be used directly from MPLAB. Bob Blick has built his programmer
around one.
Like it or not, PICs play a big part in the pay-TV hacking world. The
idea is to emulate the smartcard needed by a pay-TV decoder (decrypter)
using a card based on the PIC16C84. This is either illegal or at best in
a grey area of the law depending on where you live (see Robin Marshall's
personal opinion of pay-TV
hacking and the law). I'm afraid I know very little about pay-TV hacking
but I often get asked about it simply because my programmer could be used
to program a PIC-based card. If you want to know more then Defiant's
pages (and the associated FTP
site) seem to be the primary source of information. Look for PIC information
in the picprog
and the d2macpic
directories. You can also try CLaNZeR,
Tonto,
Scansat
(complete with a "newbie"
page) and the Multimac
site.
Paul Maxwell-King has
lots of information including details of a programmer
you can buy. Pay-TV hackers often get into a tizzy about hex formats (they
always have the wrong one) and Peter
Jonasson provides a converter as does Scansat.
(I wrote my own hex utilities for fun). Thankfully,
most hackers build the Henk
Schaer programmer (beware an error in the 7407 pinouts) but there is
some hacker-oriented software to drive mine in the form of Bengt
Lindgren's PIX and a program from Willem
Kloosterhuis. There are some commercial programmers or anonymously
contributed programming files which are based on my programmer description.
This means I often get requests for "support" but it would be better if
all questions about this subject were aimed at the hackers who inhabit
alt.satellite.tv.crypt.
Commercial programmers specially aimed at the pay-TV hacking audience are
getting more sophisticated (which is just as well as many hackers have
difficulty putting together simple PIC programmers it seems). For example,
I was interested to see the Keymaster
programmer, which looks like a nice product at a keen price. Low cost programmers
are available via Nigel's pages.
The popularity of the PIC16C84 in smartcards (or at least in pirate smartcards) means hackers have put a tremendous amount of work into trying to defeat its code protection mechanism. One attack on code protection security was discussed on the PICLIST and some other information on cracking PICs is available from Dejan Kaljevic. Well known pay-TV hacker Markus Kuhn has recently co-authored a paper on hardware security attacks that mentions this and much more. Several companies advertise specialised programmers (often called "PIC Busters") and following the links provided by the pay-TV sites mentioned above will eventually lead you to one. For example, Justin Farrell sells a self-contained device for copying protected 16C84s and offers a service to "bust" other PICs including the 16F84 which was supposed to be more secure than the 16C84. The non-EEPROM PICS were thought to be immune to attacks short of probing the die (too expensive and difficult for anyone but the most rich and determined). However, some companies claim they can crack code protection and advertise this service in Nuts & Volts Magazine. There was considerable interest in popping 16C54s in particular, mostly due to people wanting to pirate the Sony Playstation hack though now there is DIY info available for several PICs including the 8 pin versions. (See also Paul Maxwell-King's extensive Playstation pages.)
Microchip have introduced some security measures in newer PICs that
can hit the unsuspecting hobbyist in the wallet. If any of these
PICs is protected it cannot be reprogrammed because once code-protection
is enabled it is permanent even if the chip is UV erasable; quite a blow
as windowed PICs are quite expensive in one-offs (some people claim it
is
possible to recover such PICs by prolonged - several hours - exposure to
UV).
The PIC is a great processor for ham radio applications. A really novel
application is Mark Sullivan's PIC-based
beacon - the PIC itself is used as the transmitter. The (unfortunately
no longer available) Perth
Radio Experimenters Group prefer the PIC for their projects (a PIC-based
frequency counter and 50MHz synthesizer). Jeff Otterson's 16C84 based talking
repeater controller. PicCon
- a hidden radio transmitter controller by Byon Garrabrant. G0BZF
kits (morse tutor, keyers and beacon controller). Embedded
Research claim to have the World's smallest iambic keyer (based on
an 8-pin PIC). The PIC is popular with packet radio enthusiasts as controllers
for radio modems (TNCs). The Bavarian Packet
Radio Group page (or mirror)
describes a 9600 bps FSK modem incorporating a 16C84. GMSK
Data Products use PICs in their high-speed TNCs. The G-QRP
club have featured several PIC-based projects in their magazine SPRAT.
In the Winter 1996 edition they claimed a UK first by publishing a 16C74
controlled DDS design by Mick Hodges (Mick was the author of several of
the PIC projects and apart from the DDS controller he designed a frequency
counter and iambic keyer; Mick now supplies the source
code). The April 1997 edition of the RSGB
journal RadCom
has an article by Andy Talbot and Lee Wiltshire describing a 16C71 based
serial port ADC for a PC - connect a radio and try some DSP! (Andy and
Lee have generously supplied full details including
several DSP-oriented programs for the PC complete with source code). The
January 1998 issue of QST described Bob Anding's PIC-based morse IDer (the
source
code is available). Amateur TV (ATV) enthusiasts (and others) might
be interested in Alain Fort's single PIC video generator.
The British Amateur Television Club
have featured a few PIC projects in their CQ-TV magazine. Some really
polished projects for ATV are described by S51KQ.
Make sure you have a look a Charlos
Potma's page as he has a couple of interesting things based on the
16F84 (50MHz microwattmeter and a frequency display) and promises more.
If you are struggling with learning morse code check out the Morse
tutor from Brian Jones. Even better, Lawrence
Foltzer's article in Ham Radio Online explains how a PIC can read morse
for you. K1EL sells iambic keyer
chips (programmed 12C5XXs) and provides info on how to "roll your own".
TAPR
have some projects based on the PIC (currently you can hear RealAudio presentaions
by TAPR members). Jacques,
VE2EMM describes a "Fox" controller and doppler unit. New Jersey QRP
club host the "Ham-PIC"
page.
Undoubtedly most people program PICs in assembly language (there are
two main variants: Microchip's own and an 8051-like language from Parallax).
For higher level programming BASIC, C and Forth compilers are available.
I could be wrong but I think the only true BASIC compilers are PicBasic
from microEngineering Labs and PIC
BASIC from FED (other BASICs exist but they do not generate native
PIC code). For those who prefer C there is a lot of choice. MPC from Byte
Craft and Microchip's MPLAB-C apparently started out the same but are
now quite different from each other. PCM
from CCS is a relatively inexpensive compiler for PIC16CXX microcontrollers
and seems quite popular. Don McKenzie resells the CCS compiler but he offers
an impartial user review
of four popular C compilers. A PCM specific review
is provided by Hahntronix.
Randy Rasa has more information about PIC
C compilers including a review of MPC. The CC5X
compiler, despite it's name, is suitable for both baseline and midrange
PICs. Hi-Tech have a working demo
of their PIC ANSI C compiler available for evaluation purposes and this
is the only compiler I've tried much - I liked it. The stack-oriented language
Forth
seems an unlikely candidate for programming the stack starved mid-range
PICs but Michael Josefsson has managed to produce a Forth
compiler for the PIC16C84. A commercial Forth compiler is available
from RAM
Technology Systems. Some experimenters have
devised their own high-level languages and offer compilers for them.
Respected technical author Don Lancaster seems pretty enthusiastic about
the PIC as you can see for yourself by reading his PIC
related articles. It's probably worth your while sifting through Don's
haphazard list of PIC Web sites
as there is bound to be many that I don't have on this page.
PIC development tools, PIC BASIC, and details of Robin Abbott's PIC
programmer (published in the now defunct ETI in 1995) are here.
Nowadays virtually every magazine for the electronics hobbyist features
PIC based projects from time to time. Some magazines have WWW sites. The
UK magazine Everyday Practical
Electronics (EPE) has featured the PIC in several projects recently,
for example a simple 16C84 programmer, a mains power meter and a novel
digital clock (a row of LEDs on the end of a pendulum produces the display).
The source code for EPE's PIC projects is available by FTP
and via Thomas Stratford's WWW
mirror. For three issues starting in March 1998 EPE is including a
supplement with a PIC tutorial. EPE is now available in an online
edition. (at the time of writing you can donload a free copy which
includes a PIC project). Elektor
Electronics have featured some very interesting PIC projects including
the obligatory PIC programmer and a transistor tester based on a 16C71.
(Elektor is a trans-European magazine and you might find more their German
WWW site worth a look.) I'm less familiar with non-UK magazines but
I'm told that PIC articles have appeared in Electronics
Now and Popular
Electronics. Steve Ciarcia's Circuit
Cellar Ink often features PIC based projects and makes support
material available; this includes a file to accompany Ken Pergola's Micro-bRISC
PIC programmer described in the January 1996 issue. Nuts
& Volts carries Scott Edward's BASIC
Stamp applications column (if you have never seen Nuts & Volts
try a sample copy).
Another magazine with a WWW presence is the Canadian Micro
Control Journal. One of my favourites for on-line browsing is EDN;
you'll need to register to look at back issues but registration is free.
PICs are sometimes featured in the "Design Ideas" pages. Spread spectrum
enthusiasts have their own online magazine
and some PIC stuff.
Several projects at MIT's media lab use PICs particularly the PIC16C84.
For example: R. Dunbar
Poor's "personal" interface board called the iRX
2.0; and the Cricket
project (tiny communicating robots) from Fred
Martin. Elsewhere at MIT Randy
Sargent has developed a PIC
simulator/assembler for UNIX.
This is a list of a few PIC experimenters I have come across while "surfing" or reading the PICLIST - most have useful information or files to share.
A PIC macro-assembler called ASPIC. How to control LCD modules including a PIC example. (I wrote a C program to test a Hitachi LCD module by hanging it off a PC parallel port but see Randy Rasa's LCD project page for a more comprehensive version.) Although Dave Negro doesn't specifically mention PICs, his page is a good place to start looking for IR remote control information. Mark Sullivan provides an automatic PIC code generator for infix expressions. A very nice looking programmer powered by a PC parallel port. There are FTP sites devoted to the PIC in Finland - ftp.funet.fi (look in burners and pictools for some PIC development tools for Linux) - plus a couple in Sweden - ftp.sics.se and ftp.luth.se (where you can grab a PD C compiler for the PIC16C84 and PIC projects for R/C models by Ken Hewitt and Phillipe Techer). A PIC-based servo controller from Rick Farmer. A PIC16C54 metronome in C. Tom Coonan's synthetic PIC - a VHDL model of a PIC. A Stamp based rocket altimeter. PIC information mostly culled from Usenet. PIC programs to accompany Maxim Application Notes on an inclinometer and battery charger.
Comments, suggestions and queries to david.tait (E-mail Suppressed)
Copyright © 1996-2000 David Tait.
Page Sponsored by
DonTronics Links:
| Home | Products | Prices | Directory | Order | Contact | New | Books | Files | Links | FAQ |