How to set Bod fuse

Hi,

I am do my programming with VSCode and PlatformIO which works fine. But now I like to set the Bod fuse which is actually not support by PlatformIO. So how can I change it at best without loading the boodloader? Is there anything I can do with avrdude?

I am new to the hardware near programming.

Thanks ins advance,
Nils

You'd need a device programmer that supports the ATmega4809 (perhaps another Arduino running jtag2updi, but preferably something like a PICKit4 or SNAP programmer.)

I believe that you can modify the BOD behavior from within your sketch. It's only the initial values that are loaded from the fuse. (Of course, if you need different initial values, then you need to change the fuse.)

For 2 Arduinos I prefer the cheap solution. :slight_smile:

I found some guide to program a Nano but not explicit a Every. Is this the same?

Also a could not find anything to change the behaviour of Bid in the sketch. Perhaps you can help me with a buzzword I have to look for.

Cheers
Nils

Oh wait - I keep forgetting that the Every doesn't use a bootloader, and has it's own internal programmer.

Try something like:

/Applications/Arduino-1.8.9 copy.app/Contents/Java/portable/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/Applications/Arduino-1.8.9 copy.app/Contents/Java/portable/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -patmega4809 -cjtag2updi -P/dev/cu.usbserial-A20e1Kh4 -b115200 -Ufuse1:w:0x00:m

(that's pretty specific to my install. But you will want the Arduino "latest" avrdude and conf file in order to support jtag2updi and the 4809. Most of the command is copied from what happens when you do an "upload" from the IDE.)

fuse1 is the BOD fuse

You can also install MegaCoreX if you want to have the BOD settings in the tools menu (along with lots of other options too).

MegaCoreX is better for me actually. :slight_smile:

I will go through it but is it fine to set the fuses once and then work again with Platform IO as I like VSCode for development?

That'll depend on whether platformIO sets any of the fuses each time you upload.
The Arduino IDE sets SOME fuses (every time. But not the BoD fuse.)
I think MegaCoreX sets all of the fuses (unless you've set it to use a bootloader.)
I don't know what platformIO does.