Bootloader questions

This is just for interest sake, only, for now. I recently bought a Nano, to go inside a gizmo. Failed to upload a test prog. at first. I had to select Nano (with old bootloader). For this instance, it doesn't matter, as it is a one off. So, for the sake of any future occurence, I would like to know how I upload a new bootloader. I know it can be done from an external programmer, and doing a quick check, I found I could use a Uno to do it.

Ok. I have the H/W but a) where would I find the new Bootloader file and b) what S/W would I need to actually do it?

Sorry if this is a stupid question.


a) where would I find the new Bootloader file

b) what S/W would I need to actually do it?

The "new" bootloader .hex files (which are just the same bootloader that Uno has been using since ... nearly forever) are part of the Arduino distribution, and the IDE knows both where they are and how to program them. So once you have a programmer (or another Arduino with the "Arduino as ISP" sketch loaded) wired up properly (and properly configured WRT "programmer" and "port" in the tools menu), all you have to is select "Burn Bootloader" from the tools menu... For deeper info and even newer bootloaders, see

You can also put the Uno bootloader on a Nano, this will give you slightly more program memory for your sketch because the Nano bootloaders reserve more memory for the bootloader itself. The sketch can also be loaded using an ISP programmer, but this removes the bootloader in the process, so updating the sketch over USB will no longer work.

Thanks, guys.

Will save that info for reference.

I'm bound to get another, sooner later.


Does the IDE handle the CPU flags and other settings correctly