2

After reading another post CH340 Nano avrdude: stk500_getsync() not in sync resp=0xa4 I have discovered that the bootloader on current Nano v3.0 has been upgraded. However, the advice given to overcome this problem is based around a more modern version of the Arduino IDE communicating with an old bootloader. I have the reverse problem. I damaged my Arduino Nano that was working with a laptop running Windows XP and bought a replacement. It obviously has the latest bootloader installed so my version of the Arduino IDE v0021 (recommended to run on Windows XP) can no longer upload sketches to the board.

I have uploaded GRBL v1.1h to the Nano board from an Arduino IDE v1.8.19 installation on a Windows 7 computer but the older version of GRBL Control v0.8.1 running on Windows XP has compatibility issues with GRBL 1.1h. I need to upload an earlier version of GRBL that is compatible with GRBL Control v0.8.1 but the bootloader on the new Arduino Nano v3.0 runs at 115200 and the Arduino IDE v0021 expects a baud rate of 57600 so I get these errors

stk500_getsync():not in sync: resp=0x09

stk500_disable(): protocol error, expect=0x14, resp=0x51

Can I upload an older bootloader to a newer Arduino Nano so I can then flash an older version of GRBL that is compatible with GRBL Control v0.8.1 to run on Windows XP?

6
  • 3
    replace the bootloader. the new Nano has the same ATmega328p MCU as the old
    – Juraj
    Commented Jun 23, 2023 at 11:01
  • So it is possible to burn an old bootloader to a new Arduino Nano?
    – Raistlin
    Commented Jun 23, 2023 at 13:27
  • in what sense is your Nano "new"? how can the bootloader knew if it is old or new Nano? where would be a difference for the bootloader?
    – Juraj
    Commented Jun 23, 2023 at 14:09
  • OK point taken. I will make the attempt and report the outcome.
    – Raistlin
    Commented Jun 23, 2023 at 15:03
  • Since at the end of the day it is Avrdude, which talks with the Nano, you can always read its documentation and use an appropriate command line to flash anything you want. Commented Jun 25, 2023 at 7:45

1 Answer 1

1

I agree with Juraj that any bootloader can be uploaded to the newer version of the Nano. However, the process of doing so is not simple. With Windows XP SP3 installed on my laptop I was running Arduino IDE v0021. The process involves connecting an Arduino UNO R3 to the Arduino Nano v3.0 but first you have to communicate with both boards through the Arduino IDE v0021. This requires two different USB drivers. For Device Manager to recognise the UNO R3 I had to copy the "Drivers" folder from my Arduino IDE v1.8.19 installation on my Windows 7 computer to my Arduino IDE v0021 installation folder on my laptop. Inside that drivers folder is a file called "Old_Arduino_Drivers.zip". You need to expand that into the "Drivers" folder. In Device Manager with the Arduino UNO R3 plugged in you can now update the driver for the "Unknown USB" device by searching in the "Drivers" folder. On my computer it installed it as Arduino UNO R3 on COM7. It may be a different COM port on your computer. NOTE: FTDI and CH340 drivers will NOT work on Windows XP with the Arduino UNO R3.

Now disconnect the Arduino UNO R3 and connect the Arduino Nano v3.0. Once again Device Manager should not recognise it. Search the "Drivers" folder once again and it should find a driver. However, this time it will use an FTDI driver to install the Nano. It showed up in Device Manager as USB Serial Port on COM5.

After both these drivers were successfully installed my Arduino IDE v0021 could communicate with both Arduino boards and it could upload sketches to the Arduino UNO R3 but not the Nano...yet. I connected the Arduino UNO R3 and uploaded, "ArduinoISP" from the menu File >> Examples.

I then unplugged the USB cable from the Arduino UNO R3 and physically connected wires between the UNO and the Nano (see the connection diagram here).

With both boards wired correctly, plug the USB cable back into the Arduino UNO R3. You should see LEDs light up on both boards. Open the Arduino IDE v0021 and from the Tools menu select "Arduino Duemilanove or Nano w/ ATmega328" as the board. NOTE: Do NOT select "Arduino Uno" even though it is the board connected to your computer. You are about to burn a new bootloader to the Nano not the Uno. Next select whatever serial port has been allocated to the device. In my case COM7 was allocated to the UNO. Now from the "Tools" menu select "Burn Bootloader >> w/ Arduino as ISP". This worked for me and I was finally able to upload sketches to the Arduino Nano v3.0 using the old version 0021 of the Arduino IDE on Windows XP.

1
  • btw it is better to use the Nano as Uno. you have then the smaller ('new') Optiboot bootloader and a right fuse setting for the bootloader size leaves more flash memory for the sketch
    – Juraj
    Commented Jun 25, 2023 at 11:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.