When uploading a sketch to your board you may get an error from the avrdude utility:
- stk500:
-
ser_open():
- avrdude: ser_open(): can’t open device <port>: no such file or directory
- avrdude: ser_open(): can’t open device “/dev/ttyACM0”: Device or resource busy
- avrdude: ser_open(): can’t open device <port>: Resource busy
- avrdude: ser_open(): can’t open device <port>: permission denied
- avrdude: ser_open(): can’t open device <port>: access is denied
- avrdude: butterfly_recv(): programmer is not responding
- avrdude: usbhid_open(): No device found avrdude: jtag3_open_common()
- avrdude: jtagmkII_getsync(): sign-on command: status -1
- Other avrdude errors (general troubleshooting)
Note
The error text may be different depending on your system language.
General troubleshooting checklist
Most errors can be solved by following these steps. After each step, try uploading your sketch again.
-
Make sure you have selected the right board and port correct board under Tools > Board and Tools > Port.
-
For instructions, see Select board and port in Arduino IDE
-
If your board is missing, see If your board does not appear in the port menu
-
-
Close other instances of Arduino IDE, serial monitors, and other software that may be blocking the port. If this doesn’t work, try restarting your computer.
-
Reset your board by pressing the RESET button (a white or blue push button).
-
Check port and cable connections:
-
Try disconnecting and reconnecting the board to the computer, and confirm that the power LED (often labeled “ON”) is lit.
-
If possible, connect the board directly to a USB port. Avoid using a USB hub if possible, or try a different hub.
-
Make sure you are using a data transfer USB cable (charge-only cables will not work). Try connecting your board with a different cable, or testing your cable with a different device.
-
Remove any unneeded USB devices that may be using the ports.
-
-
Remove any connections to digital pins 0(RX) and 1(TX). Anything connected to these pins can interfere with the upload transfer.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt <n> of 10: not in sync
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
...
-
Make sure you have selected the right board and port correct board under Tools > Board and Tools > Port.
-
For instructions, see Select board and port in Arduino IDE
-
If your board is missing, see If your board does not appear in the port menu
-
-
If using the classic Nano, try selecting a different processor in Tools > Processor.
-
For some boards, a loopback test can be performed, which will rule out problems with the serial chip. It can be done with the following boards:
- Arduino UNO (classic)
- Arduino UNO Rev3
- Arduino UNO Rev3 SMD
- Arduino Mega (classic)
- Arduino Mega2560 Rev3
- Arduino Mega ADK Rev3
- Arduino Nano (classic)
If the loopback test passes, or if you can’t do a loopback test, reprogramming the bootloader may resolve the issue. See Burn the bootloader on UNO, Mega, and classic Nano using another Arduino or look for other articles in the Help Center.
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
Make sure you have selected the right board and port correct board under Tools > Board and Tools > Port.
avrdude: ser_open(): can’t open device: No such file or directory
avrdude: ser_open(): can't open device "/dev/cu.usbmodem14101": No such file or directory
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
This error can happen if the board on the selected port has been disconnected from the computer, or reassigned to a different port.
-
Make sure the correct port is selected in Tools > Port.
- For step-by-step instructions, see Select board and port in Arduino IDE.
- If you can’t find the port, see If your board does not appear in the port menu.
-
If using the classic Nano, try selecting a different processor in Tools > Processor.
Note
On Windows, you can manually set a port for the board to stop it from being reassigned.
avrdude: ser_open(): can’t open device <port>: Device or resource busy
-
Make sure the correct port is selected in Tools > Port.
-
Close other instances of Arduino IDE, serial monitors, and other software that may be blocking the port.
-
Restart your computer.
avrdude: ser_open(): can’t open device <port>: Resource busy
-
Make sure the correct port is selected in Tools > Port.
-
Close other instances of Arduino IDE, serial monitors, and other software that may be blocking the port.
-
Restart your computer.
avrdude: ser_open(): can’t open device <port>: Permission denied
This error can occur on Linux if your user account is part of the dialout
group. See Fix port access on Linux to resolve the issue.
avrdude: ser_open(): can’t open device <port>: access is denied
-
Make sure the correct port is selected in Tools > Port.
-
Close other instances of Arduino IDE, serial monitors, and other software that may be blocking the port.
-
Restart your computer.
avrdude: butterfly_recv()
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: leave prog mode
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: exit bootloader
Make sure you have selected the right board and port correct board under Tools > Board and Tools > Port.
For instructions, see Select board and port in Arduino IDE.
avrdude: usbhid_open(): No device found
avrdude: jtag3_open_common()
avrdude: usbhid_open(): No device found
avrdude: jtag3_open_common(): Did not find any device matching VID 0x03eb and PID list: 0x2145
An error occurred while uploading the sketch
Make sure you have selected the right board and port correct board under Tools > Board and Tools > Port. In particular, this error can occur when uploading to an Arduino UNO Rev3 or classic, when having megaAVR Boards > Arduino Uno WiFi Rev2 as the selected board.
avrdude: jtagmkII_getsync(): sign-on command: status -1
Make sure you have selected the right board and port correct board under Tools > Board and Tools > Port.
Still need help?
-
Visit the Avrdude, stk500, Bootloader issues category in the Arduino forum.
Please include this information:
- A verbose error output
- The name of your board
- Your operating system
- Your Arduino IDE version