Type: String (Pattern) | Multiple: No

This option is used by “uploader” tool when sending firmware to board via upload_port. For example,

  • /dev/ttyUSB0 - Serial port (Unix-based OS)

  • COM3 - Serial port (Windows OS)

  • - IP address when using OTA

  • /media/disk - physical path to media disk/flash drive (Mbed enabled boards)

  • D: - physical path to media disk/flash drive (Windows OS).

If upload_port isn’t specified, then PlatformIO will try to detect it automatically.

To print all available serial ports please use pio device list command.

This option can also be set by global environment variable PLATFORMIO_UPLOAD_PORT.

Please note that you can use patterns:




matches everything


matches any single character


matches any character in seq


matches any character not in seq


platform = atmelavr
framework = arduino
; any port that starts with /dev/ttyUSB
upload_port = /dev/ttyUSB*

; COM1 or COM3
upload_port = COM[13]