The files in this archive are related to my PIC16C5X/XX programmer 
design.  Please see http://www.man.ac.uk/~mbhstdj/upp.html for
background information.  Although the design can be used with lots
of different PICs (more or less all except the high-end 17CXX devices),
the ONLY software supplied is for the baseline PICs like the 16C54
(found in http://www.man.ac.uk/~mbhstdj/pic5xv02.zip).

The most common questions I get asked about this project are answered
in this mini-FAQ:


Q1. Has anybody got it to work (apart from you)?

A1. Yes.  See the files POLLACK.TXT and TEUWEN.TXT for correspondence
    from a couple of people who have built the hardware.  I also saw
    a posting in comp.robotics.misc recently from someone who mentioned 
    that they couldn't get the programmer to work with some PCs (it
    did work with others).  The problem seems to have been a missing 
    parallel port signal on certain PCs they tried. 
    

Q2. Do you have a PCB layout?

A2. Philippe Teuwen and Jean-Christophe Nicaise have made a stab at 
    producing a single sided PCB (see TEUWEN.TXT).  Their files are 
    included in this archive: 
    
          UPPNEW.GIF   Schematic showing Philippe's modifications
          BOT.GIF      Copper side of the PCB (mirror image)
          TOP.GIF      Component side of PCB showing wire links required
          COMPOS.GIF   Component positions

    The PCB layout could be cleaned up a bit with a pixel editor (for
    example by converting to *.PCX and using the pixel editing capability
    of Window's Paintbrush).  Please note I haven't tried making the PCB 
    myself.
    (*** Note, the comments in JAEGER.TXT have now been acted upon ***)

    Pekka Ritamaki (RITAMAKI.TXT) has made some changes to the original version
    of the board and generally cleaned it up.  Pekka's version is available in
    several formats:

          PDF          http://www.man.ac.uk/~mbhstdj/files/uppboard.pdf
          PostScript   http://www.sci.fi/~pri/dtaitps.zip
          Protel       http://www.sci.fi/~pri/dtaitpcb.zip

    Please send any questions about the PCB layouts to either Philippe
    or Pekka (though if there any serious errors please let me know too).         


Q3. The VN10KMs are hard to find - what can I use instead? 

A3. General purpose NPN transistors (like the BC550) with base resistors
    (see Philippe's alternative schematic in UPPNEW.GIF).


Q4. Why use an exotic diode like the BAR28 for D3?

A4. This diode should have low forward voltage compared to the typical 
    Vbe of a silicon transistor (approx 0.7V).  The BAR28 is a low cost 
    Schottky diode which fits the bill and is easily obtainable (at least
    in the UK as it is stocked by Maplin).  In practice a common or garden
    silicon diode like the 1N4148 may work (see TEUWEN.TXT for Phillipe's
    view on this subject).
    

Q5. What's PL3 (ISP connector) used for?

A5. When used as a 16C5X programmer: nothing.  It is meant for in-circuit
    serial programming of mid-range PICs (or simply connecting the relevant 
    signals to an off-board ZIF socket so that mid-range PICs can be 
    programmed).  The 16C5X chips don't support ISP.
    

Q6. Are you going to release software for more PICs?

A6. Unlikely.  I might release stuff for the EEPROM PICs I suppose
    (it's pretty straightforward to adapt my PP programmer software
    if you want to do it yourself).  You should think of this design as 
    a 16C5X only programmer.  If you are starting out with PICs you'll 
    probably never want to use the baseline PICs and there are plenty of 
    other designs for mid-range PICs around which are somewhat less 
    complicated than this programmer.  However, if you are looking for 
    a DIY 16C5X programmer then you may need it bad enough to try your 
    hand at building my hardware (I think it's the only freely available 
    design that can be built without pre-programmed parts).


Q7. Do you have the schematic in ORCAD/TANGO/Protel format?

A7. I drew the schematic with the demo version of Circad (see
    http://www.holophase.com).  The demo version has all export
    filters disabled so the only format I can supply is for
    Circad - this is in http://www.man.ac.uk/~mbhstdj/files/upp.txt
    (note, this is my version using VN10KMs and not the one shown in
    UPPNEW.GIF).


Q8. I have some questions about component values:
        (a) What do 4k7, 3k3 and 1k2 represent?
        (b) Resistor R6 is labelled 12R - is this a typo for 12k?
        (c) Does 47u mean 47 microfarads and 100n mean 100 nanofarads?
        (d) What value should VIN have and should it be AC or DC?

A8. Here are some answers:
        (a) In Europe it's a convention to replace the decimal point with
            the multiplier or unit.  So 4k7 means 4.7k, 3k3 means 3.3k and
            so on.
        (b) The resistor marked 12R has value 12 ohms (not 12k).
        (c) Yes.
        (d) VIN should be DC.  It should be greater than about 17V but less
            than 20V or so.  I obtain VIN from an unregulated 500mA wall
            adapater on its "12V" setting.


Q9. Can I substitute the HC parts with HCT or LS parts.

A9. I really don't advise it.  I have only tried HC parts (see also POLLACK.TXT).


Q10. Your design is way too complicated.  Are there any other DIY designs
     that can program the baseline PICs?

A10. As mentioned in A6 all the other designs I know about need pre-programmed
     parts.  This makes things much simpler but you must purchase the
     firmware before you can build a programmer.  If this doesn't put you
     off then have a look at Bojan Dobaj's comprehensive PICALL design:
     http://www.geocities.com/SiliconValley/Peaks/9620/


Q11. I've heard that Microchip have revised their programming specs for the
     baseline PICs.  Are you using the new specs?

A11. The software in pic5xv02.zip is based on the old specs I'm afraid.  To
     use the new specs you'll need to grab DS30190H (or later) from Microchip's
     Web site (www.microchip.com) and update the numeric constants found in
     the function program() from pp5x.c (I'm sorry but I "hardwired" these)
     to whatever Microchip deem "flavour of the month".


Q12. After programming a PIC with your WALK5X.HEX file I find that it verifies
     OK but when I dump the PIC the file produced has an extra line - what
     gives?

A12. The program dumps the four ID words.  I meant to suppress this info
     if all the words were at their default values (0xFFF).


David Tait (created 30/Mar/1998, updated 19/Mar/1999)
--
david.tait@man.ac.uk
http://www.man.ac.uk/~mbhstdj