A friend I met at school was having problems with his PIC development board. This is a board we were given for a class called Interfacing that holds a PIC16F877, 4MHz crystal, a MAX232 serial communication IC, a potentiometer with a fancy knob, red yellow and green LEDs, a 7805 voltage regulator, and some handy connectors.
Apparently my friend accidentally shorted out the board with a screwdriver when he didn’t notice it underneath. I hooked it up to power and checked the output of the 7805. If it had been the regulator that failed, it would be a cheap and easy fix. The regulator was fine.
Okay, let’s try programming it! Unfortunately, I couldn’t get it to program. Since it’s just an IC, there’s nothing to fix on it. If you’ve narrowed the problem down to one component, replace it.
I happen to have spares of this PIC16F877 in my parts bin from another aborted project. The problem is getting the old one off and the new one on. After poking it a bit with a soldering iron, I decided to try something new (to me).
First I simply pressed a big piece of foil over the whole board and tried cutting out the IC area with an exacto knife. I didn’t like the result because I felt too much hot air would leak under the cut edge.
Then I cut strips of foil and taped them down with 5mm kapton tape. This worked very well.
I put the board on a heat-resistant surface and blasted it with the heat gun while gently trying to lift the chip. Eventually it came right off.
At this point I probably should have put the replacement right on, but instead I removed the foil to inspect the other parts for heat damage. I tried to solder the new part on, but it just wasn’t going to happen with my soldering iron and tip.
So, I made a new foil mask, because the one I tore off was useless and crumpled. I carefully positioned the chip and hit it with the heat gun again. I wasn’t sure I saw any result, so I hit it for too long.
The solder had in fact melted, and the chip was soldered in place. But the extra heating time did cosmetic damage to some of the plastic components on the board. Next time I will also double-shield some components.
But the end result is that the board works! Here is a photo of it running some code from the class to blink the LEDs in a binary sequence.