HELP! keep getting "Error opening serial port 'com3'.(port busy)"

So, I know this is an incredibly frequent problem that people seem to experience on here and after endlessly scrolling through this forum searching for answers nothing at all has worked.

I keep getting the "Error opening serial port 'com3'.(port busy)" message when trying to open the serial monitor after compiling my code for a ultrasonic sensor. I've tried most of the suggestions on here and I still get the message.

For some reason I can open the Serial monitor when the code is compiling but not once it has compiled. Also, I have two USB ports on my laptop but they both show up as COM3. I found this unusual.

Any help would be greatly appreciated!

Error message:
Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Board: "Raspberry Pi Pico, 2MB (no FS), 125 MHz, Small (-Os) (standard), Disabled, Disabled, None, Pico SDK"

C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\hardware -hardware C:\Users\sean_\OneDrive\Documents\ArduinoData\packages -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\tools-builder -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\hardware\tools\avr -tools C:\Users\sean_\OneDrive\Documents\ArduinoData\packages -built-in-libraries C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries -libraries C:\Users\sean_\OneDrive\Documents\Arduino\libraries -fqbn=rp2040:rp2040:rpipico:flash=2097152_0,freq=125,opt=Small,rtti=Disabled,dbgport=Disabled,dbglvl=None,usbstack=picosdk -vid-pid=2E8A_00C0 -ide-version=10819 -build-path C:\Users\sean_\AppData\Local\Temp\arduino_build_298198 -warnings=none -build-cache C:\Users\sean_\AppData\Local\Temp\arduino_cache_639404 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.pqt-elf2uf2.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-elf2uf2\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-elf2uf2-1.3.3-a-ed6d983.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-elf2uf2\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-pioasm.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-pioasm\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-pioasm-1.3.3-a-ed6d983.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-pioasm\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-mklittlefs.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-mklittlefs\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-mklittlefs-1.3.3-a-ed6d983.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-mklittlefs\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-gcc.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-gcc\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-gcc-1.3.3-a-ed6d983.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-gcc\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-python3.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-python3\1.0.1-base-3a57aed -prefs=runtime.tools.pqt-python3-1.0.1-base-3a57aed.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-python3\1.0.1-base-3a57aed -prefs=runtime.tools.pqt-openocd.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-openocd\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-openocd-1.3.3-a-ed6d983.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-openocd\1.3.3-a-ed6d983 -verbose C:\Users\sean_\OneDrive\Documents\Arduino\Arduino\Arduino.ino
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\arduino-builder -compile -logger=machine -hardware C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\hardware -hardware C:\Users\sean_\OneDrive\Documents\ArduinoData\packages -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\tools-builder -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\hardware\tools\avr -tools C:\Users\sean_\OneDrive\Documents\ArduinoData\packages -built-in-libraries C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries -libraries C:\Users\sean_\OneDrive\Documents\Arduino\libraries -fqbn=rp2040:rp2040:rpipico:flash=2097152_0,freq=125,opt=Small,rtti=Disabled,dbgport=Disabled,dbglvl=None,usbstack=picosdk -vid-pid=2E8A_00C0 -ide-version=10819 -build-path C:\Users\sean_\AppData\Local\Temp\arduino_build_298198 -warnings=none -build-cache C:\Users\sean_\AppData\Local\Temp\arduino_cache_639404 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.pqt-elf2uf2.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-elf2uf2\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-elf2uf2-1.3.3-a-ed6d983.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-elf2uf2\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-pioasm.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-pioasm\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-pioasm-1.3.3-a-ed6d983.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-pioasm\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-mklittlefs.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-mklittlefs\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-mklittlefs-1.3.3-a-ed6d983.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-mklittlefs\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-gcc.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-gcc\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-gcc-1.3.3-a-ed6d983.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-gcc\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-python3.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-python3\1.0.1-base-3a57aed -prefs=runtime.tools.pqt-python3-1.0.1-base-3a57aed.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-python3\1.0.1-base-3a57aed -prefs=runtime.tools.pqt-openocd.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-openocd\1.3.3-a-ed6d983 -prefs=runtime.tools.pqt-openocd-1.3.3-a-ed6d983.path=C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-openocd\1.3.3-a-ed6d983 -verbose C:\Users\sean_\OneDrive\Documents\Arduino\Arduino\Arduino.ino
Using board 'rpipico' from platform in folder: C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0
Using core 'rp2040' from platform in folder: C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0
Detecting libraries used...
"C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-gcc\1.3.3-a-ed6d983/bin/arm-none-eabi-g++" -c -Werror=return-type "-IC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/tools/libpico" -DCFG_TUSB_MCU=OPT_MCU_RP2040 -DUSB_VID=0x2e8a -DUSB_PID=0x000a "-DUSB_MANUFACTURER="Raspberry Pi"" "-DUSB_PRODUCT="Pico"" -march=armv6-m -mcpu=cortex-m0plus -mthumb -ffunction-sections -fdata-sections -fno-exceptions "-iprefixC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/" "@C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/lib/platform_inc.txt" -fno-rtti -std=gnu++17 -g -w -x c++ -E -CC -DSERIALUSB_PID=0x000a -DUSBD_MAX_POWER_MA=250 -DF_CPU=125000000L -DARDUINO=10819 -DARDUINO_RASPBERRY_PI_PICO "-DBOARD_NAME="RASPBERRY_PI_PICO"" -DARDUINO_ARCH_RP2040 -Os "-IC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0\cores\rp2040" "-IC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0\variants\rpipico" "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198\sketch\Arduino.ino.cpp" -o nul
Generating function prototypes...
"C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-gcc\1.3.3-a-ed6d983/bin/arm-none-eabi-g++" -c -Werror=return-type "-IC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/tools/libpico" -DCFG_TUSB_MCU=OPT_MCU_RP2040 -DUSB_VID=0x2e8a -DUSB_PID=0x000a "-DUSB_MANUFACTURER="Raspberry Pi"" "-DUSB_PRODUCT="Pico"" -march=armv6-m -mcpu=cortex-m0plus -mthumb -ffunction-sections -fdata-sections -fno-exceptions "-iprefixC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/" "@C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/lib/platform_inc.txt" -fno-rtti -std=gnu++17 -g -w -x c++ -E -CC -DSERIALUSB_PID=0x000a -DUSBD_MAX_POWER_MA=250 -DF_CPU=125000000L -DARDUINO=10819 -DARDUINO_RASPBERRY_PI_PICO "-DBOARD_NAME="RASPBERRY_PI_PICO"" -DARDUINO_ARCH_RP2040 -Os "-IC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0\cores\rp2040" "-IC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0\variants\rpipico" "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198\sketch\Arduino.ino.cpp" -o "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198\preproc\ctags_target_for_gcc_minus_e.cpp"
"C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\tools-builder\ctags\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198\preproc\ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-gcc\1.3.3-a-ed6d983/bin/arm-none-eabi-g++" -c -Werror=return-type "-IC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/tools/libpico" -DCFG_TUSB_MCU=OPT_MCU_RP2040 -DUSB_VID=0x2e8a -DUSB_PID=0x000a "-DUSB_MANUFACTURER="Raspberry Pi"" "-DUSB_PRODUCT="Pico"" -march=armv6-m -mcpu=cortex-m0plus -mthumb -ffunction-sections -fdata-sections -fno-exceptions "-iprefixC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/" "@C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/lib/platform_inc.txt" -fno-rtti -std=gnu++17 -g -DSERIALUSB_PID=0x000a -DUSBD_MAX_POWER_MA=250 -DF_CPU=125000000L -DARDUINO=10819 -DARDUINO_RASPBERRY_PI_PICO "-DBOARD_NAME="RASPBERRY_PI_PICO"" -DARDUINO_ARCH_RP2040 -Os "-IC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0\cores\rp2040" "-IC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0\variants\rpipico" "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198\sketch\Arduino.ino.cpp" -o "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198\sketch\Arduino.ino.cpp.o"
Compiling libraries...
Compiling core...
Using precompiled core: C:\Users\sean_\AppData\Local\Temp\arduino_cache_639404\core\core_07333e4516baf75cbb11ee494af2233c.a
Linking everything together...
"C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-python3\1.0.1-base-3a57aed/python3" -I "C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/tools/simplesub.py" --input "C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/lib/memmap_default.ld" --out "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198/memmap_default.ld" --sub FLASH_LENGTH 2093056 --sub EEPROM_START 270528512 --sub FS_START 270528512 --sub FS_END 270528512 --sub RAM_LENGTH 256k
"C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-gcc\1.3.3-a-ed6d983/bin/arm-none-eabi-gcc" -Werror=return-type "-IC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/tools/libpico" -DCFG_TUSB_MCU=OPT_MCU_RP2040 -DUSB_VID=0x2e8a -DUSB_PID=0x000a "-DUSB_MANUFACTURER="Raspberry Pi"" "-DUSB_PRODUCT="Pico"" -march=armv6-m -mcpu=cortex-m0plus -mthumb -ffunction-sections -fdata-sections -fno-exceptions -Os -u printf_float -u scanf_float -c "C:\Users\sean\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/boot2/boot2_w25q080_2_padded_checksum.S" "-IC:\Users\sean\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/pico-sdk/src/rp2040/hardware_regs/include/" "-IC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/pico-sdk/src/common/pico_binary_info/include" -o "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198/boot2.o"
"C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-gcc\1.3.3-a-ed6d983/bin/arm-none-eabi-g++" "-LC:\Users\sean_\AppData\Local\Temp\arduino_build_298198" -Werror=return-type "-IC:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/tools/libpico" -DCFG_TUSB_MCU=OPT_MCU_RP2040 -DUSB_VID=0x2e8a -DUSB_PID=0x000a "-DUSB_MANUFACTURER="Raspberry Pi"" "-DUSB_PRODUCT="Pico"" -march=armv6-m -mcpu=cortex-m0plus -mthumb -ffunction-sections -fdata-sections -fno-exceptions -Os -u printf_float -u scanf_float "@C:\Users\sean\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/lib/platform_wrap.txt" -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--unresolved-symbols=report-all -Wl,--warn-common "-Wl,--script=C:\Users\sean\AppData\Local\Temp\arduino_build_298198/memmap_default.ld" "-Wl,-Map,C:\Users\sean_\AppData\Local\Temp\arduino_build_298198/Arduino.ino.map" -o "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198/Arduino.ino.elf" -Wl,--start-group "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198\sketch\Arduino.ino.cpp.o" "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198/..\arduino_cache_639404\core\core_07333e4516baf75cbb11ee494af2233c.a" "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198/boot2.o" "C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\hardware\rp2040\1.13.0/lib/libpico.a" -lm -lc -lstdc++ -lc -Wl,--end-group
"C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-elf2uf2\1.3.3-a-ed6d983/elf2uf2" "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198/Arduino.ino.elf" "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198/Arduino.ino.uf2"
"C:\Users\sean_\OneDrive\Documents\ArduinoData\packages\rp2040\tools\pqt-gcc\1.3.3-a-ed6d983/bin/arm-none-eabi-size" -A "C:\Users\sean_\AppData\Local\Temp\arduino_build_298198/Arduino.ino.elf"
Sketch uses 59032 bytes (2%) of program storage space. Maximum is 2093056 bytes.
Global variables use 11152 bytes (4%) of dynamic memory, leaving 250992 bytes for local variables. Maximum is 262144 bytes.
Error opening serial port 'COM3'. (Port busy)
Error opening serial port 'COM3'. (Port busy)
Error opening serial port 'COM3'. (Port busy)
Resetting COM3
Caught exception during reset!
Converting to uf2, output size: 131584, start address: 0x2000
No drive to deploy.
An error occurred while uploading the sketch

