Messed up some fuses

Hi,

I used some ISP programmer, and re-programmed the fuses on some Arduino UNO's (on the usb 8u2 chip)
One doesn't enable uploading sketches, and others just don't communicate over serial.
For some reason, ISP programming is no longer working also.

I read that one can use a crystal to "revive" the mcu, so I bought some crystals, but I'm not sure what should I do now.

So where do I plug in the fuses?

omni96:
Hi,

I used some ISP programmer, and re-programmed the fuses on some Arduino UNO's (on the usb 8u2 chip)

Bad move.

omni96:
I read that one can use a crystal to "revive" the mcu, so I bought some crystals, but I'm not sure what should I do now.

So where do I plug in the fuses?

According to the schematic the USB chip has its own crystal:

You can't add more...so crystals aren't going to help. You must have done something else.

I it possible I will have to replace the 16 mhz crystal with a 8 mhz one?

If ISP is not working then it means you have most likely disabled either the reset pin, or serial programming. In which case the only way to recover them is to use a high voltage programmer to burn the correct fuse settings.

Do you know what fuse values you actually set?

These: Low-41 High-D9 Ext-FF

Fortunately it looks like you haven't disabled SPI or the reset pin.

You have however selected 'External Clock' as the oscillator which means you cannot at the moment use a crystal.

What you need to do is remove the crystal (carefully so you can put it back on later), and feed a clock signal into XTAL1 (Pin1 of the IC). The clock will need to be say 8MHz. It may be possible to feed the clock signal in to Pin1 without removing the crystal, so you might want to try it before removing the crystal.
I have attached a picture which shows a place where you can solder a wire on to the board to get access to pin 1.

If you have a spare arduino which can still be programmed with via USB, you can use that to provide a clock signal. Alternatively you can burn new fuse settings into the Atmega328 that is on the board to output its system clock and feed that output into the 8u2.

Once you have got a clock source into the chip, you can use ISP to correct the fuse settings. I believe the correct settings for the 8u2 are:
Low = 0xFF
High = 0xD9
Extended = 0xFF (or 0xCB if you want brown out enabled)

ArduinoUnoFront450px.jpg

You might not need to remove the on-board crystal. I've previously been able to apply external clock signals to the 328p on an Uno without disconnecting the resonator.

as long as the driving clock output goes to the input of the driven clock you should have no problems. Any other connection will be problematical.

Bob

Being a parallel programming method, HV programming is not generally an option for an in-circuit chip, unfortunately.