This programmer requires only a basic terminal program capable of uploading an ascii PIC HEX file. It does not matter what operating system or computer (MAC, Win98, XP, Vista, DOS, Linux, etc.) is used to talk to it. All of the software necessary for programming is in the unit's own PIC (16F628) which incorporates a set of programming algorithms for several PIC versions along with some I2C eeproms. This unit is designed to do In Circuit Serial Programming (ISP). It can either source power or borrow power from the target device. In either case, it generates its own 12 volt programming voltage from the 5 volt source.
Here are the commands that are presently available. They will be discussed below. Some commands used in developing it have been left in for experimental purposes.
An Select programming algorithm 'n'
L Begin program load of HEX file.
Unn Unload 'nn' bytes from PIC in standard HEX format.
D Hex data dump until any key hit. Abort on ESC.
P Manual enable program power
R Manual Run program
Manual Stop program
/ End of line delay in millisconds
- Delay between characters sent in milliseconds
F Fast mode - no extra delay powering up target.
Q Core dump of PIC internal RAM (used to debug programmer itself)
? Show version and current algorithm (show SignOn message)
.nn Send hex value as PIC (6-bit) command byte (used for debug)
,nnnn Send hex value as 2 PIC (8-bit) data bytes. (used for debug)
;nn Wait nn milliseconds (used for debug)
= Read PIC hex program data (used for debug)
[ Create I2C Start condition
] Create I2C Stop condition
Connection to the computer serial port is made via RJ11 (phone) connector and a DB-9 to RJ11 adapter. Unlike a lot of 'serial' programmers, this design actually uses serial data to communicate to the PC. This makes it usable even at very long distances. Connection to the target device is via a 5-pin connector (lower left corner) and an assortment of adapters.