Arduino IDE 2.x in HyperV Win10 VM and NodeMCU - no COM Port recognized

With currently installed Arduino IDE 1.8.19 in combination with the
"NodeMCU 1.0 (ESP-12E Module)" and Software Version 2.5.0 on a Windows10 HyperV virtual machine programming the NodeMCU works just fine.

With any newer combination of Arduino IDE and / or board software uploading fails as the COM port forwarded via RDP is no longer recognized in the IDE.

Any idea / suggestions how to get Arduino IDE 2.x on a Hyper-V WIN10 machine going with NodeMCU?

Hi @bsfisi.

By "no longer recognized", do you mean that you don't see the port listed in Arduino IDE's Tools > Port menu?

Hi ptillisch,

sorry for my late response. Didn't expect one...
"... no longer recognized" means with newer versions of arduino ide the com-port forwarded via rdp is in contrast to arduino ide 1.8.19 no longer available in the Tools - Port Tab.

To clarify: My NodeMCU 1.0 (ESP-12E Module) is connected to a USB-Port on my physical machine. I have installed the silicon labs USB to UART driver.
In the device manager of my physical machine I can see the silicon labs cp210x Bridge (COMx)! In my vm I don't see it which as understand is by design (ref. Microsoft). Still Arduino 1.8.19 in combination bis board driver 2.5.0 is able to find the forwarded COM Connection and I can upload sketches.
Unfortunately this is no longer the case with newer arduino IDEs i.e. 2.3.6

any idea where to start?

It is possible the logs that Arduino IDE prints when you start it from the PowerShell terminal will provide a clue to what is going on. I'll provide instructions you can follow to obtain and share those logs:


:red_exclamation_mark: This procedure is not intended to solve the problem. The purpose is to gather more information.


  1. Select File > Quit from the Arduino IDE menus if it is running.
    All Arduino IDE windows will close.
  2. Start Windows "File Explorer".
  3. Open the Arduino IDE installation folder.
    The default installation location is at one of the following paths:
    • C:\Program Files\Arduino IDE
      
    • C:\Users\<username>\AppData\Local\Programs\Arduino IDE
      
      (where <username> is your Windows username)
      :red_exclamation_mark: If looking for it with your file manager or command line, note that the AppData folder is hidden by default. On Windows "File Explorer", you can make it visible by opening the "View" menu, then checking the box next to "☐ Hidden items".
  4. In the folder listing of the Arduino IDE installation folder, hold the Shift key while clicking the right hand button on the mouse.
    A context menu will open.
  5. Select "Open PowerShell window here" from the menu.
    Windows PowerShell will now open with the current directory set to the Arduino IDE installation folder.
  6. Type the following command in the PowerShell window:
    & ".\Arduino IDE"
    
  7. Press the Enter key.
    Debug output should now be printed to the PowerShell window as Arduino IDE starts.
  8. Switch back to the PowerShell window.
  9. Press the Ctrl+Shift+A keyboard shortcut.
    This will select all the text in the PowerShell window.
  10. Press the Ctrl+C keyboard shortcut.
    This will copy the contents of the PowerShell window to the clipboard.
  11. Open a reply here on this forum topic by clicking the "Reply" button.
  12. Click the <CODE/> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
  13. Press the Ctrl+V keyboard shortcut.
    This will paste the output into the code block.
  14. Move the cursor outside of the code block markup before you add any additional text to your reply.
  15. Click the "Reply" button to publish the post.
