Unable to figure out the fuse bits

Hello guys, i wanted to flash bootloader to the atmega8 that i have with usbasp that i have. Since i hadn't done this earlier(except using the usbasp for flashing programs to the 8051) i figured i should first test its working along with the fuse bits.

So, assuming the atmega8 i bought is having factory default fuse bits for 1mhz internal oscillator, i tried flashing blink program to the device to no success(connections are the basic ones, (rst->rst, mosi->mosi, miso->miso, sck->sck, 5v->vcc&avcc, gnd->gnds) and the res+led for blinking). So i wanted to test the usbasp on the atmega328p on my uno board since i already know it works, so i tried reading the fuses and it gave it correctly. What could be going wrong here?(Also please do correct me if i am misunderstanding the fuses :D)

(I also tried to use the atmega8 in the uno and tried to read its fuses hoping atleast it was set to run at 16mhz external crystal but again no reply from the atmega8)
Thank you for your time and for any help :slight_smile:

Fuses are easy to get wrong so I tend to use a calculator like this

If your getting no reply from the atmega8 then there is a chance you have programmed the fuse bit that turns the reset pin into a usable IO pin so you can no longer reset the mega8 to put it into programming mode. Or you have programmed the fuses for an external crystal where one is not connected (though this may have worked when placed in the UNO board).

All is not lost if you have programmed the reset pin as the MCU can be recovered using a high voltage programmer. Google "AVR high voltage programmer" to find examples you can build/buy.

If there is no response from raw chip to USBasp, it can be slow SCK problem. Try to put jumper for slow SCK on the USBasp (the most close to USB connector). The jumper is used to be marked as JP3 on the most devices from ebay.

Riva:
Fuses are easy to get wrong so I tend to use a calculator like this

If your getting no reply from the atmega8 then there is a chance you have programmed the fuse bit that turns the reset pin into a usable IO pin so you can no longer reset the mega8 to put it into programming mode. Or you have programmed the fuses for an external crystal where one is not connected (though this may have worked when placed in the UNO board).

All is not lost if you have programmed the reset pin as the MCU can be recovered using a high voltage programmer. Google "AVR high voltage programmer" to find examples you can build/buy.

I hadn't changed the fuse bits, Budvar's solution worked it was a slow SCK problem :smiley:

Budvar10:
If there is no response from raw chip to USBasp, it can be slow SCK problem. Try to put jumper for slow SCK on the USBasp (the most close to USB connector). The jumper is used to be marked as JP3 on the most devices from ebay.

I love you man thanks for this, it didn't work at first for few times after connecting pin 25 of the usbasp to gnd(for slow sck, my usbasp module had weird markings so i checked pins instead, the one most close to usb connector was the supply jumper :D) but then it started working when i put a resistor between reset and gnd(was putting led there to check if reset signal was being sent properly).
On another note, could you tell me the reasons of the slow sck problem and what does the usbasp firmware do to fix that, that'd save me some reading :smiley:

Riva:
If your getting no reply from the atmega8 then there is a chance you have programmed the fuse bit that turns the reset pin into a usable IO pin so you can no longer reset the mega8 to put it into programming mode. Or you have programmed the fuses for an external crystal where one is not connected (though this may have worked when placed in the UNO board).

The other fuse to watch out for is SPIEN. It enables serial programming (which is what the ICSPs use), is programmed by default, and must not be unprogrammed.

@iamnotgoogle
Glad to help. :slight_smile:

Yes, it is pin 25 of ATmega. The jumper has label JP1 in original schematics form Mr. Fischl. The most clones I see on the ebay it has as JP3.


The problem was already discussed also here. I've never studied details about it. It is related to firmware but nor the latest Fischl's FW solve this.

Budvar10:
@iamnotgoogle
Glad to help. :slight_smile:

Yes, it is pin 25 of ATmega. The jumper has label JP1 in original schematics form Mr. Fischl. The most clones I see on the ebay it has as JP3.


The problem was already discussed also here. I've never studied details about it. It is related to firmware but nor the latest Fischl's FW solve this.

After some days i read up on it, so for if anyone who wants to know:
The slow SCK jumper needs to be set if the target clock is lower than 1.5 MHz. Setting this jumper results in the SCK to be scaled down from 375 kHz to about 8 kHz.

You may find this interesting. I have been using Version 1.06 on several Usbasp's with no problems for almost a year.

https://forum.arduino.cc/index.php?topic=363772.0

kprims:
You may find this interesting. I have been using Version 1.06 on several Usbasp's with no problems for almost a year.

USBasp Update Warning - Microcontrollers - Arduino Forum

Same - works like a charm, and it fixed the occasional problems I had programming some attiny's.

kprims:
You may find this interesting. I have been using Version 1.06 on several Usbasp's with no problems for almost a year.

USBasp Update Warning - Microcontrollers - Arduino Forum

Both of the usbasp's i had were old and unmodified so i guess they were running default fischl's firmware, and according to your linked post default firmware looks like its a pain in the ass for out of the box chips. Guess i'll flash v1.06 on both of these for ease of use :smiley: Thanks!