Thanks for all the replies. Sounds like I'm doing the correct things. I'll try out the suggestions below... 1: Make sure LVP (RB3) is pulled high (Not sure if the PICPRO16 programmer does anything with it but I'll pull it high with a resistor on the programmer side. During runtime it's connected to the clock input of a 74HC595 serial to parallel converter. Now I read that this pin is used for LVP and it's set at factory as default for LVP and must be turned off. Can I still use it for normal runtime execution? Or is this best left pulled high or low and never used? How do you turn it off, if you can do such a thing? 2: Make sure MCLR is not floating, pulled to 13V during programming, and 5V during running. (Currently through a 10K res' and BAS16 signal diode [I think I'm going to try a BAT17 Schottky]) I don't have any capacitor for RC delay. 3: Stick with my 22pF Xtal load capacitors 4: Buy a couple more (parallel) 16MHz crystals. (In case the previous batch was duff) A few other points.... The capacitors do go to the PIC 0V but the crystal and caps are about 4cm away from the chip. I would have expected bad EMI but not so bad as to stop the crystal. When I run with the 10MHz Xtal the PIC seems to work BUT now it fails to reprogram properly. It's as if the PIC starts to run before the programmer has finished. It always locks up saying Harware Fault Check Power etc etc from the PICALL (version 7.0) software during verify. If I remove the Xtal it programs without problem, but of course this is unsatisfactory. I'm thinking now the Xtal oscillations and the MCLR problems I've also posted are strongly related. I'll try pulling the MCLR to 5V with a 10k resistor plus a schottky diode (BAT17 or BAT54) and try all the above. It's quite frustrating because all of my PIC16F84 circuits (however poorly designed and constructed) worked first time. Thanks again Peter Betts -- http://www.piclist.com hint: PICList Posts must start with ONE topic: "[PIC]:","[SX]:","[AVR]:" =uP ONLY! "[EE]:","[OT]:" =Other "[BUY]:","[AD]:" =Ads