Arduino IDE 2.3.6
Checking for frontend application configuration customizations. Module path: C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\electron-main.js, destination 'package.json': C:\PortableApps\arduino 2.3.6\resources\app\package.json
Setting 'theia.frontend.config.appVersion' application configuration value to: "2.3.6" (type of string)
Setting 'theia.frontend.config.cliVersion' application configuration value to: "1.2.0" (type of string)
Setting 'theia.frontend.config.buildDate' application configuration value to: "2025-04-09T11:26:55.498Z" (type of string)
Frontend application configuration after modifications: {"applicationName":"Arduino IDE","defaultTheme":{"light":"arduino-theme","dark":"arduino-theme-dark"},"defaultIconTheme":"none","electron":{"windowOptions":{},"showWindowEarly":true,"splashScreenOptions":{},"uriScheme":"arduino-ide"},"defaultLocale":"","validatePreferencesSchema":false,"reloadOnReconnect":true,"uriScheme":"theia","preferences":{"window.title":"${rootName}${activeEditorShort}${appName}","files.autoSave":"afterDelay","editor.minimap.enabled":false,"editor.tabSize":2,"editor.scrollBeyondLastLine":false,"editor.quickSuggestions":{"other":false,"comments":false,"strings":false},"editor.maxTokenizationLineLength":500,"editor.bracketPairColorization.enabled":false,"breadcrumbs.enabled":false,"workbench.tree.renderIndentGuides":"none","explorer.compactFolders":false},"appVersion":"2.3.6","cliVersion":"1.2.0","buildDate":"2025-04-09T11:26:55.498Z"}
Starting backend process. PID: 23328
Showing main window early
Using browser-only version of superagent in non-browser environment
Configuration directory URI: 'file:///c%3A/Users/user/.arduinoIDE'
Configuring to accept webviews on '^.+\.webview\..+$' hostname.
2025-07-22T10:36:53.248Z root WARN Backend u.initialize took longer than the expected maximum 50 milliseconds: 83.5 ms [Finished 1.219 s after backend start]
2025-07-22T10:36:53.250Z root WARN Backend Object.initialize took longer than the expected maximum 50 milliseconds: 78.1 ms [Finished 1.219 s after backend start]
2025-07-22T10:36:53.250Z root INFO Backend a.initialize: 2.7 ms [Finished 1.219 s after backend start]
2025-07-22T10:36:53.250Z root INFO Backend a.initialize: 2.3 ms [Finished 1.219 s after backend start]
2025-07-22T10:36:53.250Z root INFO Backend u.initialize: 2.9 ms [Finished 1.220 s after backend start]
2025-07-22T10:36:53.253Z root WARN Backend l.initialize took longer than the expected maximum 50 milliseconds: 80.0 ms [Finished 1.222 s after backend start]
2025-07-22T10:36:53.264Z root INFO configured all backend app contributions
2025-07-22T10:36:53.264Z root INFO Backend l.onStart: 1.5 ms [Finished 1.237 s after backend start]
2025-07-22T10:36:53.265Z root INFO Backend d.onStart: 0.6 ms [Finished 1.238 s after backend start]
2025-07-22T10:36:53.266Z root INFO Backend a.onStart: 0.4 ms [Finished 1.238 s after backend start]
2025-07-22T10:36:53.266Z config INFO >>> Initializing CLI configuration...
2025-07-22T10:36:53.266Z root INFO Backend x.onStart: 0.5 ms [Finished 1.239 s after backend start]
2025-07-22T10:36:53.266Z config INFO Loading CLI configuration from c:\Users\user\.arduinoIDE\arduino-cli.yaml...
2025-07-22T10:36:53.266Z daemon INFO Starting daemon from C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\resources\arduino-cli.exe...
2025-07-22T10:36:53.267Z root INFO Backend w.onStart: 0.5 ms [Finished 1.240 s after backend start]
2025-07-22T10:36:53.267Z discovery-log INFO start
2025-07-22T10:36:53.267Z discovery-log INFO start new deferred
2025-07-22T10:36:53.267Z root INFO Backend v.onStart: 0.5 ms [Finished 1.240 s after backend start]
2025-07-22T10:36:53.267Z root INFO Backend a.onStart: 0.1 ms [Finished 1.241 s after backend start]
2025-07-22T10:36:53.270Z root WARN The local plugin referenced by local-dir:/c%3A/Users/user/.arduinoIDE/plugins does not exist.
2025-07-22T10:36:53.270Z root WARN The local plugin referenced by local-dir:/c%3A/Users/user/.arduinoIDE/deployedPlugins does not exist.
2025-07-22T10:36:53.270Z root WARN The local plugin referenced by local-dir:C:\Users\user\.arduinoIDE\plugins does not exist.
2025-07-22T10:36:53.275Z config INFO Loaded CLI configuration: {"board_manager":{"additional_urls":["http://arduino.esp8266.com/stable/package_esp8266com_index.json"]},"directories":{"builtin":{"libraries":"C:\\Users\\user\\AppData\\Local\\Arduino15\\libraries"},"data":"c:\\Users\\user\\AppData\\Local\\Arduino15","user":"c:\\Users\\user\\Documents\\Arduino"},"locale":"en"}
2025-07-22T10:36:53.275Z config INFO 'directories.data' and 'directories.user' are set in the CLI configuration model.
2025-07-22T10:36:53.275Z config INFO Loaded the CLI configuration.
2025-07-22T10:36:53.302Z root INFO Theia app listening on http://127.0.0.1:59188.
2025-07-22T10:36:53.303Z root INFO Finished starting backend application: 35.8 ms [Finished 1.276 s after backend start]
2025-07-22T10:36:53.303Z config INFO Mapped the CLI configuration: {"dataDirUri":"file:///c%3A/Users/user/AppData/Local/Arduino15","sketchDirUri":"file:///c%3A/Users/user/Documents/Arduino","additionalUrls":["http://arduino.esp8266.com/stable/package_esp8266com_index.json"],"network":"none","locale":"en"}
2025-07-22T10:36:53.303Z config INFO Validating the CLI configuration...
2025-07-22T10:36:53.304Z config INFO The CLI config is valid.
2025-07-22T10:36:53.304Z config INFO <<< Initialized the CLI configuration.
2025-07-22T10:36:53.392Z root INFO Resolve plugins list: 122.9 ms [Finished 1.365 s after backend start]
2025-07-22T10:36:53.625Z daemon INFO time="2025-07-22T12:36:53+02:00" level=info msg="arduino-cli version 1.2.0"
2025-07-22T10:36:53.625Z daemon INFO time="2025-07-22T12:36:53+02:00" level=info msg="Using config file: c:\\Users\\user\\.arduinoIDE\\arduino-cli.yaml"
time="2025-07-22T12:36:53+02:00" level=info msg="Executing `arduino-cli daemon`"
2025-07-22T10:36:53.664Z daemon INFO Daemon is now listening on 127.0.0.1:59189
{"IP":"127.0.0.1","Port":"59189"}
2025-07-22T10:36:53.664Z daemon INFO Daemon is running.
2025-07-22T10:36:53.790Z daemon INFO time="2025-07-22T12:36:53+02:00" level=info msg="Checking signature" index="c:\\Users\\user\\AppData\\Local\\Arduino15\\package_index.json" signatureFile="c:\\Users\\user\\AppData\\Local\\Arduino15\\package_index.json.sig" trusted=true
time="2025-07-22T12:36:53+02:00" level=info msg="Missing signature file" index="c:\\Users\\user\\AppData\\Local\\Arduino15\\package_esp8266com_index.json"
time="2025-07-22T12:36:53+02:00" level=info msg="Loading hardware from: c:\\Users\\user\\AppData\\Local\\Arduino15\\packages"
time="2025-07-22T12:36:53+02:00" level=info msg="Loading package builtin from: C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\builtin"
time="2025-07-22T12:36:53+02:00" level=info msg="Checking existence of 'tools' path: C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\builtin\\tools"
time="2025-07-22T12:36:53+02:00" level=info msg="Loading tools from dir: C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\builtin\\tools"
time="2025-07-22T12:36:53+02:00" level=info msg="Loaded tool" tool="builtin:ctags@5.8-arduino11"
time="2025-07-22T12:36:53+02:00" level=info msg="Loaded tool" tool="builtin:dfu-discovery@0.1.2"
time="2025-07-22T12:36:53+02:00" level=info msg="Loaded tool" tool="builtin:mdns-discovery@1.0.9"
time="2025-07-22T12:36:53+02:00" level=info msg="Loaded tool" tool="builtin:serial-discovery@1.4.1"
time="2025-07-22T12:36:53+02:00" level=info msg="Loaded tool" tool="builtin:serial-monitor@0.15.0"
time="2025-07-22T12:36:53+02:00" level=info msg="Loading package esp8266 from: C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware"
2025-07-22T10:36:53.809Z daemon INFO time="2025-07-22T12:36:53+02:00" level=info msg="Adding monitor tool" protocol=serial tool="builtin:serial-monitor"
time="2025-07-22T12:36:53+02:00" level=info msg="Loaded platform" platform="esp8266:esp8266@2.5.0"
time="2025-07-22T12:36:53+02:00" level=info msg="Checking existence of 'tools' path: C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools"
time="2025-07-22T12:36:53+02:00" level=info msg="Loading tools from dir: C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools"
time="2025-07-22T12:36:53+02:00" level=info msg="Loaded tool" tool="esp8266:esptool@2.5.0-3-20ed2b9"
time="2025-07-22T12:36:53+02:00" level=info msg="Loaded tool" tool="esp8266:mkspiffs@2.5.0-3-20ed2b9"
time="2025-07-22T12:36:53+02:00" level=info msg="Loaded tool" tool="esp8266:xtensa-lx106-elf-gcc@2.5.0-3-20ed2b9"
2025-07-22T10:36:53.853Z daemon INFO time="2025-07-22T12:36:53+02:00" level=info msg="Adding libraries dir" dir="C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0\\libraries" isSingleLibrary=false location=platform
time="2025-07-22T12:36:53+02:00" level=info msg="Loading libraries index file" index="c:\\Users\\user\\AppData\\Local\\Arduino15\\library_index.json"
2025-07-22T10:36:54.374Z root INFO Deploy plugins list: 1105.9 ms [Finished 2.348 s after backend start]
2025-07-22T10:36:54.395Z daemon INFO time="2025-07-22T12:36:54+02:00" level=info msg="Adding libraries dir" dir="C:\\Users\\user\\AppData\\Local\\Arduino15\\libraries" isSingleLibrary=false location=ide
2025-07-22T10:36:54.396Z daemon INFO time="2025-07-22T12:36:54+02:00" level=info msg="Adding libraries dir" dir="c:\\Users\\user\\Documents\\Arduino\\libraries" isSingleLibrary=false location=user
2025-07-22T10:36:54.927Z discovery-log INFO start resolved watching
2025-07-22T10:36:55.050Z root INFO creating connection for 1
2025-07-22T10:36:56.778Z root WARN Frontend a.configure took longer than the expected maximum 100 milliseconds: 275.1 ms [Finished 3.442 s after frontend start]
2025-07-22T10:36:56.833Z root WARN A command editor.action.toggleStickyScroll is already registered.
Opening channel for service path '/services/electron-window'.
Opening channel for service path '/services/ide-updater'.
2025-07-22T10:36:57.009Z root INFO Start frontend contributions: 625.2 ms [Finished 3.645 s after frontend start]
2025-07-22T10:36:57.010Z root INFO Changed application state from 'init' to 'started_contributions'.
2025-07-22T10:36:57.010Z root INFO Changed application state from 'started_contributions' to 'attached_shell'.
2025-07-22T10:36:57.010Z root INFO >>> Restoring the layout state...
2025-07-22T10:36:57.067Z root INFO [d5d0f6a3-04c8-4959-abc8-b878735fd0fa] Waiting for backend deployment: 84.8 ms [Finished 3.724 s after frontend start]
2025-07-22T10:36:57.947Z root INFO <<< Nothing to restore.
2025-07-22T10:36:57.950Z root INFO Initialize the workbench layout: 324.7 ms [Finished 3.992 s after frontend start]
2025-07-22T10:36:57.950Z root INFO Changed application state from 'attached_shell' to 'initialized_layout'.
2025-07-22T10:36:57.955Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132) starting instance
[Object: null prototype] {}
2025-07-22T10:36:59.141Z root INFO [d5d0f6a3-04c8-4959-abc8-b878735fd0fa] Sync of 23 plugins: 1994.8 ms [Finished 5.719 s after frontend start]
2025-07-22T10:36:59.143Z root INFO [d5d0f6a3-04c8-4959-abc8-b878735fd0fa] Loading plugin contributions
2025-07-22T10:36:59.143Z root INFO [d5d0f6a3-04c8-4959-abc8-b878735fd0fa] Load contributions of 23 plugins: 85.5 ms [Finished 5.805 s after frontend start]
2025-07-22T10:36:59.229Z root WARN 'cpp' language is remapped from 'source.cpp.embedded.macro' to 'source.cpp' scope
2025-07-22T10:36:59.231Z root WARN a registered grammar configuration for 'cpp' language is overridden
2025-07-22T10:36:59.637Z root INFO Replace loading indicator with ready workbench UI (animation): 1921.5 ms [Finished 5.927 s after frontend start]
2025-07-22T10:36:59.638Z root INFO Changed application state from 'initialized_layout' to 'ready'.
2025-07-22T10:36:59.638Z root WARN Linked preference "workbench.colorCustomizations" not found.
2025-07-22T10:36:59.640Z root INFO Frontend application start: 2821.0 ms [Finished 7.561 s after backend start]
Checking for update
2025-07-22T10:37:00.252Z root ERROR ---- !!!SLOW!!! DURATION: search took 606.490 ms. Args: [{"type":"Updatable"}] ----
2025-07-22T10:37:00.484Z root ERROR [hosted-plugin: 13132] Conflict in settings file Default: Ignoring cortex-debug.armToolchainPath.linux as cortex-debug.armToolchainPath is null
2025-07-22T10:37:00.484Z root ERROR [hosted-plugin: 13132] Conflict in settings file Default: Ignoring cortex-debug.armToolchainPath.osx as cortex-debug.armToolchainPath is null
Conflict in settings file Default: Ignoring cortex-debug.armToolchainPath.windows as cortex-debug.armToolchainPath is null
Conflict in settings file Default: Ignoring cortex-debug.JLinkGDBServerPath.linux as cortex-debug.JLinkGDBServerPath is null
Conflict in settings file Default: Ignoring cortex-debug.JLinkGDBServerPath.osx as cortex-debug.JLinkGDBServerPath is null
Conflict in settings file Default: Ignoring cortex-debug.JLinkGDBServerPath.windows as cortex-debug.JLinkGDBServerPath is null
Conflict in settings file Default: Ignoring cortex-debug.openocdPath.linux as cortex-debug.openocdPath is null
Conflict in settings file Default: Ignoring cortex-debug.openocdPath.osx as cortex-debug.openocdPath is null
Conflict in settings file Default: Ignoring cortex-debug.openocdPath.windows as cortex-debug.openocdPath is null
Conflict in settings file Default: Ignoring cortex-debug.pyocdPath.linux as cortex-debug.pyocdPath is null
Conflict in settings file Default: Ignoring cortex-debug.pyocdPath.osx as cortex-debug.pyocdPath is null
2025-07-22T10:37:00.485Z root ERROR [hosted-plugin: 13132] Conflict in settings file Default: Ignoring cortex-debug.pyocdPath.windows as cortex-debug.pyocdPath is null
Conflict in settings file Default: Ignoring cortex-debug.PEGDBServerPath.linux as cortex-debug.PEGDBServerPath is null
Conflict in settings file Default: Ignoring cortex-debug.PEGDBServerPath.osx as cortex-debug.PEGDBServerPath is null
Conflict in settings file Default: Ignoring cortex-debug.PEGDBServerPath.windows as cortex-debug.PEGDBServerPath is null
Conflict in settings file Default: Ignoring cortex-debug.stutilPath.linux as cortex-debug.stutilPath is null
Conflict in settings file Default: Ignoring cortex-debug.stutilPath.osx as cortex-debug.stutilPath is null
Conflict in settings file Default: Ignoring cortex-debug.stutilPath.windows as cortex-debug.stutilPath is null
Conflict in settings file Default: Ignoring cortex-debug.stlinkPath.linux as cortex-debug.stlinkPath is null
Conflict in settings file Default: Ignoring cortex-debug.stlinkPath.osx as cortex-debug.stlinkPath is null
Conflict in settings file Default: Ignoring cortex-debug.stlinkPath.windows as cortex-debug.stlinkPath is null
2025-07-22T10:37:00.485Z root ERROR [hosted-plugin: 13132] Conflict in settings file Default: Ignoring cortex-debug.stm32cubeprogrammer.linux as cortex-debug.stm32cubeprogrammer is null
Conflict in settings file Default: Ignoring cortex-debug.stm32cubeprogrammer.osx as cortex-debug.stm32cubeprogrammer is null
Conflict in settings file Default: Ignoring cortex-debug.stm32cubeprogrammer.windows as cortex-debug.stm32cubeprogrammer is null
Update for version 2.3.6 is not available (latest version: 2.3.6, downgrade is allowed).
2025-07-22T10:37:00.581Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): PluginManagerExtImpl/init()
2025-07-22T10:37:00.594Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-arduino-api@0.1.2 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.716Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(json-language-features@1.88.1 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.727Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(cortex-debug@1.5.1 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.728Z root INFO [hosted-plugin: 13132] Debugger contribution has been registered: cortex-debug
2025-07-22T10:37:00.730Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-arduino-tools@0.1.3 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.733Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(cpp@1.88.1 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.740Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(json@1.88.1 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.741Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-bg@1.48.3 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.743Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-cs@1.96.0 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.745Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-de@1.96.0 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.747Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-es@1.96.0 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.748Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-fr@1.96.0 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.749Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-hu@1.48.3 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.750Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-it@1.96.0 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.751Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-ja@1.96.0 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.752Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-ko@1.96.0 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.753Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-nl@1.48.3 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.754Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-pl@1.96.0 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.755Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-pt-BR@1.96.0 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.758Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-ru@1.96.0 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.761Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-tr@1.96.0 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.762Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-uk@1.48.3 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.764Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-zh-hans@1.96.0 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.765Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): initializing(vscode-language-pack-zh-hant@1.96.0 with C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\plugin-vscode-init)
2025-07-22T10:37:00.949Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): PluginManagerExtImpl/loadPlugin(C:\PortableApps\arduino 2.3.6\resources\app\plugins\vscode-builtin-json-language-features\extension\client\dist\node\jsonClientMain)
2025-07-22T10:37:01.047Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): PluginManagerExtImpl/loadPlugin(C:\PortableApps\arduino 2.3.6\resources\app\plugins\vscode-arduino-api\extension\dist\extension.js)
2025-07-22T10:37:01.051Z root INFO [hosted-plugin: 13132] calling activation function on Arduino IDE API for VS Code extensions
2025-07-22T10:37:01.064Z root INFO [d5d0f6a3-04c8-4959-abc8-b878735fd0fa] Starting plugins.
2025-07-22T10:37:01.137Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): PluginManagerExtImpl/loadPlugin(C:\PortableApps\arduino 2.3.6\resources\app\plugins\cortex-debug\extension\dist\extension.js)
2025-07-22T10:37:01.189Z root INFO [hosted-plugin: 13132] Debug configuration provider has been registered: cortex-debug, trigger: 1
2025-07-22T10:37:01.189Z root INFO [hosted-plugin: 13132] calling activation function on Cortex-Debug
2025-07-22T10:37:01.196Z root INFO [hosted-plugin: 13132] GDB server console created
2025-07-22T10:37:01.217Z root INFO [d5d0f6a3-04c8-4959-abc8-b878735fd0fa] Start of 23 plugins: 2008.0 ms [Finished 7.879 s after frontend start]
2025-07-22T10:37:01.528Z root INFO [hosted-plugin: 13132] calling activation function on JSON Language Features (built-in)
2025-07-22T10:42:42.435Z daemon INFO time="2025-07-22T12:42:42+02:00" level=info msg="Tool required for debug" tool="esp8266:esptool@2.5.0-3-20ed2b9"
time="2025-07-22T12:42:42+02:00" level=info msg="Tool required for debug" tool="esp8266:mkspiffs@2.5.0-3-20ed2b9"
time="2025-07-22T12:42:42+02:00" level=info msg="Tool required for debug" tool="esp8266:xtensa-lx106-elf-gcc@2.5.0-3-20ed2b9"
time="2025-07-22T12:42:42+02:00" level=info msg="Tool required for debug" tool="builtin:ctags@5.8-arduino11"
2025-07-22T10:42:42.438Z root ERROR Failed to get debug config: esp8266:esp8266:nodemcuv2:baud=115200,xtal=80,eesz=4M,dbg=Disabled,lvl=None____,ip=lm2f,vt=flash,exception=disabled,wipe=none, undefined Error: Debugging is not supported.
    at Object.callback (C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\main.js:2:3962465)
    at Object.onReceiveStatus (C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\main.js:2:6679598)
    at Object.onReceiveStatus (C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\main.js:2:2572294)
    at Object.onReceiveStatus (C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\main.js:2:2571739)
    at C:\PortableApps\arduino 2.3.6\resources\app\lib\backend\main.js:2:4307911
    at process.processTicksAndRejections (node:internal/process/task_queues:77:11)
