On Sat, Jun 23, 2001 at 09:39:57AM -0700, Wade Carpenter wrote: > Any reccomendations from anyone using this device? > I am having trouble finding information on ICSP, It's easy to find. Download it here: http://www.microchip.com/10/lit/suppdoc/specs/39025e/index.htm > so I am trying to build a parallel port programmer. > Has anyone done this with success? For the most part you can program it with 16F84 programming hardware. Same hardware interface, same programming interface, and compatible programming sequences. The 16F87X sequence can be optimized, but programming with the 16F84 sequence works just fine. Also you can drop the High Voltage Programming circuit and use Low Voltage Programming (LVP). At that point it's little more than a cable. I described it in a post over a year ago here: http://www.infosite.com/%7Ejkeyzer/piclist/2000/Mar/2126.html The login and password are both the name of this mailing list (in lowercase). I finally got around to building one of these cables. It didn't work. I figured out that modern motherboard parallel ports only output 3.3V for a high voltage. It's fine for TTL, which only requires 2.0V for a high signal. However PICs are CMOS devices and are only happy with high voltages above 4V (presuming a 5V supply, which BTW you need for LVP). So what I did was add a TTL to CMOS converter between the parallel port and the PIC. I chose a 74HCT573 octal latch because I had one handy. But any HCT part that will buffer will work just as well (like a HCT541, HCT241, HCT373, or even an HCT04 if you can change the polarity of the signals in your programming software). Worked like a champ. One chip, one resistor, and 5V power. Can't ask for much less than that. Now software wise I'm not sure what's the best on the DOS/Windows side. Since I'm a Linux guy I use picprg2.3a originally written by Brian Lane. My students and I updated the software with the new erase/initialize sequence and changed the port code so that it works properly with Linux 2.2 and 2.4 kernels. Now the last issue is long term development programming. I happen to swear by wloader written by Wouter van Ooijen. It's a bootloader that you program into the 16F87X part. That loader will then download programs via a serial interface. I love it because it cost only one I/O pin, which you can pick (the default binary uses E2, so you'd have to pick another for the 16F876 part), requires a 4 resistor, 1 diode, progamming dongle (with one added transistor, 2 resistors, and diode for the automatic reset circuit), and can be programmed from any serial port in circuit. It's a little pricy on memory (1K nominal), but I wouldn't use anything else. For my Linux box I use gpasm and gpsim (I need to upgrade to 0.9.7, right Scott?) , linwload by Wojtek Zabolotny, and wloader. For development, just hook up the dongle, program and test, and when I'm finished just disconnect the dongle for a working product. As a bonus the wloader serial port can be used as a debugging port. Just some thoughts. Hope they help. BAJ -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.