Home

News

Design Info

Code

Links

Hardware and software PIC programmers

To program a PIC microcontroller (assuming you have an assembled .hex file), you'll need two things: a hardware programmer and a software programmer. A hardware programmer is the circuit that interfaces between the PIC and your PC's serial or parallel port. The software programmer is the program that takes the .hex file and controls the hardware programmer in such a way as to transfer the program to the PIC chip. There are several free software programmers available on the Internet, some more capable than others. As for the hardware programmer, you will either have to buy one or build one. As with the software, there are numerous free designs available for hardware programmers, but many have limitations on which PIC chips or other ICs they can program.

In the past I've only worked with 16F84 chips, which are a bit simpler and smaller and there are about 5 times as many websites dealing with the 16F84/16C84 as there are dealing with other PIC chips. The first hardware programmer I built was a JDM stype circuit. It's relatively simple, but made basically just for the 16F84. A year or two ago I made another hardware programmer based on a circuit I found online. It's similar to the JDM in design, but supports more PICs including the 16F87x chips. For the OBDII project, I decided I might need a 40-pin PIC and didn't know at first if my other programmer would work with 16F7x chips, so I bought the P16Pro hardware programmer kit. The sellers of this kit always push people to use the software programmer PICALL. Unfortunately, while it's a nice piece of software, it also costs $25 to register and I've found IC-PROG works as well or better for my needs and is free. I could've built the P16Pro (or a similar design) from scratch, but $15 is pretty cheap for the PCB & kit and a nice working programmer.


Hardware programmers

Carl's Electronics - This is where I got the P16Pro kit fo $14.95. It's a pretty nice kit, you just need to solder everything together. Also you'll need an external 17-30VDC or 13-20VAC power supply and 25-pin parallel cable. I also bought an Aries 40-pin ZIF socket (there are holes for it in the PCB) to make insertion and extraction of the ICs easier. Carl's item number for this is CK1702. See picture below.

Nice list of programmers from www.piclist.org


Software programmers

IC-PROG - This is free (and in my opinion the best) software around for programming PIC microcontrollers and other ICs. Not only does it support a huge number of PICs/ICs, but it also supports many different variants of hardware programmers, including the P16Pro (which it calls Kit96 or ProPic 2 because that's what the P16Pro is sold as from some other retailers).

Here's a picture of the three PIC programmers I have.


Schematic/PCB Layout Software

Cadsoft Eagle Light freeware layout editor - This is a nice free schematic/layout editor and can do anything their professional version can do with certain limitations:
  • The useable board area is limited to 100 x 80 mm (4 x 3.2 inches).
  • Only two signal layers can be used (Top and Bottom).
  • The schematic editor can only create one sheet.

    I plan to create a PCB for this project and will make it available when complete.
    PCB: Printed Circuit Board Editor - This is a free open source PCB layout program. It does not have the restrictions that Eagle does, but it also cannot run in Windows. It is for Linux/*NIX. I have not tried it yet, but it looks very promising!