Hi
It´s posible update the old atmega328p (old bootloader) to the new one bootloader
Thanks
Ricardo
Hi
It´s posible update the old atmega328p (old bootloader) to the new one bootloader
Thanks
Ricardo
You can certainly upload a new bootloader. But you need to have a programmer board - which could be a separate working Uno.
Have a look at this tutorial
...R
thanks, I read the link, I have a nano with this old bootloader, if I understood correctly I should buy the programming card and update the bootloader
Ricardo
The only significant benefit of switching from the old Nano bootloader to the new Nano bootloader is to fix the bug where the board goes into an endless reset loop after a watchdog reset.
If you're going to burn the bootloader to your Nano you should select Tools > Board > Arduino/Genuino Uno, and then always use the board as an Uno after that. This will free up 1.5 kB of flash memory on your Nano in addition to fixing the watchdog reset bug.
I have 2 Nano (clones) that originally had the old bootloader installed. I was having issues when trying to upload an example sketch for a 2.4" spi display. The compiler kept throwing errors. With my limited knowledge on the subject I thought perhaps it might help to update to the new bootloader. That's where my trouble began. I used an Uno as the programmer, and following instructions here https://www.instructables.com/id/How-To-Burn-a-Bootloader-to-Clone-Arduino-Nano-30/
The upload began then seemed to hang with the (what I call) "traffic" led flashing at a consistently high rate. At a ridiculously long period after I halted the operation. Needless to say the Nano would no longer respond. Nor would it accept a new bootloader. Can anyone help me "restore" this Nano to operation? Thanks for any suggestions.
flagtrax:
The compiler kept throwing errors. With my limited knowledge on the subject I thought perhaps it might help to update to the new bootloader.
The bootloader has absolutely nothing to do with compilation. Updating the bootloader will never help with a compilation error. The only error that can be solved by updating the bootloader is an upload error.
flagtrax:
, and following instructions here https://www.instructables.com/id/How-To-Burn-a-Bootloader-to-Clone-Arduino-Nano-30/
From the Instructables:
Now connect the two arduinos together, to do this without female-male jumper cables was time consuming, you have to be VERY CAREFUL and take your time bending the wires, other wise you may short your circuits. ask me first ! In the second picture you can see that first I put the ICSP pins through a piece of paper and then carefully wrapped around them the corresponding wires. Make sure they grab on very tightly, use a small flat head screw driver to bend them.
Wow! Classic Instructables there.
Nor would it accept a new bootloader.
First of all, make sure your wiring is not a huge mess like in that Instructables.
After that, please do this:
Hi Pert, and thanks for the reply. That instructable says to set the board selection to the target board before burning the bootloader, you didn't mention it, but that's what I did. Let me know if that's incorrect. Thanks again.
Arduino: 1.8.7 (Windows 10), Board: "Arduino Nano, ATmega328P (Old Bootloader)"
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m
avrdude: Version 6.3-20171130
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM4
Using Programmer : arduino
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : Arduino
Description : Arduino
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x000000 (retrying)
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x000000 (retrying)
Error while burning bootloader.
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0xffffff (probably .avr8x_mega)
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
I hope I did that right. ![]()
flagtrax:
That instructable says to set the board selection to the target board before burning the bootloader, you didn't mention it, but that's what I did. Let me know if that's incorrect.
That is correct.
flagtrax:
avrdude: Device signature = 0x000000 (retrying)
This error, and your rapidly blinking LED, could be caused by incorrect wiring. Please double check all your wires to make sure they're correct.
flagtrax:
I hope I did that right.
Perfect, thanks!
this is the wiring pattern I used:
Nano Uno
SPI
Header
V V
pin 1 on clone to D12 on working arduino
pin 2 on clone to 5V on working arduino
pin 3 on clone to D13 on working arduino
pin 4 on clone to D11 on working arduino
pin 5 on clone to D10 on working arduino
pin 6 on clone to GND on working arduino
I need to point out at this point there is no led activity at all. That lasted only until I terminated the attempt to burn the bootloader.
Hello, would like to shed some light on bootloading. Its not always cool to copy things from Instructables, without understanding. If you understood...cool...if not..please refer below.
If you hold an Arduino UNO, the top side facing you, with the USB and DC jack pointed towards your left, and the ICSP headers to your right...then the ICSP pinout is like this :
MISO VCC
SCK MOSI
SS GND
And if it is an Arduino NANO, then the pinout for the ICSPs towards your right, and USB mini B towards your left is:
GND SS
MOSI SCK
VCC MISO
Now, most Arduino boards have wiring such that D10 or the 10 marked Digital pin is SS. So connect similar pins of your programmer Arduino to your programmed Arduino accordingly, and connect the SS ICSP pin of the board you are programming to D10 of the board you are using to program it. Please note, the SS ICSP pin of the board you are using as a programmer will be left open, only all 6 ICSP pins will be wired on the board you are uploading the bootloader on.
If using any board other than NANO, UNO, etc as programmer, search for its SS pin on the internet, and connect on that pin instead of D10.
Enjoy.
soooo.... i burned the new bootloader to my nano, after that when im uploading a code at the end it says this
{
writing flash (23326 bytes):
Writing | ################################################## | 100% 3.67s
avrdude: 23326 bytes of flash written
avrdude: verifying flash memory against C:\Users####~1\AppData\Local\Temp\arduino_build_630200/WriteInstinct.ino.hex:
avrdude: load data flash data from input file C:\Users####~1\AppData\Local\Temp\arduino_build_630200/WriteInstinct.ino.hex:
avrdude: input file C:\Users\BADARS~1\AppData\Local\Temp\arduino_build_630200/WriteInstinct.ino.hex contains 23326 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 2.86s
avrdude: verifying ...
avrdude: 23326 bytes of flash verified
avrdude done. Thank you.
}
it uploaded the code but why does it does that???
and i burned the new nano bootloader, but should i burn an uno bootloader?
i have a pro micro, and it uses arduino leonardo's bootloader, can i burn a pro mini's bootloader to it?
Aiki-bot51:
why does it does that???
It's a verification process. It checks that the data in the microcontroller's flash memory matches that in the .hex file you uploaded. You can disable this in File > Preferences > Verify code after upload. That will make the upload process slightly faster but I think it's worth the couple extra seconds to make sure there was no problem. Imagine how much confusion that could cause if your program wasn't working correctly because it was corrupted during the upload, but you assumed the problem was caused by a bug in your code!
Aiki-bot51:
should i burn an uno bootloader?
They're both the same bootloaders. The difference is that the new Nano bootloader configuration unnecessarily still reserves 2 kB of flash memory for the bootloader, even though the bootloader only requires 0.5 kB boot section. So by burning the Uno bootloader you free up 1.5 kB of precious flash memory with no drawbacks!. If you do that, remember to select Tools > Board > Arduino/Genuino Uno when you use your Nano from then on.
Aiki-bot51:
i have a pro micro, and it uses arduino leonardo's bootloader, can i burn a pro mini's bootloader to it?
If you truly meant to say "a pro mini's bootloader", then the answer is no. The Pro Mini uses a different microcontroller (ATmega328P) from the Pro Micro (ATmega32U4) and you can't use the Pro Mini bootloader on a Pro Micro. If you actually intended to say "a pro micro's bootloader", then yes you can do that, but there's no benefit to it.
The ISP by Nick Gammon is by far the simplest and best
phaseform:
by far the simplest and best
I'm interested in your specific reasons for each of those claims. In addition, you need to state what you're comparing it to in order for the statement to have meaning.