Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to "verify" your details, making threats, or asking for money, are
spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the
password reset link.
Entire forum
➜ Electronics
➜ Microprocessors
➜ Atmega Fuse Calculator sketch
Atmega Fuse Calculator sketch
|
Postings by administrators only.
Refresh page
Posted by
| Nick Gammon
Australia (23,057 posts) Bio
Forum Administrator |
Date
| Tue 22 May 2012 05:25 AM (UTC) Amended on Mon 06 Oct 2014 08:25 PM (UTC) by Nick Gammon
|
Message
| After reading various posts from people saying "but what are my fuses set at?" ... I thought it would be handy to be able to find out, preferably without having to hook the board up to a programmer.
The sketch I developed is similar to the one which detects what sort of chip you have by entering ICSP programming mode and querying the chip. The wiring is identical, and is described here:
http://www.gammon.com.au/forum/?id=11633
Basically you connect up the board with the sketch, to the target board, with 6 wires, along these lines:
Then the sketch finds the fuse settings and attempts to render them in a readable way:
Atmega fuse calculator.
Entered programming mode OK.
Signature = 0x1E 0x95 0x0F
Processor = ATmega328P
Flash memory size = 32768
LFuse = 0xFF
HFuse = 0xDE
EFuse = 0xFD
Lock byte = 0xCF
External Reset Disable.................. [ ]
Debug Wire Enable....................... [ ]
Enable Serial (ICSP) Programming........ [X]
Watchdog Timer Always On................ [ ]
Preserve EEPROM through chip erase...... [ ]
Boot into bootloader.................... [X]
Divide clock by 8....................... [ ]
Clock output............................ [ ]
Bootloader size: 512 bytes.
Start-up time: SUT0: [X] SUT1: [X] (see datasheet)
Clock source: low-power crystal.
Brownout detection at: 2.7V.
Or for the ATmega16U2 on the Uno Rev 3:
Atmega fuse calculator.
Entered programming mode OK.
Signature = 0x1E 0x94 0x89
Processor = ATmega16U2
Flash memory size = 16384
LFuse = 0xEF
HFuse = 0xD9
EFuse = 0xF4
Lock byte = 0xCF
Hardare Boot Enable..................... [X]
Debug Wire Enable....................... [ ]
External Reset Disable.................. [ ]
Enable Serial (ICSP) Programming........ [X]
Watchdog Timer Always On................ [ ]
Preserve EEPROM through chip erase...... [ ]
Boot into bootloader.................... [ ]
Divide clock by 8....................... [ ]
Clock output............................ [ ]
Bootloader size: 4096 bytes.
Start-up time: SUT0: [X] SUT1: [X] (see datasheet)
Clock source: low-power crystal.
Brownout detection at: 3.0V.
And the Mega board:
Atmega fuse calculator.
Entered programming mode OK.
Signature = 0x1E 0x98 0x01
Processor = ATmega2560
Flash memory size = 262144
LFuse = 0xFF
HFuse = 0xD8
EFuse = 0xFD
Lock byte = 0xCF
OCD Enable.............................. [ ]
JTAG Enable............................. [ ]
Enable Serial (ICSP) Programming........ [X]
Watchdog Timer Always On................ [ ]
Preserve EEPROM through chip erase...... [ ]
Boot into bootloader.................... [X]
Divide clock by 8....................... [ ]
Clock output............................ [ ]
Bootloader size: 8192 bytes.
Start-up time: SUT0: [X] SUT1: [X] (see datasheet)
Clock source: low-power crystal.
Brownout detection at: 2.7V.
Source on GitHub
The latest version will be available on GitHub:
https://github.com/nickgammon/arduino_sketches
You can see from that what recent changes were.
Use at your own risk. It is incredibly tedious keying in the fuse meanings, so if you find any errors please let me know.
Related sketches:
Web-based fuse calculator
A different way of evaluating fuses is presented at this web page:
http://www.engbedded.com/fusecalc |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.
30,363 views.
Postings by administrators only.
Refresh page
top