They say that the cobbler's children have no shoes. It seems equally true that the engineer's gadgets are all broken. The engineer isn't always to blame, however, as he is often given pre-broken devices because he's "good with electronics." I received one of these devices, and I'm glad I did.
About 18 years ago my parents traded their clothes washer and dryer set for a different, used set that included some features they desired. It served them well for a good long time, but eventually the washer began to turn off unexpectedly, mid-cycle. An appliance repair technician deemed the washer dead, as the mainboard had malfunctioned and the replacement part was long discontinued.
Around this same time, I had just moved into a new house that had hookups for a washer and dryer, but I had none. My parents were gracious enough to give me the perfectly serviceable dryer and a somewhat serviceable washer. The washer wasn't completely dead, as it did finish nearly half of all of the loads it started -- it was more undead. It would act alive but then power down part-way through a wash or spin cycle. It even did so at random intervals, to ensure maximum annoyance.
The dryer control panel, after over 18 years of wear and grime.
I used it as it was, but eventually my impatience got the better of me. (The undead are notoriously slow and unreliable.) I had to test my luck bringing it back to life. The symptom was clear: It would turn off at randomly. A quick inspection of the mainboard found a clear failure mechanism: All of the wire-to-board connectors had visibly cracked solder joints. The mainboard was shock mounted, but the wire harness was tied to the chassis, so they vibrated independently, causing metal fatigue in the board-to-wire solder joints and cracking them clear open.
The dryer mainboard with board-to-wire connections.
In no time flat, I performed the requisite surgery: I reheated the solder joints and reassembled the washer. It finish the next load on the first try! The second load too! I deemed the repair a success.
The next week my first load of laundry didn't make it halfway through the wash cycle. I was back to square one, except without any clear symptoms. I had already treated them. I pulled the mainboard out again, and it looked great. The repaired solder joints were holding up, yet the dryer was still randomly shutting off.
I assessed the situation once again, and the only worthwhile explanation was an intermittent power connection to the mainboard. A repair technician had already determined this, I had verified it, and fixed it, yet it still appeared to be the problem.
The mainboard traces and solder joints. All wire-to-board solder joints were initially reflowed, but the problem persisted. The solution was to reflow all current-carrying traces, which are wider than the signal traces that dominate the left side of the image.
This is where I'm supposed find that phase variations in the lunar orbit were causing reverse modulation of a magnetic monopole, creating a true isometric transmission, and overloading the turbo encabulator. Instead, everything led me back to the initial problem: an intermittent power connection.
Frustrated, I wanted to brute-force a fix. I determined I'd reflow every solder joint on that half-dead board, and finally return it to the land of the living, whether it wanted to or not. Once I had the thing on my workbench, though, it was bit daunting, with probably a couple hundred solder points, so I compromised and only reflowed the solder joints joining current-carrying traces.
It worked. For real this time.
I could have purchased another washing machine for a few hundred dollars, so in the grand scheme of things it wasn't too important that I brought it back to life. On the other hand, I've worked on a few big-ticket projects that needed last-minute fixes, and it's no fun having thousands of products sitting half-finished on the manufacturing floor. If I can apply what I learned to more important projects, than it was worth it.
If these enlightenments can help someone else too, it's all the more worthwhile. So here's a few:
Avoid confirmation bias. I determined that the board-to-wire connectors weren't the source of the problems, but ignored the presence of many more solder joints, which were also prone to failure from mechanical stress. I wanted to give up on bad solder joints after my first try was unsuccessful, because it wasn't elegant. Had I started looking elsewhere, I would have never found the solution. The initial and obvious solution, the one based on actual evidence, was still the correct solution.
Listen to the patient. After the initial fix, I still had the same symptoms. The symptoms weren't lying, I just hadn't addressed them properly. If I'd checked "cracked solder joints" off my list, I never would have revived the mainboard. Once I fully repaired the mechanical problem, I had revived the board.
Be holistic. Yes, I spent most of the time concentrating on one symptom, and yes, I did the least amount of work to fix it, but the way the machine acted as a whole is what led me to it. If I didn't pay attention to the randomness of its power-offs, if I didn't notice the limitations in the mainboard's shock mounts, and, as I said before, if I didn't listen to the washer's continuing symptoms, I wouldn't have been led to the problem initially, and I wouldn't have been led back to it after my initial fix failed.
Be a good engineer – only do what you have to. It takes resources to fix something, and those resources are valuable. Had I wasted an extra hour or two reflowing all of the solder joints, the repair probably wouldn't have been worth the time. Any mistakes could have also introduced more problems, all while fixing something that wasn't broken. Used correctly, laziness is the key to efficiency.
About the author, David Carrier: "I have been working in various capacities at Parallax since 2006. My current roles include applications engineering, internal product development, and design for manufacturing. I currently represent Parallax as an open-source hardware advocate."
The Frankenstein's Fix has just come to an end. Stay tuned to read the submissions and see what kind of difficult job of judging we have ahead of us! Submission details and full contest rules here.