Arduino UNO bootloader question
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- Kid347
- Posts: 6
- Joined: Wed May 03, 2017 10:48 pm
Arduino UNO bootloader question
I have a number of Arduino UNO R3 boards, and I want to first check and see what bootloader is on the chips, and then I want to upgrade to the latest optiboot 8.0. What would be the best product to purchase to make the upload/install optiboot 8.0 the easiest? Thank you in advance.
- bidrohini
- Posts: 202
- Joined: Thu Oct 20, 2022 10:03 am
Re: Arduino UNO bootloader question
https://www.instructables.com/Atmega328 ... ing-Guide/
You can find this guide helpful in this regard.
You can find this guide helpful in this regard.
- Kid347
- Posts: 6
- Joined: Wed May 03, 2017 10:48 pm
Re: Arduino UNO bootloader question
Thank you for your reply, but I did not see how to find what bootloader is currently installed. Any suggestions.
- bidrohini
- Posts: 202
- Joined: Thu Oct 20, 2022 10:03 am
Re: Arduino UNO bootloader question
I found the following suggestion. You can check if it works:
You can check which bootloader is installed on an Arduino UNO R3 by using the Arduino IDE. Follow these steps:
Connect the Arduino to your computer.
Open the Arduino IDE.
Go to the "Tools" menu, select "Board" and then choose "Arduino/Genuino Uno."
Go to the "Tools" menu, and select "Serial Monitor."
Power cycle the Arduino (unplug and plug it back in).
Look for the message in the Serial Monitor that says "Bootloader Version."
You can check which bootloader is installed on an Arduino UNO R3 by using the Arduino IDE. Follow these steps:
Connect the Arduino to your computer.
Open the Arduino IDE.
Go to the "Tools" menu, select "Board" and then choose "Arduino/Genuino Uno."
Go to the "Tools" menu, and select "Serial Monitor."
Power cycle the Arduino (unplug and plug it back in).
Look for the message in the Serial Monitor that says "Bootloader Version."
- westfw
- Posts: 2008
- Joined: Fri Apr 27, 2007 1:01 pm
Re: Arduino UNO bootloader question
I'm pretty sure that there is no "bootloader version" from Uno-class Arduinos.Look for the message in the Serial Monitor that says "Bootloader Version."
If you have a device programmer (or another Arduino running Arduino as ISP), you can look at the last two bytes of the flash memory:
That 0308 at the end of the .hex file is the version. (Once it's byte-swapped: v8.3)> /Applications/Arduino-1.8.19.app/Contents/Java/portable/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/Applications/Arduino-1.8.19.app/Contents/Java/portable/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -patmega168 -cstk500v1 -P/dev/cu.usbserial-FTD61T6Q -b19200 -Uflash:r:foo.hex:i
:
Reading | ################################################## | 100% 12.27s
avrdude: writing output file "foo.hex"
avrdude: safemode: Fuses OK (E:F8, H:DD, L:FF)
avrdude done. Thank you.
> tail foo.hex
:203FA0008091C6000895E0E6F0E098E1908380830895EDDF803219F088E0F5DFFFCF84E1D5
:203FC000DFCFCF93C82FE3DFC150E9F7CF91F1CFFC010A0167BFE895112407B600FCFDCFA2
:203FE000667029F0452B19F481E187BFE8950895FFFFFFFFFFFFFFFFFFFFFFFFFFFF030896
:00000001FF
There is also https://github.com/WestfW/fusebytes
But it's unlikely to work on "production" Arduinos because they are paranoid and don't let the application read the bootloader memory section.
- Kid347
- Posts: 6
- Joined: Wed May 03, 2017 10:48 pm
Re: Arduino UNO bootloader question
Thank you for your reply, I will give it a try. When I upload a sketch in the message area it says hardware version 4.4 do you know what this means?
- westfw
- Posts: 2008
- Joined: Fri Apr 27, 2007 1:01 pm
Re: Arduino UNO bootloader question
Well, that's embarrassing. I entirely forgot that if you have "verbose" messages about uploading configured in your Arduino preferences, it actually reports the bootloader version under the "Firmware Version" label:When I upload a sketch in the message area it says hardware version 4.4 do you know what this means?
Code: Select all
Applications/Arduino-1.8.13.app/Contents/Java/portable/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/Applications/Arduino-1.8.13.app/Contents/Java/portable/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -V -patmega328p -carduino -P/dev/cu.usbserial-A20e1Kh4 -b115200 -D -Uflash:w:/tmp/Arduino1.8.13Build/fusebytes.ino.hex:i
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/Applications/Arduino-1.8.13.app/Contents/Java/portable/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
User configuration file is "/Volumes/MacOS/HD-Users/BillW/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/cu.usbserial-A20e1Kh4
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATmega328P
[blah blah blah]
Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 8.1
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us
Factory Arduinos generally ship with version 4.4 of the bootloader.
There really haven't been a lot of changes since 4.4 that are relevant to the ATmega328; most of the optiboot edits have added chips. or adapted to new compiler versions or made the build process more flexible.
You would get the ability to write flash from the application, and examine the original reset cause, if one of those is what you are looking for.
- Kid347
- Posts: 6
- Joined: Wed May 03, 2017 10:48 pm
Re: Arduino UNO bootloader question
Thank you, that is what I was looking for. it looks like all my UNO boards are using firmware 4.4. I will be updating a few to optiboot 8.0 . Finally got my answer.
Please be positive and constructive with your questions and comments.