Check the traces on the pcb to SW1 SW2 & SW3, a brief look seems to show that the wrong pins are connected.
Those switches are actually what I looked at first once the first board failed. For those pushbutton switches, pins 1 and 2 are connected and so are pins 3 and 4. So I think they’re ok.
And I didn’t even install them for the second board. I only installed U1, C2-C4, and R15-R16.
Did the board not show any errors with the DRC?
The way you shared the board I get the following messages from the DRC:
And unconnected pins:
Unfortunately your picture is too low resolution to be able to see properly, but it can be that you are shorting VCC and GNDREF with the test cables that you solder to the board, with the VCC via.
Or a solder bridge if the DRC errors are any indication, if you still have unpopulated PCBs check with your multimeter for a short between GND and VCC, do the same once your chip is mounted and then use the controlled current power supply as suggested above.
I hope you find it and share it when you find it.
Don’t leave “I think they are OK” errors to the design. Choose or make a different switch symbol or renumber the footprint pads so that there are no DRC errors left.
EDIT: in this case I strongly recommend choosing a symbol with four pins and marking unused pins with “no connect”. It means more work and choosing pins in the layout phase and going back to the schematic after the layout, but because you have a critical error somewhere, wouldn’t it be better to change from “I think it’s OK” to “there are no errors in that because it’s done correctly”?
EDIT2: Do you have SW_DPST in the library and is it right for the physical switch? Or SW_Push_Dual?
Another or two generic remarks.
You don’t have net labels. Go through every net and give meaningful labels for them (other than the power nets which already are labeled). When you do that carefully, you are doing another double check where you may notice something. And it’s certainly easier to compare the schematic and the layout later.
You haven’t cared about the ERC. I know how frustratingly difficult it is to give correct pin types for IC’s and I don’t use ERC much myself, but that’s another exercise where you can find some hidden error. When you then do the ERC check and it doesn’t give errors, you can have more confidence in your design. See Electrical type of schematic symbol pins (KiCad 4 and KiCad 5).
eelik and der.ule, thank you for your feedback. Yes, I should have used a different switch schematic symbol. I just got lazy. I’ll correct it in revision 2. And good idea with the nets.
I have one board left with no U1 mounted on it. I’ve checked for shorts already, and I’ve applied power and checked for the correct voltages. This board has C2-C4 and R15-R16 mounted as well, and they cause no adverse effects when the board is powered. I will try to mount U1 tonight and test it with my supply limited to 20mA. I have 4 spare U1 ICs remaining, and these are all dspic33ev256gm102’s (compared to the 2 dspic33ev256gm002’s that I’ve fried).
Here is a link to higher resolution pictures if interested…
https://drive.google.com/drive/folders/1rH_9bEHngeySth9yQ-QKCI5J5p1dckLf?usp=sharing
If VDD and VSS aren’t affected then reverse polarity and over voltage seem less likely? If AVdd and AVss power the analog modules of the chip then what would cause those to draw excessive power? A short on an output? Have you checked the outputs to ground?
I have now…I just checked for shorts between all IO pins and ground on all three boards. They all look ok.
Board #3 results:
I soldered only U1, C2-C4, R15-R16, and a couple wires for power.
I eliminated all solder bridges on U1. I know I did because I checked for shorts between neighboring pins after I cleaned the board. I also checked for shorts between power and ground nets. There are no shorts anywhere.
I set my bench power supply to 5V and limited its current to 15mA. I very carefully attached the alligator clips to the correct power wires on the board. At first, everything looked good. Only 2mA of current was being drawn and the voltage was steady at 5V. After a few seconds, the current started creeping up and up until it hit 15mA and the voltage dropped to under a volt. I turned off the power supply for a few minutes to come type these results. I went back and turned the supply on again to provide the exact voltage it drops to, because I thought it was a constant number, but it actually jumps back and forth between under a volt and over 2 volts.
I do not have a professional grade bench power supply, just a cheap “Eventek” I bought on Amazon. When the current was rising, the supply said it was at about 100mA for a second before correcting itself back down to the 15mA limit. So it may be possible this chip is fried too, but I really hope not… I heard a fizzing sound at one point.
Is there anything wrong with the bypass capacitors I used?
https://www.digikey.com/product-detail/en/samsung-electro-mechanics/CL10B104KO8NNNC/1276-1005-1-ND/3889091
C2, the electrolytic? cap, is there a chance it’s shorted, reversed (tantulum?) or actually a diode?
If your soldering iron has an earthed tip and there is no conductive junk on the board maybe the problem is the IC.
Is there a power up sequence?
Do the inputs need protection. ie. tied high or low with a resistance?
It seems like you have done a good job with the board
C2 is the “Vcap” capacitor needed for the uC according to its datasheet. It said I could use ceramic or tantalum. I used ceramic, so polarization does not matter. I really hope its not a diode, if it is then Digikey packaged it wrong.
My iron’s station plugs into an outlet with a third prong for ground, I think that means the tip is grounded. I cleaned the board with 91% isopropyl alcohol. The uC has never been programmed so there shouldn’t be a power up sequence, and the datasheet makes no mention of a need for resistors on the IO.
I suspect something in the chip is oscillating.
Digital inputs always need to be held either high or low. Unconnected inputs often float and can result in oscillation of the input buffer. This is basic digital electronic design. Section 11.2 states:
Pins configured as digital inputs do not convert an analog input. Analog levels on any pin defined as a digital input (including the ANx pins) can cause the input buffer to consume current that exceeds the device specifications.
PIC pins that don’t also serve as analog inputs power up configured as digital inputs.
Another opportunity for oscillation is the internal voltage regulator. What is the voltage rating of C2? According to the documentation, this capacitor must have “at least a 16V rating” even though the normal operating voltage on this pin is much lower. The picture of you posted labeled “PCB #2” appears to be missing all three power supply capacitors.
I would also add some bulk capacitance on the Vdd supply. A couple of 100 nF caps isn’t enough. Try putting a 16V, 10uF or larger cap near where the supply wires attach to the board. This can be a cheap electrolytic.
I would put a good oscilloscope across the Vdd supply on the board. I would also monitor the Vcap pin as you apply power.
The voltage rating of C2 is 16V. Here’s the one I use:
(https://www.digikey.com/product-detail/en/tdk-corporation/CGA5L1X7R1C106K160AC/445-12902-1-ND/3954568)
PCB #2 had the capacitors installed originally when I tested it. I took them off to see if they were causing the short, and I just haven’t put them back on.
I have the same uC in a DIP package on a breadboard. I have it connected the same way, with all the same valued capacitors. I do not pull the unused pins high or low, and I have never had a problem with that circuit. The datasheet does not differentiate between the DIP and SSOP packages in any way, so I am utterly confused about why I’m having so much trouble with this.
All I can think of is the “wires” on the breadboard are 1/2 an inch long, ie 5 holes including the chip pin, but your PC board has tracks much longer that may well be acting as antennas for signals into the unused inputs.
Before you try another IC on the board, I’d recommend soldering some resistors to earth from the inputs.
Regarding the soldering iron, connect an ohm meter between the tip and the earth pin…should be a short circuit.
I’ve mentioned the iron because of personal experience some years ago. It was a Weller PT that managed to have a broken earth in the handle. It also just so happened to have a faulty heater element that put about 20 VAC onto the barrel and tip. Lots of WTF moments and general bad language could be heard for the several days it took to realise the problemS. Soldering irons should NOT be permitted to have two faults simultaneously.
ps 22K should do unless someone suggests different.
I checked the iron tip as you suggested and it looks good.
I’ve been away from this site for a few days, sorry.
In the beginning of this thread, everyone was chasing a design error that resulted in reverse polarity to the device. Based on the observations of device #3, I don’t believe that is the case.
See quote below. I think that RRP has the correct diagnosis. The device is correctly powered, but the floating inputs go into a linear region and current consumption begins to climb until thermal runaway occurs.
A way to test this is to use a new device and short ALL default inputs together to Gnd. Then apply power. <This is a generalization. I’ve NOT read the datasheet to see if there are exceptions>
I suspect if you look at the dev board you had been using previously, you will see some termination built in. Can you post a schematic or link to that? it would be helpful.
Counter argument of OP was that it worked in a breadboard.
If open inputs oscillate, then the breadboard capacitance may lower the frequency enough for the chip to not blow itself up.
On the other hand. If this realy is the cause, I would trow all those chips in the garbage bin and use a decent uC, that does not self destruct so easily.
I understand increased current consumption because of floating input, but suicidal IC’s are a bridge too far for me.
iabarry,
I believe you are referring to the same device I have on a breadboard, I don’t have a COTS dev board or anything like that.
I don’t have a schematic for my breadboard, but here’s a picture of it, which I know is of little use:
https://drive.google.com/file/d/1gAxvn34dZc-y9wK-dSN595EAxndjC9Ys/view?usp=sharing
My breadboard circuit is just the “recommended minimum connection” on page 20 of the datasheet. I have a few random components connected too. I do not have each IO terminated to ground or anything, and it works fine.