EasyProg PIC Programmer Kit Assembly Hints

Last Updated 20 November 2005

This page provides some guidance if you are building an EasyProg from an official kit or from parts collected on your own.  It is assumed you are building up an official bare board.  If you're trying to build one completely from scratch then you're really on your own, although some of the comments below might still be useful. 

Extra capacitor in the kit

Some kits contain a 1uF 50V electrolytic capacitor.  No such capacitor is called for in the bill of materials.  If you have one of these left over after you think everything is installed, you're right, there is no place to put it.  Consider it a bonus freebie. 

Bend resistor leads tightly

The board uses .3 inch spacing between leads of the 1/4 watt resistors and other parts.  This spacing is tighter than used for the same parts on some other boards.  To get the leads to fit easily into the holes, bend the leads down by hand right at the resistor body. 

Finding parts on the board and schematic

Most parts are well marked on the board, but in a few cases the part designator is accidentally overlapping a via making the designator hard to read.  Two files are provided for finding parts easily. 

We recommend you print out the board drawing and use that to find parts visually instead of the board.  This will be bigger, writing won't be covered up as parts are installed, and some of the part designators were moved away from vias. 

In addition, the parts locator index is useful for deliberatly finding parts.  This file gives the schematic location and board location for each part.  The board coordinates are in inches, which is the same units the board drawing is marked with.  The schematic location is shown as a page number, and a coordinate that is always a letter and a single digit.  This coordinate refers to the letters and digits in the frame around each schematic sheet.  Take a look at the schematic and this should be obvious. 

Assembly and test order

We recommend the sequence below for building and testing an EasyProg kit.  This sequence is designed to minimize damage if assembly errors are made.  Proceed thru these steps sequentially.  Do not proceed to subsequent steps until the current step is completed and verified as applicable.  Ignoring a fault condition won't make it go away, and can cause permanent damage in subsequent steps. 

The directions here are only general guidelines and hints.  You are expected to be able to read and understand the schematic and diagnose problems on your own.  Nothing on this web page should be considered a substitute for using your own brain.  In the end it's your responsibility alone to get the kit working. 

Voltages are with respect to ground unless explicitly stated otherwise.  The shield of the RS-232 connector is connected to ground, and is probably the easiest place to attach the ground clip of a meter or scope probe. 

Install most parts

Install all the parts except IC1 (LM324 opamp), IC2 (PIC 16F648A), and IC3 (ST232 or equivalent).  Install the socket for IC2 but do not insert IC2 itself. 

Check capacitors

Double check the polarity of the two electrolytic capacitors, C16 and C18.  The positive leads should be towards the front of the board, as indicated by the "+" marks closest to these leads just outside the footprint of the capacitors.  Electrolytic capacitor markings vary, and may only be marked on the minus side, which should be towards the back of the board. 

Check unregulated supply

Power up the unit and check the unregulated supply voltage.  This can be done by measuring the voltage between the cathode (banded end) of D4 or D5 and ground.  D4 and D5 are near the far left corner of the board.  If using the supplied wall wart with US power, this should be about 25V.  Regardless of the power source, this must be from 17 to 30 volts or the unit will not work correctly and can possibly be damaged.  If you don't get the expected voltage, go to page 5 of the schematic and troubleshoot.  As you can see from the schematic, there is very little between the power input and the unregulated supply.  One or more diodes may be installed backwards. 

Check 5V supply

Check the voltage at pin 14 of the socket at IC2.  This should be 5 volts within a few percent.  If not, see schematic page 5.  The 5 volt regulator IC4 may be installed incorrectly. 

Disconnect the input power. 

Install IC1, IC3.

With the power off, install IC1 and IC3. 

Check RS-232 charge pump

Turn on the power and check the voltage on pin 6 of IC3.  This should be around -8 volts, and certainly within the range of -6 to -10 volts.  If so, proceed to the next step.  If not see schematic page 4. 

Pin 2 of IC3 should be about 9 volts.  If so, the positive charge pump is working but not the negative charge pump, which starts with the voltage produced by the positive charge pump at pin 2.  Suspect C13, C14, and pins 4, 5, and 6 of IC3. 

If pin 2 is not around 9V, then the positive charge pump is broken.  Suspect the power connections to IC3, C11, C12, and their connections to IC3. 

Check main controller

Disconnect power.  Plug IC2 into its socket noting the orientation.  Turn on power.  If the LED lights dimly, proceed to the next step. 

If the LED does not light, then the main controller is not working.  Unfortunately a lot of things can cause this.  See page 3 of the schematic.  Verify that pin 5 is at ground and that pin 14 is at 5 volts.  Check that the oscillator is running.  There should be a 20MHz signal on pin 15, although this must be measured with a high impedence like a 10x scope probe.  Normal 1x scope probes can load the line so that the oscillator does not run even when it otherwise would. 

Check RS-232

Connect the supplied serial cable to a standard COM port on the PC.  We will assume you have connected the cable to COM 1.  If not, then add the command line option "-sio x" where "x" is the COM port number to the command lines listed below. 

Go to a command prompt window and enter the command:

  pic_prog
If everything is working, you should get a message indicating that the firmware type is EasyProg and giving the version.  It will also complain that it was unable to read the device ID of the target chip, blah, blah, blah.  This is normal when the EasyProg is not connected to a target circuit and nothing is in the ZIF socket. 

Check programming voltages

If you're feeling lucky, impatient, or think you've done everything right, you can skip this step and get back to it if you have a problem with the next step. 

Enter the command:

  pic_ctrl -vdd 5
and measure the voltage at the Vdd pad at the right edge of the board just in front of the RJ-12 connector.  The LED will start flashing and the voltage should be 5 volts.  Depending on firmware version, this may only last about 5 seconds and the LED will stop flashing and the voltage will go back to 0 volts.  Try a few other values in the range of 0 to 6 to the -VDD command line option.  The voltage should go to the specified value, at least for about 5 seconds. 

Now enter the command:

  pic_ctrl -vpp 13
and measure the voltage on the Vpp pad next to the Vdd pad.  It should be about 13 volts.  Just like Vdd, this may only last 5 seconds.  Only values of 13 and 0 are legal on the -VPP command line option when using an EasyProg. 

Enter

  pic_ctrl -off
to make sure that the programmer is in its normal quiescient state before proceeding to the next step. 

Try PIC in ZIF socket

Put the DIP version of any of the PICs listed as supported on the EasyProg web page in the ZIF socket.  Note that not all PICs are supported in the ZIF socket even though they are supported for in-circuit programming.  Make sure pin 1 of the PIC is inserted in PIN 1 (near left corner) of the ZIF socket.  Run:
  pic_prog
It should identify the PIC and its silicon revision, in addition to the programmer firmware type as "EasyProg" and its version, and the elapsed time for the operation. 

Read the User's guide

The User's Guide explains the normal operation of the EasyProg, the meaning of the LED blink patterns, how to upgrade firmware, and a bunch of other things. 

Read ICSP overview

Before trying to use the the EasyProg to program a PIC in circuit, we recommend you read the ICSP Overview