Skip to main content
edited title
Link
Basj
  • 449
  • 2
  • 9
  • 23

Change the fuses of an Arduino Uno (can an Arduino Uno change its own fuses?)

added 342 characters in body
Source Link
Basj
  • 449
  • 2
  • 9
  • 23

For now, I'm using an Arduino Uno alone including its 328p (no other external chip to program).

I would like to change its fuses to internal 8 Mhz clock (because then I'll move the 328p out of the Arduino Uno), and for simplicity I'd like to do it from Arduino IDE.

Here is what I tried:

  • I created a new entry in boards.txt copy-pasted from Uno, fuses modified, like this:

      atmega328p.name=Atmega328p
      atmega328p.upload.tool=avrdude
      atmega328p.upload.protocol=arduino
      atmega328p.upload.maximum_size=32256
      atmega328p.upload.maximum_data_size=2048
      atmega328p.upload.speed=115200
    
      atmega328p.bootloader.tool=avrdude
      atmega328p.bootloader.low_fuses=0x62
      atmega328p.bootloader.high_fuses=0xD9
      atmega328p.bootloader.extended_fuses=0xFF
      atmega328p.bootloader.unlock_bits=0x3F
      atmega328p.bootloader.lock_bits=0x0F
      atmega328p.bootloader.file=optiboot/optiboot_atmega328.hex
    
      atmega328p.build.mcu=atmega328p
      atmega328p.build.f_cpu=8000000L
      atmega328p.build.board=AVR_UNO
      atmega328p.build.core=arduino
      atmega328p.build.variant=standard
    
  • I selected this board in Tools > Board: Atmega328p

  • I tried to Upload any sketch (and not Upload with programmer since I have no other chip connected to the Arduino Uno), hoping it would modify the fuses during the (successful) Upload process.

I think it didn't work (when I move the 328p outside of the Uno it doesn't work).

How can I change the fuses for an Arduino Uno directly from Arduino IDE, to enable internal 8 Mhz clock?


PS: "Tools > Burn Bootloader" does not succeed, but I think this is normal, since there is just the Arduino Uno, and no other chip / nothing to use as a "Programmer":

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03

For now, I'm using an Arduino Uno alone including its 328p (no other external chip to program).

I would like to change its fuses to internal 8 Mhz clock (because then I'll move the 328p out of the Arduino Uno), and for simplicity I'd like to do it from Arduino IDE.

Here is what I tried:

  • I created a new entry in boards.txt copy-pasted from Uno, fuses modified, like this:

      atmega328p.name=Atmega328p
      atmega328p.upload.tool=avrdude
      atmega328p.upload.protocol=arduino
      atmega328p.upload.maximum_size=32256
      atmega328p.upload.maximum_data_size=2048
      atmega328p.upload.speed=115200
    
      atmega328p.bootloader.tool=avrdude
      atmega328p.bootloader.low_fuses=0x62
      atmega328p.bootloader.high_fuses=0xD9
      atmega328p.bootloader.extended_fuses=0xFF
      atmega328p.bootloader.unlock_bits=0x3F
      atmega328p.bootloader.lock_bits=0x0F
      atmega328p.bootloader.file=optiboot/optiboot_atmega328.hex
    
      atmega328p.build.mcu=atmega328p
      atmega328p.build.f_cpu=8000000L
      atmega328p.build.board=AVR_UNO
      atmega328p.build.core=arduino
      atmega328p.build.variant=standard
    
  • I tried to Upload any sketch (and not Upload with programmer since I have no other chip connected to the Arduino Uno), hoping it would modify the fuses.

I think it didn't work (when I move the 328p outside of the Uno it doesn't work).

How can I change the fuses for an Arduino Uno directly from Arduino IDE, to enable internal 8 Mhz clock?

For now, I'm using an Arduino Uno alone including its 328p (no other external chip to program).

I would like to change its fuses to internal 8 Mhz clock (because then I'll move the 328p out of the Arduino Uno), and for simplicity I'd like to do it from Arduino IDE.

Here is what I tried:

  • I created a new entry in boards.txt copy-pasted from Uno, fuses modified, like this:

      atmega328p.name=Atmega328p
      atmega328p.upload.tool=avrdude
      atmega328p.upload.protocol=arduino
      atmega328p.upload.maximum_size=32256
      atmega328p.upload.maximum_data_size=2048
      atmega328p.upload.speed=115200
    
      atmega328p.bootloader.tool=avrdude
      atmega328p.bootloader.low_fuses=0x62
      atmega328p.bootloader.high_fuses=0xD9
      atmega328p.bootloader.extended_fuses=0xFF
      atmega328p.bootloader.unlock_bits=0x3F
      atmega328p.bootloader.lock_bits=0x0F
      atmega328p.bootloader.file=optiboot/optiboot_atmega328.hex
    
      atmega328p.build.mcu=atmega328p
      atmega328p.build.f_cpu=8000000L
      atmega328p.build.board=AVR_UNO
      atmega328p.build.core=arduino
      atmega328p.build.variant=standard
    
  • I selected this board in Tools > Board: Atmega328p

  • I tried to Upload any sketch (and not Upload with programmer since I have no other chip connected to the Arduino Uno), hoping it would modify the fuses during the (successful) Upload process.

I think it didn't work (when I move the 328p outside of the Uno it doesn't work).

How can I change the fuses for an Arduino Uno directly from Arduino IDE, to enable internal 8 Mhz clock?


PS: "Tools > Burn Bootloader" does not succeed, but I think this is normal, since there is just the Arduino Uno, and no other chip / nothing to use as a "Programmer":

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03

Source Link
Basj
  • 449
  • 2
  • 9
  • 23

Change the fuses of an Arduino Uno

For now, I'm using an Arduino Uno alone including its 328p (no other external chip to program).

I would like to change its fuses to internal 8 Mhz clock (because then I'll move the 328p out of the Arduino Uno), and for simplicity I'd like to do it from Arduino IDE.

Here is what I tried:

  • I created a new entry in boards.txt copy-pasted from Uno, fuses modified, like this:

      atmega328p.name=Atmega328p
      atmega328p.upload.tool=avrdude
      atmega328p.upload.protocol=arduino
      atmega328p.upload.maximum_size=32256
      atmega328p.upload.maximum_data_size=2048
      atmega328p.upload.speed=115200
    
      atmega328p.bootloader.tool=avrdude
      atmega328p.bootloader.low_fuses=0x62
      atmega328p.bootloader.high_fuses=0xD9
      atmega328p.bootloader.extended_fuses=0xFF
      atmega328p.bootloader.unlock_bits=0x3F
      atmega328p.bootloader.lock_bits=0x0F
      atmega328p.bootloader.file=optiboot/optiboot_atmega328.hex
    
      atmega328p.build.mcu=atmega328p
      atmega328p.build.f_cpu=8000000L
      atmega328p.build.board=AVR_UNO
      atmega328p.build.core=arduino
      atmega328p.build.variant=standard
    
  • I tried to Upload any sketch (and not Upload with programmer since I have no other chip connected to the Arduino Uno), hoping it would modify the fuses.

I think it didn't work (when I move the 328p outside of the Uno it doesn't work).

How can I change the fuses for an Arduino Uno directly from Arduino IDE, to enable internal 8 Mhz clock?