Code Used:

const int triggerPin=5; // Defining pin numbers
const int echoPin=4;

long period; // Defining variables
int distance;

void setup() {
pinMode (triggerPin,OUTPUT);
pinMode (echoPin,INPUT);
Serial.begin(9600);
}

void loop() {
digitalWrite(triggerPin,LOW);
delay(2);

digitalWrite(triggerPin,HIGH);
delay(10);
digitalWrite(triggerPin,LOW);

period = pulseIn(echoPin,HIGH);

distance = period*0.034/2;

Serial.print("Distance: ");
Serial.print(distance);

}

The only thing that has worked for me is to go to the "Device Manager" and then expand the "PORTS" section and find the port in question. Righ click on "Properties" then go to the "Port Settings" tab. There click advanced and you can re-assign a port number.

If all fails, you can "uninstall device" and then re-install it.

This error is always a major pain.... :face_with_head_bandage:

1 Like

I had the same problem after years of no problems
This link helped

I downloaded the microsoft tool suggested and unzip it and ran
procexp64.exe on my Windows 7 machine and searched for

  1. usbser
  2. Serial
  3. VCP

and found that explorer.exe was attached to Serial.

Closing all the explorer windows fixed the immediate problem
Turns out a recent install of a UPS monitoring software was the root cause.
uninstalling that now lets me leave the file explorer windows open and still program Arduino devices

I had the port busy issue as well even after installing the drivers with the device manager method it ended up being my nzxt kraken cam app that monitors my temps it works fine when it is closed but if I open it says port busy I think the app monitors inputs and it causes the Arduino software to think the port is in use.

1 Like

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