2025-07-22T10:42:42.438Z daemon INFO time="2025-07-22T12:42:42+02:00" level=info msg="Tool required for debug" tool="builtin:dfu-discovery@0.1.2"
time="2025-07-22T12:42:42+02:00" level=info msg="Tool required for debug" tool="builtin:mdns-discovery@1.0.9"
time="2025-07-22T12:42:42+02:00" level=info msg="Tool required for debug" tool="builtin:serial-discovery@1.4.1"
time="2025-07-22T12:42:42+02:00" level=info msg="Tool required for debug" tool="builtin:serial-monitor@0.15.0"
2025-07-22T10:42:42.486Z root INFO Starting language server: esp8266:esp8266:nodemcuv2:baud=115200,xtal=80,eesz=4M,dbg=Disabled,lvl=None____,ip=lm2f,vt=flash,exception=disabled,wipe=none
2025-07-22T10:42:42.495Z root INFO [hosted-plugin: 13132] PLUGIN_HOST(13132): PluginManagerExtImpl/loadPlugin(C:\PortableApps\arduino 2.3.6\resources\app\plugins\vscode-arduino-tools\extension\dist\extension.js)
2025-07-22T10:42:42.539Z root INFO [hosted-plugin: 13132] calling activation function on VS Code Arduino Tools
2025-07-22T10:42:42.919Z daemon INFO time="2025-07-22T12:42:42+02:00" level=info msg="Adding libraries dir" dir="C:\\Users\\user\\AppData\\Local\\Arduino15\\libraries" isSingleLibrary=false location=ide
2025-07-22T10:42:42.920Z daemon INFO time="2025-07-22T12:42:42+02:00" level=info msg="Adding libraries dir" dir="C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0\\libraries" isSingleLibrary=false location=platform
2025-07-22T10:42:42.920Z daemon INFO time="2025-07-22T12:42:42+02:00" level=info msg="Adding libraries dir" dir="c:\\Users\\user\\Documents\\Arduino\\libraries" isSingleLibrary=false location=user
2025-07-22T10:42:45.123Z daemon INFO time="2025-07-22T12:42:45+02:00" level=info msg="Adding libraries dir" dir="C:\\Users\\user\\AppData\\Local\\Arduino15\\libraries" isSingleLibrary=false location=ide
2025-07-22T10:42:45.123Z daemon INFO time="2025-07-22T12:42:45+02:00" level=info msg="Adding libraries dir" dir="C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0\\libraries" isSingleLibrary=false location=platform
2025-07-22T10:42:45.124Z daemon INFO time="2025-07-22T12:42:45+02:00" level=info msg="Adding libraries dir" dir="c:\\Users\\user\\Documents\\Arduino\\libraries" isSingleLibrary=false location=user

