Embedded Electronics Blog

AVR fuse bits settings

Setting AVR fuse bits correctly is most important and equally confusing part for many beginners. In this post I have presented some of the ready to use fuse bit settings and corresponding batch files, which can be used with AVRdude.

Link for downloading avrdude batch files (to be used with USBasp) is given at the end of this post.

Microcontroller
H
fuse
L
fuse
Description
ATmega16/32
0x99
0xE1
Factory Default Settings for ATmega16/32.


H fuse:
JTAG            : Enabled
OCD             : Disabled
SPI Programming : Enabled
CKOPT           : Unprogrammed
EEPROM Preserve : Unprogrammed (EEPROM not preserved)
BOOT size       : 1024 words
Reset Vector    : User flash code

L fuse:
Brown-out level : 2.7V
Brown-out detect: Disabled
Startup timing  : Default
Clock Source    : Internal, 1MHz
ATmega16/32
0xD9
0xFF
External Crystal upto 16MHz, JTAG disabled. Rest of the options : Default.
ATmega16/32
0xD9
0xE4
Internal 8MHz oscillator, JTAG disabled. Rest of the options : Default.
ATmega8
0xD9
0xE1
Factory Default Settings for ATmega8.


H fuse:
Reset Disabled  : Unprogrammed (Reset pin is enabled)
Watchdog        : Off
SPI Programming : Enabled
CKOPT           : Unprogrammed
EEPROM Preserve : Unprogrammed (EEPROM not preserved)
BOOT size       : 1024 words
Reset Vector    : User flash code 

L fuse:
Brown-out level : 2.7V
Brown-out detect: Disabled
Startup timing  : Default
Clock Source    : Internal, 1MHz
ATmega8
0xD9
0xEF
External Crystal upto 16MHz. Rest of the options : Default.
ATtiny13
0xFF
0x6A
Factory Default Settings for ATtiny13.


H fuse:
Self programming: Disabled
debugWire       : Disabled
Brown-out detect: Disabled
Reset Disabled  : Unprogrammed (Reset pin is enabled) 

L fuse:
SPI Programming : Enabled
EEPROM Preserve : Unprogrammed (EEPROM not preserved)
Watchdog        : Off
Clock div by 8  : Enabled
Startup timing  : Default
Clock Source    : Internal, 9.6MHz
ATtiny13
0xFF
0x69
Internal 4.8MHz oscillator, Divide clock by 8. Rest of the options : Default
ATtiny13
0xFF
0x79
Internal 9.6MHz oscillator, clock is not divided by 8. Rest of the options : Default.

Fuse programming is most crucial and any mistake might lead to non-functioning AVR controller. I have also made DOS batch files, which can be used to apply above mentioned settings with AVRdude and USBasp. You can download these files from :

AVR Dude – DOS batch files for fuse bit settings using USBasp. [Note: Your antivirus may mark these files as suspicious since they are executable BATCH files. Ignore those warnings or disable antivirus temporarily]

https://www.dropbox.com/s/k0q52biat2h9m8m/AVRDude_Batch%20Programs%20for%20fuse%20bit%20settings.zip?dl=0

Exit mobile version