I have an Arduino board that I screwed up when loading firmware with a cheap parallel port programmer. The USB side is fine but it is non responsive when trying to program via USB or AVRisp. I think I messed up some fuse bits. My thought is that the simplest fix would be to snip all the legs off, remove the chip and pins, then replace with a new chip.

The most common cause of a "locked" chip is to have set the fuses for something like "external oscillator" when you actually have an external crystal; since this shuts off the chip electronics that drive the crystal, there is no working clock, and ISP programming doesn't work without a clock.

You may be able to fix this by injecting a clock to the proper pin. Adafruit's ISP Programming Shield is set up to do this, and you might get away with a simple temporarily-connected oscillator or 555 timer or something.

The Arduino board I am trying to fix is working on the USB side and non responsive on the ATmega side. I grabbed my working Arduino and loaded the Arduino ISP sketch and it threw an error while loading. It looks like the program is running as the heartbeat LED is going on and off but I can not communicate with it. It does not even show up as a USB device on my Mac.

Now I have one Arduino board that can talk and not think, and one that can think and not talk.

Re-soldered the programming connector and every pin on the SMD ATmega328 and it is good. This was a lesson for me. I bought this from a website in china...never again. The balance of my purchases have been from Adafruit and that is where I will keep coming bacteria to.