ESD damage to MCLR pin of PIC18F26K20?

Find out how to setup your programmer's software and how to solve many common problems.

Moderator: phalanx

Post Reply
Posts: 161
Joined: Sat Dec 27, 2008 8:39 am

ESD damage to MCLR pin of PIC18F26K20?

Post by treez » Thu Jun 15, 2017 1:34 pm

We have some offline, linear regulator based LED drivers which are dimmable with their PIC18F26K20. (we are using ICSP with Pickit3 to program it)
Some of the PCBs work, most don’t, and some work the first time they are powered up but never thereafter. By “non-working”, I mean they light up but don’t respond to DALI dimming commands sent to the PIC18F26K20.
We have had 1000 of the PCBs made and assembled, and then realised that we forgot to add a 10k pullup resistor from the MCLR pin to Vdd. (MCLR reset is disabled, so its an input pin).
We then had an external modification applied to the PCBs which involves wiring a 10k resistor from MCLR pin to Vdd, and a 10n capacitor from MCLR pin to Vss. I undid this modification on one of the few working boards and then found that stopped it working. –But when I re-did this modification the PCB still did not work.
I am assuming that we have violated the dreaded MCLR pin here… The MCLR pin has no ESD protection diodes due to its use in ICSP, and so am I right in saying that the MCLR pin is supersensitive to ESD, and dies very easily?
(To make matters worse our supply capacitor next to the micro is just a 4n7, 0402 capacitor. However, there are two 10u, 0805 ceramic capacitors about 8mm away from the PIC.)
Do you think we are wasting our time trying to modify these boards? Is the MCLR pin so ultra-sensitive to ESD that everywhere from the PCB assembly house to our factory it is going to get its MCLR pin killed because we forgot to add the 10k resistor from MCLR to Vdd?

PIC18F26K20 datasheet... ... 41303G.pdf

User avatar
Non-SFE Guru
Posts: 1983
Joined: Sun Nov 30, 2003 8:57 am
Location: Candia, NH

Re: ESD damage to MCLR pin of PIC18F26K20?

Post by phalanx » Mon Jun 19, 2017 7:05 pm

Post schematics and pictures of the board both before and after your modifications so I can get a better idea of what's going on. I know you posted some of your code in an earlier thread, but it wouldn't hurt to see everything that's going on.

Now here comes the fun question of what do you mean by it doesn't work? Does the PIC do something but not the right thing? If so, have you used your PICKit-3 as a debugger to see where in your code things go wrong? Does the PIC do nothing at all? Can you connect to the PIC via MPLAB and your PICKit-3? Will the PIC take a program and verify properly? Have you been messing around with your configuration bits and maybe have the PIC in a weird state?

Get me some more information and I'll help you sort it out.


Post Reply