Are resistor pack (resistor array) failures common?

Thread Starter

ebeowulf17

Joined Aug 12, 2014
3,307
Troubleshooting:
In my opinion, notions of incorrect I/O configuration or incorrect parts are inconsistent with the observations ebeowulf has described., at least as related to the unwanted electrical paths he's found. Configuration isn't going to change in an unpowered board sitting on the bench. Wrong parts would (I presume) have been revealed by problems apparent at intitial test, and certainly aren't going to change with time. In a new design or production batch, these would be valid concerns. I just don't see them as valid in board that have been in service for some time.
I can easily imagine firmware that has lost its mind reconfiguring input pins as outputs or turning on pullups, but turning off the power makes that go away fairly promptly (some processors will retain memory contents and some config things down to remarkably low voltage, so shorting the supply is sometimes worth doing if you don't want to wait for several minutes after removing power). Pull ups (or downs) are not going to be anywhere near as low as the resistances measured. Berserk firmware usually does other rude things, too.
Having said all that, it is not inconceivable that there are two or more things causing what appears to be the same problem.

Whiskers/dendrites - I'm thinking of tin whiskers on the circuit board between terminals of the resistor network. Because of the close spacing of the pads, there may not be a solder mask dam between them, which may make tin whiskers possible there while improbable elsewhere on the board. As far as I know, copper dendrites in thick film resistors are a possible problem with laser trimmed resistors, and not at all likely otherwise. But I know next to nothing about this. These won't be laser trimmed resistors.

Ionic residues - fluxes are "activated" with ionic compounds. Older fully-activated rosin flux, of the sort you would see in great quantity all over the surface of phenolic circuit boards in consumer goods, had a fairly high content of ionic activators. Newer "no-clean" fluxes have substantially less. Water soluble fluxes (more on these below) have very high ionic compound content, are corrosive, conductive and must be very promptly removed. Any cleaning process to remove fluxes is going to expose everything on the board to ionic compounds, fairly heavily early in the process and (hopefully) virtually none by the end of the process.

Humidity
This is where the type of flux and the cleaning process could be big contributors. No-clean fluxes seem to be by far the most popular in general use for SMD assembly. While they are not entirely free of ionic compounds, they are regarded as safe to leave on all but the most sensitive high-impedance boards - which is good, because they are really hard to remove. If boards need to be cleaned after soldering, water soluble flux, generally containing fairly large amounts of organic acids, makes cleaning comparatively easy. While cleaning requires only water and not organic solvents or saponifying agents (as would be used for no-clean or rosin fluxes), it is essential that cleaning be done very promptly after soldering - hours, at the most. If cleaning isn't prompt and thorough, corrosion products of metals can be formed and they are extremely difficult to remove.

Board washing is often done with deionized water in dishwasher-like machines. I have serious reservations about the ability of some of these machines to do an adequate job with surface mount components, especially when no surrfactant (detergent) is used. As soon as water hits the board, capillary action will draw water under the components. Of course there will be flux residue under the parts. Once that water is under there, it will dissolve some of the residue, but it will also have a strong tendency to stay put unless blasted out by water impingement of adequate force. Process control in board cleaning is often done by measuring the conductivity of the wash water. As the ionic constituents of the flux are diluted with subsequent rinses, the conductivity rises (again, deionized or distilled water is being used). My belief is that this is a poor means of assessing cleanliness with SMD boards because the volume of water in the washer relative to the volume that can be "trapped" under parts is extremely high. Maybe it works. I'm unconvinced. A friend told me of problems with cleaning of boards where he was working, but at the time I was so fed up with tech of any sort that what he said went in one ear and out the other.

On boards I've had cleaned this way, I've seen visible residue left behind after putting a very small amount of isopropanol on parts - it wicks under, dissolves crud which diffuses into the alcohol around the part and when the alcohol evaporates there is visible crud left behind. I regard that as gross contamination. By the time I discovered problems like this I was winding down doing electronics, so I never pursued it further. I will stipulate that this was an assembly house that gave me the impression that not a single person working there was really any sort of expert. I've cleaned lots of boards myself after assembly with organic acid flux using a multistage process of fairly high pressure water spray followed by compressed air blow-off (forcing water out from under parts), repeated & followed with distilled water rinse. My boards didn't leave telltale rings if I used the alcohol test. Anyway...

Humidity, the "important" part:
Resistor arrays require closely spaced pads. Depending on the copper thickness the bottom of the part will be extremely close to the surface of the solder mask, which means that anything in that tight space is going to be difficult to remove. If residue, either of water soluble flux or ionically-comtaminated wash water from the cleaning process for any flux type, remains in that space, there is risk of corrosion and production of conductive products. Tin oxide is quite conductive - it is what is used for the conductive pattern on assorted opto things and transparent resistive touch screens. If gunk is at all hygroscopic (water vapor absorbing), the conductivity might change substantially with humidity.


What would I do next?
I would try to remove the resistor array from a failing board using hot air and great care to lift it straight up, as best I was able. I would inspect the part and the PCB with my handy dandy stereo microscope, looking for anything out of the ordinary (actually, I'd do a visual inspection before removing the part, but I think that's already been done pretty thoroughly).

If I were reasonably convinced humidity might be a problem, I would condition a board that had problems in a simple humidity chamber - a plastic storage box (Rubbermaid, or the like) with some moist paper towel for several hours. I might also do the opposite, using desiccant. Warm air from a hair dryer could be useful, but I'd not want to raise the board temperature much, so lots of air and very little heat.

Stuff like this can be really horrible and time consuming to diagnose. Then you have to work out a fix.
As usual, great response. Thanks!

One of the articles I started reading on the subject of ionic contaminants and such also mentioned the unusually tight spaces under certain components, like resistor arrays, being especially difficult to clean, and especially vulnerable to these sorts of issues. I'm starting to think maybe we're on to something...

I don't have the appropriate heat source, coordination, or skills to remove the array cleanly enough to learn anything about it, but if this thing is still testing funny on Monday, I'll try to get it back to the assembly house and see if they can do some of what you've described. They'll have better imaging equipment too, in case there is anything to see under there!

So, if it does turn out to be this, we can try to get them to put extra effort into cleaning that area, but that would be a perpetual struggle. I'm kind of thinking that if we find any evidence that the problem really does center around the array, like I think it does, we should just get a redesign before the next production run. Switching to 4 discrete 0604 resistors will add negligible cost, and we've got the board space available to get away with it. Then there's nowhere to trap troublesome crud!
 
Top