This might help someone else.
I have some Elegoo Nano's which I quite like (nicely made, cheap) despite always advocating buying the real thing. Cheap because it has CH340 chip, not FTDI.
All has been well until today, when none of them would upload sketches.
Went through the whole lot, checking device drivers (ignore the advice to look in "Other devices" in Win 10 to see if driver installed, it's actually in Ports(COM and LPT).
Rebooted the PC, CH340 driver all up to date, device working properly, still wouldn't upload. Tried on another PC, worked OK.
Solution? Don't use (in Tools) Processor > ATmega328P, but ATmega328P (old bootloader).
Never seen it before, wasted hours. All I can think is that a careless flick of the cursor changed it.. Come to think of it, I do remember a fleeting glimpse of old bootloader.
Phew...
tigger:
ignore the advice to look in "Other devices" in Win 10 to see if driver installed, it's actually in Ports(COM and LPT)
It was there because the driver was already installed. If no driver was installed it would have been in "Other Devices".
tigger:
All I can think is that a careless flick of the cursor changed it.
More likely what happened is the Arduino IDE showed a notification that an update was available for your boards, then you installed Arduino IDE 1.6.21, which is the first version to have Tools > Processor > ATmega328P (Old bootloader). Default selection is Tools > Processor > ATmega328P.
Yes Pert, you are quite right, but you have the advantage of knowing a lot more about the subject than me.
When things go wrong for no obvious reason, I generally go to the web for advice and the only item I found on the CH340 not behaving advised looking in Device Manager>Other devices and if the chip had been detected, it would show as a serial (generic) device. If the driver had installed, it would show as CH340, but still in Other devices. Luckily, I found it in the Ports section. Other users of CH340 have reported problems with the driver, but these clones had worked out of the box and I didn't need to install the driver.
I can throw a bit more light on this problem. I use two PCs for Arduino work. One runs IDE 1.8.3, the other 1.8.5.
The Nano worked on 1.8.3 and not on 1.8.5, but, yes, I had updated the AVR boards package to 1.6.21 the same day on one PC, but not the other, so one showed two processor options for the Nano (ATmega328P and ATmega168P), and the updated one showed the extra ATmega328P(old bootloader).
I think I must have accidentally changed it as I don't generally go any further than select the board "Nano" and don't touch Processor choices unless I have reason to do so.
I'm still none the wiser on the significance of "old bootloader" in relation to this clone with CH340 and without a "genuine" Nano with FTDI to test it against, I wouldn't know which one to choose. So processor choice ATmega328P works on one PC (the non-updated), but not on the updated one with the extra "old" choice
The good thing is that what was becoming a search to find non-working USB ports (Win 10 new settings was showing FT232 error) is now resolved and another lesson learned. I will see if there is any information with the update that I should have checked, but it's a case of ticking accept without going through reams of T&Cs.
Thanks for your input
The only change from Arduino AVR Boards 1.6.20 to 1.6.21 was the change of the Arduino Nano board's Tools > Processor > ATmega328P menu item to use the Optiboot bootloader and the addition of the Tools > Processor > ATmega328P (Old bootloader) menu option to retain support for Nanos which use the classic bootloader. Other than that the two versions are identical. The reason for this change was that new Arduino Nanos are now being shipped with the Optiboot bootloader.
Thanks for the explanation. I'll look at tools a bit more carefully next time.
This helped me with arduino nano with chinese CH340 chip too. Thaks a lot.!
Thanks tigger,
I also bought some cheap Nano boards with CH340 chips and I couldn't upload to them until I selected the old bootloader. I don't know why it works, but it does. Now I can finally get some programming done.
Scott
Hello. I too am using the cheap variety of a Nano, no real problems. PC, Windows 10. However, now I cannot connect them. I developed a sketch using Mega2560, then tried to upload it to a Nano. I know the CH340 driver is installed, in fact, when I plug in the USB cable, it shows up as such in Device Manager. I've used the (old bootloader) option all along, successfully to this point. Now I can't get board info or do an upload. I've tried it on two different computers and three different Nanos.
I've tried updating/reinstalling the driver and the IDE. Any input is appreciated.
Thank you
Duke
Error message copied below.....
Arduino: 1.8.10 (Windows 10), Board: "Arduino Nano, ATmega328P (Old Bootloader)"
Sketch uses 1382 bytes (4%) of program storage space. Maximum is 30720 bytes.
Global variables use 15 bytes (0%) of dynamic memory, leaving 2033 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x42
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x42
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
goin-again:
Error message copied below.....
Do you have anything connected to the Nano like wiring or modules? If so, disconnect everything from the Nano and try uploading again.
Yes, but I have already tried 2 other new-fresh-from-box units-no-hookups w/ the same results.
After looking at the output in the console, it shows 'not in sync' and 'programmer is not responding'. Would that indicate a communication problem? I've installed a driver from a different source. It is consistent in finding where I plug in the Nano. I've made changes in the data rate at the machine level (Device Mgr properties), no luck. The config file locations agree (I have several files of the same name thru the PC, one by one I've renamed them so I'm ~assured~ that it isn't being confused by a wrong version).
I'm wondering if I got a bad batch of 3 Nanos (Elegoo is the source). I've used them before, but this is a new box of 3. Maybe made on Monday or Friday, if that is allowed in China.
pert, I appreciate your input. I'm still working on it...
Thanks
Duke
Success!
I've tried updating drivers, installing the latest version of the IDE (Arduino program), different cables, you name it. I am not really sure how this came about, but the program uploaded.
After each change like file-renaming, I've re-started the IDE, same result. After each driver change, I've re-started the PC. It is possible I missed a program re-start, but don't think so. After my last post, I re-started IDE, then Tools>Board:Nano>Processor:.... but I chose the ATmega328P option, NOT the Old Bootloader. Get Board Info still returned nothing, but I tried an upload and it worked. I had a new Nano connected at the time, so I connected my project Nano and it worked too.
The only thing I see different is that the previous attempts stopped at "Overriding Baud Rate 57xxx" and this one went to 115xxx, then continued very quickly to completion. Perhaps the newer driver, from wch.cn, is different than the one supplied by Elegoo, in not requiring the Old Bootloader.
Using Port : COM8
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATmega328P
Anyway, the project is running just fine. pert, thank you for the attention. Not just for this one, but for all the posts you've made helping users here. Hats off for your perseverance.
Again, many thanks.
Duke
goin-again:
Get Board Info still returned nothing
That's normal. You'd get the same with even an official Nano. The reason is these boards use a general purpose USB to TTL serial chip. It's only the boards that use a programmable USB to TTL serial chip (e.g., official Uno and Mega) or a primary microcontroller with native USB support (e.g., Leonardo, Micro, MKR) that can provide the board info.
goin-again:
The only thing I see different is that the previous attempts stopped at "Overriding Baud Rate 57xxx" and this one went to 115xxx, then continued very quickly to completion. Perhaps the newer driver, from wch.cn, is different than the one supplied by Elegoo, in not requiring the Old Bootloader.
It's not about the driver, it's about the bootloader. The "old bootloader" boards have a bootloader that communicates with the computer at 57600 baud. In 2018, Arduino changed to using an improved bootloader on their Nanos. This bootloader communicates at 115200 baud. So the Arduino IDE needs to be configured to communicate at the correct baud rate, otherwise the upload fails. The primary purpose of the Tools > Processor > ATmega328P and Tools > Processor > ATmega328P (Old Bootloader) menu options is the switch that upload baud rate configuration.
goin-again:
Anyway, the project is running just fine. pert, thank you for the attention. Not just for this one, but for all the posts you've made helping users here. Hats off for your perseverance.Again, many thanks.
You're welcome. I'm glad to hear it's working now. Enjoy!
Per