Overview
Cannot upload sketches to your Arduino Nano? This is usually caused by one of two issues: a low-quality USB cable that only provides power (not data), or the wrong processor/bootloader selected in Arduino IDE.
This guide covers both common fixes for Arduino Nano upload errors.
Check the USB cable
Use a proper USB cable with data lines:
- Not all USB cables are equal: Some cheap USB cables only have power wires (for charging) and lack data wires needed for programming
- Try a different cable: Replace your current USB cable with a known-good cable that supports data transfer
- Test the cable: Try using the cable to transfer files between devices - if it only charges but doesn't transfer data, it won't work for programming
A proper USB Mini-B cable (for Arduino Nano) or USB Micro-B cable (for Arduino Nano Every) with data lines is essential for uploading sketches.
Select old bootloader (for clones)
For Arduino Nano clones or older boards:
In newer versions of Arduino IDE (1.8.8 and later), you may need to select "ATmega328P (Old Bootloader)" from the Processor options:
- Open Arduino IDE
- Go to Tools → Board and select "Arduino Nano"
- Go to Tools → Processor
- Select "ATmega328P (Old Bootloader)"
- Try uploading again
Many Arduino Nano clones use an older bootloader version that requires this setting. If the upload still fails, try switching back to "ATmega328P" (without "Old Bootloader").
Check drivers (Windows)
For Windows users:
Some Arduino Nano clones use the CH340 USB-to-serial chip instead of the FTDI chip used on official boards. If your computer doesn't recognize the Nano:
- Install CH340 drivers: Download from Arduino driver installation guide
- Check Device Manager: Open Device Manager (Windows) and look under "Ports (COM & LPT)" - your Arduino should appear as a COM port
- Select the correct port: In Arduino IDE, go to Tools → Port and select the COM port for your Arduino Nano
Further help
If you've tried these steps and still cannot upload:
- Check the power LED: When you plug in the Nano, a small LED should light up indicating it has power
- Try a different USB port: Some USB ports provide more stable power than others
- Check for error messages: Read the error message in Arduino IDE carefully - it often points to the specific problem
- See also: How to upload a sketch with Arduino IDE 2.0