Board options

board

Type: String (ID) | Multiple: No

PlatformIO has pre-configured settings for the most popular boards:

  • build configuration
  • upload configuration
  • debugging configuration
  • connectivity information, etc.

You can find a valid board ID in Boards catalog, Boards Explorer or platformio boards command.

board_build.mcu

Type: String | Multiple: No

board_build.mcu is a microcontroller(MCU) type that is used by compiler to recognize MCU architecture. The correct type of board_build.mcu depends on platform library. For example, the list of board_build.mcu for “megaAVR Devices” is described here.

The full list of board_build.mcu for the popular embedded platforms you can find in Boards section of Development Platforms. See “Microcontroller” column.

board_build.f_cpu

Type: Integer | Multiple: No

An option board_build.f_cpu is used to define MCU frequency (Hertz, Clock). A format of this option is C-like long integer value with L suffix. The 1 Hertz is equal to 1L, then 16 MHz (Mega Hertz) is equal to 16000000L.

The full list of board_build.f_cpu for the popular embedded platforms you can find in Boards section of Development Platforms. See “Frequency” column. You can overclock a board by specifying a board_build.f_cpu value other than the default.

More options

You can override any board option declared in manifest file using the next format board_{OBJECT.PATH}, where {OBJECT.PATH} is an object path in JSON manifest. Please navigate to “boards” folder of PlatfomIO development platforms and open JSON file to list all available options.

For example, Manifest: Espressif ESP32 Dev Module:

[env:custom_board_options]
; Custom CPU Frequency
board_build.f_cpu = 160000000L

; Custom FLASH Frequency
board_build.f_flash = 80000000L

; Custom FLASH Mode
board_build.flash_mode = qio

; Custom maximum program size
board_upload.maximum_size = 1310720