Upgrading Arduino Bootloader

The cheap clone (aka knockoff) Arduino boards you find tend to come with the OLD Atmega328p bootloader installed as well as using CH340 for USB to Serial that requires a separate driver to be installed so it doesn’t connect right out of the box with Arduino IDE until the CH340 Drivers are installed.


Now the OLD Bootloader usually trips people up if they are new, when using the Arduino IDE selecting Arduino UNO or Nano as your board will leave you with 2 processor options, ATMEGA328P and OLD BOOTLOADER ATMEGA328P. By default it does not use the old bootloader and your sketch will fail to upload. In many cases the clone boards may be so cheap they do not even come with any documentation at all to tell you to select the Old Bootloader option.


A few reasons:

  1. The OLD Bootloader has a Watchdog timer issue that will eventually reset your board unexpectedly, this may not be an issue for your very first Blink sketch but it will definitely be a problem as you graduate to more advanced projects.
  2. OLD Bootloader uploads Sketches at only 57600 bps baud rate, while the new OptiBoot accepts 115200 bps making transferring code to your Arduino twice as fast. This is a huge help when it comes to more complex coding that will often need multiple changes to fix bugs where you are uploading updated sketch’s frequently.
  3. The new OptiBoot bootloader is also half the size of the old but Arduino project never changed some other items in the source to make that saved space useable. However in the future that might change and you’ll have more room for your own code sketch.
  4. It essentially brings your Clone up to date and basically makes it a true Arduino (as far as the codebase goes).
  5. It’s really easy to do if you have a second Arduino of any type handy to act as a “Programmer” just takes a few minutes.

This applies to all ATMega328P based Arduino’s, like the two most popular UNO and Nano. I’m using a Nano clone here because they came in a 3 pack at a very cheap price on Amazon and they are using the Old Bootloader out of the box. See the review for these REXQualis brand Arduino Clones


Using another Arduino as a “Programmer” you’ll need to hook up the pins below on the “Programmer” to the ICSP (In Circuit Serial Programmer) pins on the board that you wish to upgrade like this, again same pins outs for the UNO and the Nano (CLICK TO ENLARGE):

Arduino Bootloader Wiring Diagram


Check out the video above for the step by step instructions!