Electronic – Changing bootloader fuses – Arduino based ATmega32U4

atmegabootloader

I'd like to develop an Arduino board with the ATmega32U4 MCU but in a low power mode. I've been searching and I know I have to change the fuses to prevent the brown-out-reset (BOR) when the battery is lower than a certain voltage. I'd also have to change the CLK bits to divide the 16MHz crystal into a lower frequency mode to consume less energy.

I found this webpage to change the fuses.

I just don't know how to do this (which program to use – FLIP?? and how to proceed) and if by doing this bootloader change the board would still be recognized in the Arduino 1.0 program (boards sections – like a Leonardo variant 8MHz for example). I have the 6×2 ISP pins accessible.

By the way, I have a board with the ATmega32U4 and it's 0.1uF capacitors and a 16MHz crystal (+ 2x 22pF caps). I also have the ATMEL mkII programmer with the ISP 3×2 MISO/MOSI/CLK/RESET/VCC/GND connector.

Would somebody know how to help me?

Best Answer

The program to use would be avrdude.

What you need to change is not so much the bootloader (although if you want to build an Arduino compatible board, you'll need to upload an Arduino compatible bootloader) as the fuse bits.

The details of those (e.g. clock rate, brown out settings) are generally not relevant for Arduino compatibility, but the cleanest approach is to make a custom entry in boards.txt for your board, cloning e.g. a Leonardo entry but tweaking the fuse bits to your preferences. That allows you to set those fuse bits through the "Burn Bootloader" command in Arduino.