Unable to upload to Arduino Micro (Port Busy)


I have an Arduino Micro that has a working sketch on which I made some changes.
However, for some reason I cannot upload the sketch.

The IDE says the port is busy. I have searched on this issue and found a lot of similar problems but unfortunately few real solutions.

The following error message is shown:

Sketch uses 8670 bytes (30%) of program storage space. Maximum is 28672 bytes.
Global variables use 437 bytes (17%) of dynamic memory, leaving 2123 bytes for local variables. Maximum is 2560 bytes.
Forcing reset using 1200bps open/close on port COM3
	at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:152)
	at cc.arduino.UploaderUtils.upload(UploaderUtils.java:77)
	at processing.app.SketchController.upload(SketchController.java:732)
	at processing.app.SketchController.exportApplet(SketchController.java:703)
	at processing.app.Editor$UploadHandler.run(Editor.java:2055)
	at java.lang.Thread.run(Thread.java:748)
Caused by: processing.app.SerialException: Error touching serial port 'COM3'.
	at processing.app.Serial.touchForCDCReset(Serial.java:107)
	at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:136)
	... 5 more
Caused by: jssc.SerialPortException: Port name - COM3; Method name - openPort(); Exception type - Port busy.
	at jssc.SerialPort.openPort(SerialPort.java:164)
	at processing.app.Serial.touchForCDCReset(Serial.java:101)
	... 6 more

I am running:
OS: Windows 10 Pro, Version 2004, OS Build 19041.630, Windows Feature experience pack 120.2212.31.0
Board: Arduino Micro
IDE: 1.8.13

I have already tried the following:

  • Restart PC
  • Unplug all other USB devices and changed input devices
  • Reinstall Arduino IDE
  • Reinstalled Driver for COM port Arduino is on
  • Changed COM port for Arduino
  • Used another USB Cable
  • Used multiple different USB ports

I Can get my board info when connected to COM3.

I have attached the com port selection in the IDE and the com port settings in device manager.

Any help would be greatly appreciated as I am completely lost now.

Thank you in advance.

Arduino Com.png

Arduino Com.png


Removing the Arduino Micro (COM3) from device manager and reinstalling the drivers, then a restart works for 1 upload. After that, the issue persists.

So basically for each upload I need to uninstall, reinstall and reboot.

Any help would be appreciated.

You seem to have all the bases covered in an excellent first post.

That it only seems to appear on one particular USB port can be an indicator of a USB problem.
Usually that is a USB 3.x type issue.

Check the driver for your USB ports and if is is a MICROSOFT issued one then roll it back to the manufacturers version or update using the latest manufacturers version.

Another test would be to borrow or use a USB 2.0 POWERED hub and insert that between the USB of the computers and plug the Arduino into that.


I'm not sure if the OP has solved the issue here, however I have just been having similar issues with a genuine Arduino Nano IoT 33 and wanted to share my 'solution' for others. Apologies if I am jumping on an old thread but this was the closest to my experience and the most recent to comment on, that I could find.

TL;DR: In my instance, closing NZXT (a general system monitoring application), an application set to start with Windows, prevented the "Port Busy" error and allows repeated successful uploads. Check the applications set to start with windows / running in the system tray and close them one by one to test if they are unexpectedly trying to read COM ports resulting the the "Port Busy" error during an upload.

I was seeing the same "Port Busy" errors over and over, with all the same symptoms as described above at various points. I could see the board in Device Manager, reinstalled drivers, restarted, and managed to connect to the board once or twice but without an obvious pattern. The board was also working when connected to other machines.

After a lot of trawling through posts and investigating COM port assignments, USB hubs, ports, drivers etc. I had one instance where the an upload was successful immediately (as quick as I could open ArduinoIDE) after a reboot. A consecutive upload a few seconds later failed after no hardware / connection changes.

I had a look at the applications that I had installed and that were set to "Startup with Windows"; the theory being that the successful upload above must have happened before an application had fully loaded after reboot / Windows login.

In my case I found that if I closed NZXT (a general system monitoring application) from the system tray, all uploads were successful, repeatably. Starting NZXT once more, and the uploads failed.

I would reccomend that the OP looks through the extra processes set to start with windows / running in the system tray and closes one by one, trying an upload between each application close. This may isolate something, like NZXT, that is unexpectedly interacting with COM ports and 'blocking' Arduino uploads.


The 33 IOT is a different beast but you spotted extra software causing similar issues which I believe is covered in one of the following links

Could you also take a few moments to Learn How To Use The Forum.

Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.