Change fuse settings using optiboot

Hi all!

I've been trying to burn a bootloader set to run @8MHZ and 1.8v Brown out to 1.8v.

What happens is.. doesn't matter what I do.. it always burn the same bootloader..

OptiLoader Bootstrap programmer.
2011 by Bill Westfield (WestfW)

Target power on! ...
Starting Program Mode [OK]

Reading signature:950F
Searching for image...
  Found "optiboot_atmega328.hex" for atmega328P
  Start address at 7E00
  Total bytes read: 502

Setting fuses for programming
  Lock: 3F FFE000  Low: FF FFA000  High: DE FFA800  Ext: 5 FFA400

Programming bootloader: 512 bytes at 0x3F00
  Commit Page: 3F00:3F00
  Commit Page: 3F40:3F40
  Commit Page: 3F80:3F80
  Commit Page: 3FC0:3FC0

Restoring normal fuses
  Lock: 2F FFE000

Target power OFF!

Type 'G' or hit RESET for next chip

You can see the fuse settings..

Setting fuses for programming
  Lock: 3F FFE000  Low: FF FFA000  High: DE FFA800  Ext: 5 FFA400

I have tryed to change from the optiboot values

from: .low_fuses=0xff .bootloader.high_fuses=0xde .bootloader.extended_fuses=0x05

to:

.bootloader.low_fuses=0xE2 .bootloader.high_fuses=0xD8 .bootloader.extended_fuses=0x06

Maybe I'm doing something at a wrong way.

I can burn the bootloader and sketches using optiboot but can't change the fiose settings to run under 8Mhz and internal oscilator.

Can anybody help?

tks a lot

I have also changed the Makefile and changed the values but didn't work as well...

nobody?

How are you burning the bootloader? What are you using for a Programmer? If you do it using the IDE with the fuse changes in boards.txt, that will change them.

hi there!

tks for answering me!

I'm using arduino UNO as ISP.

Well. Here's what I'm doing.

1 - Open my arduino uno, compile the OptiLoader. 2 - I wire the target Atmega328p-PU chip to the OptiLoader chip 3 - I open IDE, open the Serial Monitor and I receive:

OptiLoader Bootstrap programmer.
2011 by Bill Westfield (WestfW)

Target power on! ...
Starting Program Mode [OK]

Reading signature:950F
Searching for image...
  Found "optiboot_atmega328.hex" for atmega328P
  Start address at 7E00
  Total bytes read: 502

Setting fuses for programming
  Lock: 3F FFE000  Low: FF FFA000  High: DE FFA800  Ext: 5 FFA400

Programming bootloader: 512 bytes at 0x3F00
  Commit Page: 3F00:3F00
  Commit Page: 3F40:3F40
  Commit Page: 3F80:3F80
  Commit Page: 3FC0:3FC0

Restoring normal fuses
  Lock: 2F FFE000

Target power OFF!

Type 'G' or hit RESET for next chip

Its ok!..

Now I go to the folder: C:\Users\username\Documents\Arduino\hardware\optiboot

open boards.txt

Since I have the fuse settings from my default bootloader(now aptiboot) working without Cristal, I used the settings on this optiboot.

Well.. changed the optiboot low fuses and hi fuses like:

From: atmega328o.bootloader.low_fuses=0xff atmega328o.bootloader.high_fuses=0xde

to: atmega328o.bootloader.low_fuses=0xE2 atmega328o.bootloader.high_fuses=0xD8

4 - I save the settings on boards.txt file

5 - I close and open IDE again and open Serial monitor and burn the bootloader again.. but I get the SAME FUSE VALUES :(

its like don't matter how much I cange teh boards.txt file it doesn't change the way the fuses are burned.

Result after changing boards.txt:

OptiLoader Bootstrap programmer.
2011 by Bill Westfield (WestfW)

Target power on! ...
Starting Program Mode [OK]

Reading signature:950F
Searching for image...
  Found "optiboot_atmega328.hex" for atmega328P
  Start address at 7E00
  Total bytes read: 502

Setting fuses for programming
  Lock: 3F FFE000  Low: FF FFA000  High: DE FFA800  Ext: 5 FFA400

Programming bootloader: 512 bytes at 0x3F00
  Commit Page: 3F00:3F00
  Commit Page: 3F40:3F40
  Commit Page: 3F80:3F80
  Commit Page: 3FC0:3FC0

Restoring normal fuses
  Lock: 2F FFE000

Target power OFF!

Type 'G' or hit RESET for next chip

Any help will be apreciated.

tks a lot

I don't know them. PM westfw and give him this link, see what he says.

I only use a Programmer, and it takes values from boards.txt http://store.atmel.com/PartDetail.aspx?q=p:10500054#tc:description

ok tks a lot anyways!

I have done everything and created the optiboot_atmega328_384_8.hex etc...

But when I open the Arduino IDE and open de serial Monitor it burns the bootloader but not the one I selected on TOOLS > BOARDS.. It always burn the optiboot_atmega328.hex and no the optiboot_atmega328_384_8.hex..

If anyone can help I apreciate!

OptiLoader Bootstrap programmer.

I don't think you understand how "optiloader" works. Optiloader is a stand-alone bootloader programmer with internal copies of the desirable fuses and the optiboot binary (rather old, by now.) It was intended to speed up the sort process of "I want to upgrade all my pre-uno Arduinos to the faster smaller bootloader." It doesn't pay ANY attention to boards.txt, or any of the .hex files that might exist in various directories on your computer. Unless you've edited the optiloader source code itself, it's always going to burn the same bootloader and fuses into the target chips.

If you're using optiloader, you're NOT using "Arduino as ISP." It sounds like you should load ArdinoISP into your arduino and use the "burn bootloader" menu command.

Or you could try Nick Gammon's "Chip Programmer" sketch, which is similar to optiloader, but more flexible and more interactive. http://www.gammon.com.au/breadboard