“platformio.ini” (Project Configuration File)
platformio.ini
is a configuration file that lets you set up your development
environment, share your code and configurations with others, and leverage a
declarative approach to development. You can use platformio.ini
to
configure multiple platforms and architectures without having to worry
about different toolchains or build systems for each one.
Each PlatformIO project has its own platformio.ini
that
is located in the root directory of the project. This is an
INI-style file.
platformio.ini
has sections (each denoted by a [header]
) and
key/value pairs within the sections. Lines beginning with ;
are ignored and may be used to provide comments.
Multiple value options can be specified in two ways:
Split values with “, “ (comma + space)
Multi-line format, where each new line starts with at least two spaces.
Here are the allowed sections and their allowed contents:
Example
For more examples, see official project examples and community projects.
[platformio]
default_envs = nodemcuv2
; custom common options
[common]
build_flags =
-D VERSION=1.2.3
-D DEBUG=1
lib_deps_builtin =
SPI
Wire
lib_deps_external =
bblanchon/ArduinoJson @ ~5.6,!=5.4
https://github.com/gioblu/PJON.git#v2.0
IRremoteESP8266=https://github.com/markszabo/IRremoteESP8266/archive/master.zip
[env:nodemcuv2]
platform = espressif8266
framework = arduino
board = nodemcuv2
; Build options
build_flags =
${common.build_flags}
-DSSID_NAME=HELLO
-DSSID_PASWORD=WORLD
; Library options
lib_deps =
${common.lib_deps_builtin}
${common.lib_deps_external}
https://github.com/me-no-dev/ESPAsyncTCP.git
knolleary/PubSubClient@^2.8
paulstoffregen/OneWire
; Serial Monitor options
monitor_speed = 115200
monitor_flags =
--encoding
hexlify
; Unit Testing options
test_ignore = test_desktop
[env:bluepill_f103c8]
platform = ststm32
framework = arduino
board = bluepill_f103c8
; Library options
lib_deps = ${common.lib_deps_external}
; Debug options
debug_tool = custom
debug_server =
${platformio.packages_dir}/tool-jlink/JLinkGDBServer
-singlerun
-if
SWD
-select
USB
-port
2331
-device
STM32F103C8
; Unit Testing options
test_ignore = test_desktop