HI All,
I need some help with a fuse problem. I have a custom circuit board in an art project. The systems uses atmega328p with a 16M crystal. The chips are bootloaded as Duemilanove. At this speed data sheet says voltage must be >4.5V. If the voltage drops below 4 I have experienced brownout program corruption issues.
I want to change the fuse for brownout detect to set it to 4.3V
The standard fuse setting for these chips in the arduino board file is
low: 0xFF
high 0xDA
ext: 0x05
the extended fuse in this case sets brownout to 2.7V.
based on : AVR® Fuse Calculator – The Engbedded Blog
My desired setting is (based on link above) :
low: 0xFF
high 0xDA
ext: 0x04
when I set the fuses like this brownout works perfectly -- exactly what I want.
HOWEVER: I now have to reset power to upload code. (explicitly, first upload no reset needed. Subsequent uploads need power reset).
I have tried also (larger bootload size)
low: 0xFF
high 0xD8
ext: 0x05
good brown out -- reset power to upload code.
Is it possible to have 4.3V brownout and no need for reset press to upload-- or is this some impossible pipe dream of mine? (Why does it work once? -- consistently).
I am not familiar enough with the bootloader / reset line interactions to know if this possible.
Please, if anyone can advise, what fuse combination will allow 4.3 brownout AND no need for reset press to program.
s