I'm trying to upload a sketch to my Arduino board, but it keeps failing. I'm using the Arduino IDE, and I’ve double-checked my code—it compiles fine. However, during upload, I get an error message like “avrdude: stk500_recv(): programmer is not responding” or “timeout communicating with programmer.”
This is a common issue, and it usually means the Arduino IDE is unable to communicate with your board during the upload process.
Here are several things you should check:
1. Check Board Selection
Tools → Board – Make sure the correct board (e.g., Uno, Nano) is selected.
2. Check Port
Tools → Port – Choose the correct COM port (replug board to see which one appears).
3. Use a Proper USB Cable
Some cables are charge-only. Try a different one that supports data.
4. Install Drivers
For clone boards (e.g., CH340), make sure USB drivers are installed.
5. Disconnect from Pins 0 & 1
Remove anything connected to RX (0) and TX (1) during upload.
6. Try Reset
Press the Reset button just before or during upload (for older boards).
7. Bootloader
If the board is new or a clone, it might not have a bootloader. You'll need to burn it using another Arduino.