linuxvisual-studio-codeesp32platformio

What determines the name of the upload port?


Why am I seeing the serial port designation change? Does it matter? Is it expected?

I click the "Select Port to Use" thing in the VS Code footer:

toolbar showing serial port selector

This opens a dropdown at the top of the VSCode window. Sometimes the dropdown looks like this:

dropdown showing USB1 - Silicon Labs

At other times (most of the time, in fact), it looks like this:

dropdown showing ESP32

It flip-flops between those last two just by clicking the "Select Port to Use" thing, and without any changes to the physical setup. So:

One time, using a different USB cable, I saw this:

dropdown showing USB0 - Silicon Labs

Here's my platformio.ini:

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
lib_deps = bodmer/TFT_eSPI@^2.5.33
lib_ldf_mode = chain
build_flags =
  -Os
  -DUSER_SETUP_LOADED=1
  -DST7789_DRIVER=1
  -DCGRAM_OFFSET
  -DTFT_CS=5
  -DTFT_DC=23
  -DTFT_RST=18
  -DTFT_MOSI=15
  -DTFT_SCLK=13
  -DTFT_BL=4
  -DTFT_BACKLIGHT_ON=HIGH
  -DLOAD_GLCD=1
  -DLOAD_FONT2=1
  -DLOAD_FONT4=1
  -DLOAD_FONT6=1
  -DLOAD_FONT7=1
  -DLOAD_FONT8=1
  -DLOAD_GFXFF=1
  -DSMOOTH_FONT=1
  -DSPI_FREQUENCY=40000000

Solution

  • It is because multiple board definitions have the same USB VID and PID. It is a shortcoming of the esp32 Arduino platform.

    https://github.com/espressif/arduino-esp32/issues/9702