We’re currently experiencing some technical difficulties that may result in some difficulty placing orders. Please direct order questions or issues to firstname.lastname@example.org for us to work with you on resolving. We’ll respond to emails as quickly as we can in the order they were received. We are working on getting everything fixed as quickly as we can. Thank you for your patience.
You've got your programmer. You've got your PIC. It's time to get burning.
This tutorial will cover the software setup and various chip locations using the PG3B programmer. Getting your programmer to work for the first time can be frustrating and time consuming. We wrote this tutorial to try to expedite things. And, look at the bright side - Once you get your setup correct, you should be able to program without every having to mess with it again!
Warning: Never insert or remove a PIC from the PG3B while the programmer is in program mode. Do not send print jobs to the parallel port while you've got the PG3B attached to the parallel port. Fried PICs and fried programmers will result!
The PG3B Parallel programmer. First the basics -
Cable : You will need a 25 Pin conductor parallel cable - Male to Female. This is remotely like a printer cable, but with a 25 Pin connector in place of the Printer Port connector. Make sure you get a cable with all 25 pins connected.
Power : The board must be powered with 15V-18V DC power supply. The current is not that important. >100mA should do. The main thing is the voltage. If your power supply is just barely 15V, under load, it will more likely be 13-14V. This is very bad.
For PICs to program, the MCLR (reset pin) must be raised to about 13V. If you do not reach this level - say 10.5-11.5V, programming will be very hit-or-miss. If you get a 16F628 that came from a nice clean part of the big wafer, it will go into program mode just fine at 10V. If you get a normal chip like the rest of us, you will want to make sure you get that MCLR pin to 12-13V to make sure the PIC goes into program mode.
Software : Use WinPicProg! It will program the most popular PICs. It has a decent support forum. And it's free! Download the zip file and open it. There is only one file (the way all programs should be) - WinPicProg.exe. Store this file somewhere handy like the desktop - you will be using it quite a bit!
Windows NT and XP users! : If you are running under Windows XP or NT you will need to download the 'port95nt.exe' from the WinPicProg website. XP and NT do screwy things with the serial and parallel IO that older Windows versions did not. Port95NT takes care of all this for you! Run port95nt and allow the install to do its thing.
The Basic WinPicProg Window
So you've got the software installed. Now you've got to get it talking to the PG3B. To setup WinPicProg - under the 'Options' menu select 'Hardware'.
Hardware: Select PIC16PRO40-7406
From here select the P16PRO40-7406 programmer. This will setup the correct pin connections. Don't worry about setting anything else, just click on the 'X' and close the window. WinPicProg should now have the hardware setup correctly.
The Basic WinPicProg Window
Now open some HEX file to test with. Make sure it's small - you don't really need to fill up the PIC just yet, do you? The HEX file should have the fuses encoded - WinPicProg will recognize these and select the fuses and oscillator settings for you. You must select the processor by hand. Incorrect processor selection can fry chips! Programming 16F873 is very different from 16F873A!
If you are using the 16F628, you are welcome to download our Blink program. The blink.hex file, when correctly loaded, will turn Pin 9 of the 16F628, high and low every half second. This is very easy to test for if you have a multimeter handy. If you have the PIC-P18 evaluation board, the status LED will blink on and off (assuming jumper J1 is shorted with a jumper).
PIC Locations -
The locations for all the different pin PICs are indicated on the board.
16F628 in the 18Pin PIC Position
You must look very closely but multiple Pin 1 indicators are located in between the 2nd and 3rd sockets. The Pin one indicator for the 28 and 40 pin PICs is the white line between the two sockets at the top of the picture. Pin 1 for the 14 and 8 pin PIC devices is the second line down (seen in the picture). The 18 pin Pin 1 indicator line is the third down (currently covered by the 16F628). You can see the pin 1 'dimple' on the PIC matches to the indicator in between the sockets. For slim PICs - 16F873, F84, F682, etc. the PIC must straddle sockets 2 and 3 as shown in the picture. For larger PICs - 16F877, the PIC must straddle the outer sockets 1 and 4.
Get your PIC located correctly in the socket. Now go back to the WinPicProg software and hit 'Write PIC'.
What to do if the Write Pic button is not enabled (grayed out): Make sure you do not have any other programs that may be controlled the parallel port. Close all other programs, then close and reopen WinPicProg. Under 'Options' select 'Find Port'. This should re-open the parallel port and active the Write button.
The PG3B will flash the programming LEDs and the PIC should be successfully verified!
Now that you've got the socket working, start using the ICSP cable. Take a look at another one of our tutorials titled 'Hook in the Magic' for more information.
What to do if you've read through this tutorial twice and you are still having problems.
Checkout the support forum at WinPicProg. Don't worry, someone has had the same problem!
Email us! We can help!