I'm now looking at getting this all on the Nano I ordered. I was using a Mega for the prototyping and bought a nano and uno R3 as well, which if course have been all boxed up for the last 3 weeks....
However, it just wouldn't work. From all the posts, I thought it had to be the cable.. even though I tried 6, and my old go-pro works fine with the cables. Finally today I found out that I could change the processor to the old one. But this is a brand new Nano (bought from amazon.fr - supplied by Arduino directly.)
So, an hour or so later, of finding out how to upload the new bootloader, I was able to upload the blink sketch.. once.. and only once. If I reflash it, it worked again.. once, but only really small sketches. I can upload programmatically via the UNO with Arduino IDE 2.1.0, but normally just with ctrl+u is hit an miss (with 99 misses for each hit).
2 hours of trying and battling I decided to try the webUI, and ... it works perfect.
I now just downloaded and installed Arduino 1.8.19 and that works perfect as well.
Both have AVR boards 1.8.6 installed.
So.. is there an issue with 2.1.0? as cloud based or the old software works fine (and I'd also love to know why my brand new Nano, was supplied with a pre 2018 bootloader.. but guess I'll have to wait for amazon/arduino support for that)
PS.. YES: I've rebooted, changed cables, uninstalled, re-installed, updated drivers, downgraded drivers, tried different ports, computers, and even tried standing on my head while typing upside down..
I did, and it worked the first time, which was when I realised I had wasted money on new cables
But it wouldn't work again after that. Which was why I then researched how to update the bootloader.
But that still begs 2 questions:
Why was the old bootloader (from prior to 2018) on a brand new Nano purchased in May 2023.
Why does it work with the old software and on the WebUI, but not the V2 IDE, and the only thing that does load on V2 software is blink (sometimes) and a clean sketch?
I'm starting to think that this was a return that somebody screwed up after trying to flash with an old version of the bootloader, it went back to Ardiuno, somebody plugged it in, uploaded blink, shrugged their shoulders, and repackaged it and sent it back to the Amazon stores.
I've now looked even closer at the box, and there is a label stuck over the original.
There are issues with IDE2.x in combination with the FTDI chip. The one I'm aware of is that you have to close the serial monitor before performing an upload.
Hi @semitone3d. I'm sorry about the trouble with the Nano board.
Please note that when you do an "Upload Using Programmer" operation, you erase the bootloader, so it is expected that, after doing that operation, you will no longer be able to upload via the USB jack on the Nano board until after you have replaced the bootloader by doing a "Burn Bootloader" operation.
I'm going to ask you to post the full output from one of these "miss" uploads using Arduino IDE 2.x when in verbose mode.
NOTE: These instructions will not solve the problem. They are only intended to gather more information which might provide a clue that eventually leads to a solution.
Please do this:
Select File > Preferences from the Arduino IDE menus.
Uncheck the box next to Show verbose output during: ☑ compilation
Check the box next to Show verbose output during: ☐ upload.
Click the OK button.
Attempt an upload, as you did before.
Wait for the upload to fail.
You will see a "Upload error: ..." notification at the bottom right corner of the Arduino IDE window. Click the COPY ERROR MESSAGES button on that notification.
Open a forum reply here by clicking the Reply button.
Click the <CODE/> icon on the post composer toolbar.
This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
Press Ctrl+V.
This will paste the error output from the upload into the code block.
Move the cursor outside of the code tags before you add any additional text to your reply.
Click the Reply button to post the output.
This label is used to allow internal inventory control by Amazon for the products that use their FBA (Fulfillment By Amazon) service, which is used for all Amazon Prime orders.
With this service, a seller ships a bulk lot of a product to an Amazon warehouse and then Amazon takes care of shipping to the final customers when they order the product. Amazon requires a "Fulfillment Network Stock Keeping Unit" (FNSKU) code be attached to each product, which is the alphanumeric and bar code you see on the label. This is different from the standard SKU because it must identify the seller who owns that unit (Amazon Marketplace allows multiple sellers to list the same product) in addition to the product model.
TLDR: @sterretje seems to have been 100% correct, and closing the serial monitor appears to have fixed it. I would open it after one successful upload each time above and didn't think of that. But sure enough, closing it now and it seems to work perfect. Regarding the old stock.. While that makes sense.. since there are reported issues with the old bootloader as far as I have read, when buying something in 2023 brand new from arduino themselves (even if shipped from amazon warehouses), I would have hoped that they would have patched their old stock. I was lucky to have another device to use as a programmer to reflash it.
...............
The long of it: Here is the code you asked for, Not sure if there are any hints or help to see why it crashes with the serial monitor open:
Arduino IDE 2.1.0
FQBN: arduino:avr:nano
Using board 'nano' from platform in folder: C:\Users\semitone3d\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Using core 'arduino' from platform in folder: C:\Users\semitone3d\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
...
...
snip
Sketch uses 4528 bytes (14%) of program storage space. Maximum is 30720 bytes.
Global variables use 348 bytes (16%) of dynamic memory, leaving 1700 bytes for local variables. Maximum is 2048 bytes.
"C:\Users\semitone3d\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude" "-CC:\Users\semitone3d\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf" -v -patmega328p -carduino "-PCOM5" -b115200 -D "-Uflash:w:C:\Users\semitone3d\AppData\Local\Temp\arduino\sketches\2DF4692FA8BC9115AD1E7E09F97B6342/Color_Organ.ino.hex:i"
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\semitone3d\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: ser_open(): can't open device "\\.\COM5": Access is denied.
avrdude done. Thank you.
Failed uploading: uploading error: exit status 1
Arduino 1.8.19
C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\semitone3d\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\semitone3d\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\semitone3d\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -vid-pid=0403_6001 -ide-version=10819 -build-path C:\Users\semitone3d\AppData\Local\Temp\arduino_build_880896 -warnings=none -build-cache
...
...
snip
Sketch uses 4528 bytes (14%) of program storage space. Maximum is 30720 bytes.
Global variables use 348 bytes (16%) of dynamic memory, leaving 1700 bytes for local variables. Maximum is 2048 bytes.
C:\Users\semitone3d\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude -CC:\Users\semitone3d\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf -v -patmega328p -carduino -PCOM5 -b115200 -D -Uflash:w:C:\Users\semitone3d\AppData\Local\Temp\arduino_build_880896/Color_Organ.ino.hex:i
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\semitone3d\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 115200
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: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\semitone3d\AppData\Local\Temp\arduino_build_880896/Color_Organ.ino.hex"
avrdude: writing flash (4528 bytes):
Writing | ################################################## | 100% 1.72s
avrdude: 4528 bytes of flash written
avrdude: verifying flash memory against C:\Users\semitone3d\AppData\Local\Temp\arduino_build_880896/Color_Organ.ino.hex:
avrdude: load data flash data from input file C:\Users\semitone3d\AppData\Local\Temp\arduino_build_880896/Color_Organ.ino.hex:
avrdude: input file C:\Users\semitone3d\AppData\Local\Temp\arduino_build_880896/Color_Organ.ino.hex contains 4528 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 1.55s
avrdude: verifying ...
avrdude: 4528 bytes of flash verified
avrdude done. Thank you.
I have now noticed that if I have the serial monitor open on v1.8.x everything still works ok.
BUT. if I have v2.x and v1.8.x open, and the serial monitor on v2.x is open.. v1.8.x also gives a similar error.
I haven't posted the code for when using the WebUI, but it appears to crash if the serial monitor is open on any of the local IDE's
To be expected; only one process can use the serial port at a time. Within the IDE, the IDE can control which if its processes has the serial port (serial monitor or the upload tool); the IDE can not control other processes (e.g. IDE 2.0 can't control the processes of IDE 1.8 and vice versa).