| You are here: Home ¬ Electronics ¬ Circuits ¬ Pc circuits ¬ Pic programmer |
Pic programmer |
Let’s start with the hardware:
In this link you can see the original design made by Jose Manuel Garcia about a cheap PICs programmer. At his website you can find additional information.
Here we’ve made an electric scheme design and the printed circuit board with the design program “Eagle”, you can download and adapt them according to your taste.
With this circuit you can program pics made of 8, 14,18,28 and 40 pins. You can also program Eeproms type 24C and 24LC..
In the second revision, the programmer’s features have been amplified, by expanding the microcontrollers’ models to program.
The relation quality-price is incredible, since we can program a great quantity of microcontrollers’ models with little money.
The programmer is connected to the Pc’s series port, later on we’ll see the exact model which we’ll select in the software to program the microcontrollers with our circuit.
In the following table we can see the microcontrollers’ models which we can program. In all PICs models, the programmer functions with the different versions of each model (-P, -A, -B, -JW), as well with the low consumption versions (16LF and 18LF).
These models, being redundant, aren’t included in the table.
Microcontroller |
Position |
PIC12F629, PIC12F675 |
8 Pines |
PIC16F630, PIC16F676 |
14 Pines |
PIC16C620, PIC16C621, PIC16C622, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16F83, PIC16F84, PIC16F87, PIC16F88, PIC16F627, PIC16F628, PIC16F648, PIC16F818, PIC16F819, PIC18F1220, PIC18F1320 |
18 Pines |
PIC16C62, PIC16C63, PIC16C66, PIC16C72, PIC16C73, PIC16C642, PIC16C76, PIC16C642, PIC16C745, PIC16C773, PIC18C242, PIC18C252, PIC16F72, PIC16F73, PIC16F76, PIC16F737, PIC16F767, PIC16F870, PIC16F872, PIC16F873, PIC16F876, PIC18F2220, PIC18F2320, PIC18F2331, PIC18F2431, PIC18F242, PIC16F248, PIC18F252, PIC18F258 |
28 Pines |
PIC16C65, PIC16C67, PIC16C74, PIC16C77, PIC16C662, PIC16C765, PIC18C442, PIC18C452, PIC16F74, PIC16F77, PIC16F747, PIC16F777, PIC16F871, PIC16F874, PIC16F877, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F4220, PIC18F4320, PIC18F4331, PIC18F4431 |
40 Pines |
| 24C01, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, 24C128, 24C256, 24C512, 24LC01, 24LC02, 24LC04, 24LC08, 24LC16, 24LC32, 24LC64, 24LC128, 24LC256, 24LC512 | Eeprom 8 pines |
The electric scheme is quite simple.
![]() |
If you are going to use this programmer frequently, it’s going to be useful to place a ZIF socket (socket from outside of zero insertion) in the sockets destined to the PIC’s collocation, this way we can place the microcontroller without effort and the programmer connections and PIC’s pins won’t suffer at all.
![]() |
ZIF socket, socket from outside of zero insertion |
The design of the printed circuit board. In the upper part there is a port connection RS-232, to connect it to PC.
![]() |
The scheme and the circuit board should be in the same folder and they should have the same name, you should only change the extension to .sch for the scheme and to .brd for the circuit board, this way both of them will be recognized and associated by Eagle.
A photo of our Pic programmer.
![]() |
![]() |
![]() |
Pic programmer |
Pics programmer assembled with 40 pins ZIF |
Pics programmer assembled with 28 pins ZIF |
In the following table we can see different positions where we can place the PIC depending on the number of pins.
![]() |
![]() |
![]() |
|---|---|---|
![]() |
![]() |
![]() |
Now we’ll start describing the necessary software for the microcontrollers’ programming.
After trying out various programmes of microcontrollers’ saving, the most convincing one was “WinPic800”. It’s free software, quite simple to manage, it supports many programmers, it’s translated to many languages and, what’s best of all, never fails.
We download it on this web page and we choose "download".
We double click on the .exe file, we choose the language and we click on “Next”.
![]() |
It tells us where the program will be installed, if want to change it we can do it, (we are going to leave just where it is), and then we click on “Start”.
![]() |
If the programme has been installed correctly, the following screen will appear, we’ll click on “OK”.
![]() |
The next window asks us if we wish a direct access copied in the desktop, if we do wish to do it we click on “OK”, if not, we unmark the box first and then click on “OK”.
![]() |
Then the program installs the drivers and we click on “Next”.
![]() |
The installation is complete and then we see marked icons’ boxes of the upper left part.
![]() |
We click on “OK” and the installation finishes.
If we check the device administrator on our PC we’ll see that the two new ones have been installed, Hardware WinPic800 (Ports IO Service) and Jungo (WinDriver).
![]() |
Now we open the programme and first we choose adequate hardware, we go to the “Configuration, hardware”.
![]() |
We choose JDM Programmer, which is hardware we have to select so that we can program microcontrollers with our circuit; we click on “Apply changes”.
![]() |
Let’s check if the communication of our circuit with software is correct, to do this we’ll go to “Device, Hardware test”.
![]() |
If everything is OK, we’ll see this: “Opening COM1, Hardware OK.” Click in “OK”.
![]() |
Now we open a programme in .hex, for example, the calendar clock with the alarm and thermometer and we check if the microcontroller can be programmed.
Before we open .hex we should select the Pic, we go to the Pic selection windows in the upper right part and in the first one we click 16F, in the second one, a 16F model (16F873A).
![]() |
![]() |
Now we load .hex programme, to do so we click on “Open Folder”.
![]() |
We choose the .hex code, in this case we choose “clock_calendar_alarm_thermometer.hex” and the code is opened in the programme’s main window. Once we place the Pic in its correspondent place in the programmer’s base, we click on “program all”
.
In the next window we’ll see a red line, an indicator of the programming process. If everything goes well, in the end of the programming, the red line will turn to green, which indicates that the programming was performed correctly. Click on “Accept”, we pull out the programmer’s pic and... Ready to work!
![]() |
The program has many configuration options but we won’t explain the details at the moment.
If you don´t know how to make printed circuit boards click here.


