I don't see any "smoking gun" in those logs.

The list of ports potentially produced by Arduino boards is provided to Arduino IDE by a helper tool named serial-discovery. The primary thing I was looking for in the logs was some sort of indication of a crash or other problem with that tool, but there isn't any such indication.

If you would like to do some troubleshooting, you can check whether serial-discovery is behaving and able to see the port of your board. This could help to narrow down the specific software layer at which the problem is occurring. If you also don't see the port listed when using serial-discovery directly, then you will know that the problem is at that layer or below, and can avoid wasting any time on considering the Arduino IDE application in your troubleshooting efforts. Likewise, if the port is listed in when using serial-discovery directly, then you will know that the problem is above that layer and so can focus your efforts on the higher level layers (the Arduino IDE application and the Arduino CLI helper tool through which the data from serial-discovery is passed to Arduino IDE.

I'll provide instructions you can follow to do that:


:red_exclamation_mark: This procedure is not intended to solve the problem. The purpose is to gather more information.


During all this, keep an eye out for anything that doesn't match the expected behavior as described at each step.

  1. Open the following folder in Windows "File Explorer":
    C:\Users\<username>\AppData\Local\Arduino15\packages\builtin\tools\serial-discovery
    
    (where <username> is your Windows username)
    Note that the AppData folder is hidden by default in "File Explorer". You can make it visible by opening the "View" menu, then checking the box next to "☐ Hidden items".
  2. The serial-discovery folder will contain a subfolder for each of the versions of serial-discovery which are installed on your computer.
    For example:
    serial-discovery/
    ├── 1.3.0/
    ├── 1.3.0-rc1/
    └── 1.3.2/
    
  3. Hold the Shift key while clicking the right hand button on the mouse on the folder with the highest version (1.3.2 in the example above).
    A context menu will open.
  4. Select "Open PowerShell window here" from the menu.
    PowerShell will now open.
  5. Type the following command in the PowerShell window:
    .\serial-discovery
    
  6. Press the Enter key.
    serial-discovery will now start. There won't be any obvious sign of this other than that there is no longer a command prompt at the cursor in the terminal.
  7. Type the following command in the PowerShell window:
    HELLO 1 "arduino-cli 0.20.2"
    
  8. Press the Enter key.
    You should now see a response printed exactly like this:
    {
      "eventType": "hello",
      "protocolVersion": 1,
      "message": "OK"
    }
    
  9. Unplug your Arduino board from your computer if you have it plugged in.
  10. Type the following command in the PowerShell window:
    START_SYNC
    
  11. Press the Enter key.
    You should now see a response printed exactly like this:
    {
      "eventType": "start_sync",
      "message": "OK"
    }
    
    You might also see some additional objects in the output depending on which serial ports are available on your computer.
  12. Plug your Arduino board into your computer.
    You should now see a response printed that looks something like this:
    {
      "eventType": "add",
      "port": {
        "address": "COM42",
        "label": "COM42",
        "protocol": "serial",
        "protocolLabel": "Serial Port (USB)",
        "properties": {
          "pid": "0x804e",
          "vid": "0x2341",
          "serialNumber": "EBEABFD6514D32364E202020FF10181E"
        }
      }
    }
    
    This is only an example of what you might see. The output will be different depending on the board you connected.
  13. Unplug your Arduino board from your computer.
    You should now see a response printed that looks something like this:
    {
      "eventType": "remove",
      "port": {
        "address": "COM42",
        "protocol": "serial"
      }
    }
    
    This is only an example of what you might see. The address field value should be the same as the "add" event you saw when you plugged the board in.

You should continue to see the same results if you repeat steps (12) and (13).

Once you are done with your experiments with the "serial-discovery" tool, follow these instructions to exit:

  1. Type the following command in the PowerShell window:
    STOP
    
  2. Press the Enter key.
    You should now see a response printed exactly like this:
    {
      "eventType": "stop",
      "message": "OK"
    }
    
  3. Type the following command in the PowerShell window:
    QUIT
    
  4. Press the Enter key.
    You should now see a response printed exactly like this:
    {
      "eventType": "quit",
      "message": "OK"
    }
    
    You should now be back at the shell command line.

Most things with the SiliconLabs UARTS broke with the last Windows updates. I deleted the last driver and installed an older version, and they work again. :partying_face: Perhaps try that, and tell Windows to not update drivers automatically. Good luck!