Wawa
September 21, 2025, 12:26am
1
I got a weird problem that I can't get my head around.
Win 11 Pro IDE 1.8.19
All of a sudden the ports select field in is greyed out.
The weird thing is that IDE v2.3.4 still works fine, printing and uploading.
Also Putty works fine.
Tried it with An old Uno and several ESP boards.
The boards show up fine in Windows device manager.
I tried deleting and re-installing.
The ESP packages were still there after that, so uninstalling did not fully uninstall.
There must be something corrupted.
Question is what to delete and re-install.
Leo..
Hi @Wawa . Do you have the "STM32 MCU based boards " platform (AKA "STM32duino") installed? There was a bug in an older version of that platform that caused it to break the Tools > Port menu of Arduino IDE 1.x:
opened 05:47PM - 03 Aug 24 UTC
closed 07:02AM - 04 Aug 24 UTC
invalid
When I upgraded to version 2.8, the COM port under the Tools menu no longer appe⦠ared, in fact, the serial port did exist. Version 2.71 can display normally. Do you have the same problem as me?
Wawa
September 21, 2025, 12:56am
3
No STM32 boards installed.
It happened all of a sudden, without making changes to the IDE.
After trying out Wokwi the problem started.
But I don't see any connection with that.
The strange thing is that only v1.x is affected, not v2.x
Leo..
Try this experiment:
Select File > Quit from the Arduino IDE menus if it is running.
All Arduino IDE windows will close.
Rename the folder at the following path on your hard drive:C:\Users\<username>\AppData\Local\Arduino15\
(Where <username> is your Windows username)
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 ".
Start Arduino IDE.
Does the problem still occur after you do that?
If you installed them via Boards Manager, they are installed to that Arduino15 folder. Uninstalling Arduino IDE only removes the application installation, and doesn't affect the Arduino15 folder, so this is why any platforms you installed via Boards Manager will still be present after reinstalling the IDE.
More rarely done, but it is also possible to manually install boards platforms to the hardware subfolder of the sketchbook folder. As with the Arduino15 folder, the sketchbook folder is also not affected by uninstalling the IDE.
Wawa
September 21, 2025, 1:40am
5
Yes, renaming that folder did the trick.
Not sure which file in that folder was corrupted, but that doesn't matter.
Over the years it had grown to almost 20GB.
I will delete and re-install again.
Thank you.
Leo..
I recently experienced the port select field greyed out with a Xiao esp32-c3 Win 11 and IDE 1.8.19 when installing esp core version from 3.3.0 to 3.3.1.
The issue was that the boards.txt file in 3.3.1 is too large/too long for 1.8.19.
The issue was reported and discussed on github
https://github.com/espressif/arduino-esp32/issues/11883
https://github.com/espressif/arduino-esp32/issues/11798
IDE 2.3.6 does not have the boards.text file size issue.
The work around for me was to remove some not likely to be used esp32 boards from the boards.txt file.
@ptillisch
Can you explain root cause of the issue, and is there a way that 1.8.19 can be modified on the computer where it runs to correct the issue?
There is also a problem caused by the ESP32 board package by Expressif Systems version 3.3.1, vid with no pid for the FoBE Quill ESP32S3 Mesh FH4R2. Commenting out the two vid lines with no accompanying pid corrects the problem.
52128 ##############################################################
52129
52130 # FoBE Quill ESP32S3 Mesh FH4R2
52131
52132 fobe_quill_esp32s3_mesh.name=FoBE Quill ESP32S3 Mesh
52133 fobe_quill_esp32s3_mesh.vid.0=0x303a
52134 fobe_quill_esp32s3_mesh.pid.0=0x82f4
52135 fobe_quill_esp32s3_mesh.vid.1=0x303a
52136 fobe_quill_esp32s3_mesh.vid.1=0x82f5
52137 fobe_quill_esp32s3_mesh.vid.2=0x303a
52138 fobe_quill_esp32s3_mesh.pid.2=0x82f6
It appears that the root cause of the port option being greyed out was the FoBe Quill entry in boards.txt with the "vid" error.
Fixed with this commit which will be included in 3.3.2.
master β thegreenshark:fix-boards-txt
opened 11:16PM - 26 Sep 25 UTC
### Description of Change
This is a simple typo fix for the FoBE Quill ESP32S3 β¦ Mesh in boards.txt. There were two identical "fobe_quill_esp32s3_mesh.vid.1" entries and the second one was obviously meant to be called "pid", not "vid".
### The problem it solves
Because of this typo in boards.txt Arduino IDE v1.8.19 was failing to detect any COM port.
I'm using Arduino IDE v1.8.19 on Windows 10. I updated ESP32 Core from v3.3.0 to v3.3.1 via the board manager. After restaring Arduino IDE it was no longer detecting any COM ports. Tools -> Port option was greyed out even though a board was connected and was detected by windows device manager. The board itself doesn't matter, the problem isn't even ESP32-related, the IDE just fails to detect any board. I tried launching the arduino_debug.exe and it showed the following error in the terminal:
```
Exception in thread "cc.arduino.packages.discoverers.serial.SerialDiscovery" java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
at java.util.LinkedList.checkElementIndex(LinkedList.java:555)
at java.util.LinkedList.get(LinkedList.java:476)
at processing.app.Platform.resolveDeviceByVendorIdProductId(Platform.java:188)
at cc.arduino.packages.discoverers.serial.SerialDiscovery.forceRefresh(SerialDiscovery.java:166)
at cc.arduino.packages.discoverers.serial.SerialDiscovery$1.run(SerialDiscovery.java:96)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
```
After tracking down the issue I've changed "vid" to "pid" in the boards.txt file and copied it to `c:\Users\USER\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.3.12` (replacing the already existing boards.txt file). The problem is now gone, arduino_debug.exe shows no errors and Arduino IDE is detecting COM ports normally.
### Test Scenario
Config:
Windows 10
Arduino IDE v1.8.19
Multiple hardware: ESP32-WROOM-32, Arduino Nano, PL2303HX-based usb-ttl converter
Before this change:
Arduino IDE fails to detect any COM port (Tools -> Port option is greyed out even when a board is connected to the PC).
Also arduino_debug.exe shows an error upon launching.
After this change:
Arduino IDE detects COM ports normally (Tools -> Port option allows to select a port).
arduino_debug.exe shows no errors.
There is an explanation here, in the context of the same class of bug that was present in the "STM32 MCU based boards " platform:
Great work on identifying the culprit!
It is the other way around. The board definition contains a port property association for the vid property, but not for a pid property, as is typically done:
This was actually a reasonable thing to do in this case where the board definition provides support for all models of the Blues boards (rather than one specific model as is typically the case), and where Blues owns the 0x30A4 USB vendor ID.
Unfortunately it seems that the Arduino IDE 1.x codebaβ¦
And perhaps a bit more information in the description of the fix I submitted for that bug:
main β per1234:ide-2-blues-port-property
opened 06:09PM - 14 Sep 24 UTC
### Summary
The Arduino boards platform framework allows properties of a port⦠to be [associated with a board definition](https://arduino.github.io/arduino-cli/dev/platform-specification/#properties-from-pluggable-discovery:~:text=upload_port.vid%20and%20upload_port.pid%20properties). The Arduino development software will identify a port having the associated properties as that board.
The "Blues boards" board definition contains an association for the `vid` port property value of `0x30A4`:
https://github.com/stm32duino/Arduino_Core_STM32/blob/89a29516cca7b50c6aef17a52e0e6e4afe78aeb7/boards.txt#L12466
Typically, in addition to the `vid` property, a companion `pid` property will also be associated so that the association is specific to devices with that VID/PID pair. However, this board definition only associates a `vid` property. Although unusual, this is reasonable in this case where the board definition provides support for all models of the **Blues** boards (rather than one specific model as is typically the case).
Unfortunately it seems that the Arduino IDE 1.x codebase is written in a way that assumes a PID association will always be provided along with a VID association. When a platform is installed that contains a board definition that associates a `vid` property without also associating a `pid` property, it breaks port discovery entirely, causing no ports to be discovered for any board.
The port discovery and port properties association system has been completely reworked since the time of Arduino IDE 1.x. The modern system, which is used by Arduino IDE 2.x and Arduino CLI, doesn't have any problem with this VID-only association. This means that it would be possible to define this association without breaking Arduino IDE 1.x if the association could be applied exclusively for the modern Arduino development software versions. Arduino IDE 1.x only uses the port property association for the convenience feature of labeling the port in the **Tools > Port** menu, so the lack of an association doesn't cause any meaningful impact.
At the time the port discovery and port properties association system was reworked, the port property association properties were renamed to support association with any arbitrary properties:
https://arduino.github.io/arduino-cli/latest/pluggable-discovery-specification/#board-identification
(while retaining support for [the old property names](https://arduino.github.io/arduino-cli/latest/platform-specification/#board-vidpid)). The new property names are only recognized by the modern Arduino development software and have no effect on Arduino IDE 1.x.
The port association properties for the "Blues boards" board definition are migrated from the old property names previously in use to the new names. This causes the port property association to no longer be recognized by Arduino IDE 1.x, fixing the breakage of its port discovery system. The association will still be recognized by the modern versions of Arduino development software just as before.
---
This PR fixes/implements the following **bugs/features**
* [x] https://github.com/stm32duino/Arduino_Core_STM32/issues/2469
### Validation
1. Install the version of the platform without this patch.
1. Start Arduino IDE 1.8.19
1. Connect any device to your computer that produces a serial port.
1. Open the **Tools** menu in Arduino IDE.
π The **Port** menu item is grayed out, indicating no ports were discovered even though a port is present.
1. Select **File > Quit** (or **Arduino > Quit Arduino** for macOS users) from the Arduino IDE menus.
1. Apply the patch proposed here.
1. Start Arduino IDE 1.8.19
1. Select **Tools > Port** from the Arduino IDE menus.
π All serial ports are listed in the menu.
1. Start Arduino IDE 2.3.2
1. Connect a device that produces a port with VID of `0x30A4` to your computer.
1. Select **Tools > Port** from the Arduino IDE menus.
π All serial ports are listed in the menu.
π The port of the device with VID of `0x30A4` is labeled "**(Blues boards)**
### Additional context
Even though, from a technical standpoint, this change restores the platform's support for Arduino IDE 1.x, my impression is that maintainability was also a factor in the decision to drop 1.x support (which is quite understandable). For this reason, [the "only Arduino IDE 2 is supported" statement](https://github.com/stm32duino/Arduino_Core_STM32/blob/89a29516cca7b50c6aef17a52e0e6e4afe78aeb7/README.md?plain=1#L41-L42) was not removed from the readme.
### Closing issues
- Fixes https://github.com/stm32duino/Arduino_Core_STM32/issues/2469
- Fixes https://github.com/stm32duino/Arduino_Core_STM32/issues/2511