- Platform
- Framework
- Package
- Board
Packages
platformio.ini
lolin32
[env:lolin32]
platform = espressif32
board = lolin32
framework = arduino
uno
[env:uno]
platform = atmelavr
board = uno
framework = arduino
help
> pio -h
Usage: pio [OPTIONS] COMMAND [ARGS]...
Options:
--version Show the version and exit.
-f, --force DEPRECATE
-c, --caller TEXT Caller ID (service)
--no-ansi Do not print ANSI control characters
-h, --help Show this message and exit.
Commands:
access Manage resource access
account Manage PlatformIO account
boards Embedded board explorer
check Static code analysis
ci Continuous integration
debug Unified debugger
device Device manager & serial/socket monitor
home GUI to manage PlatformIO
lib Library manager
org Manage organizations
package Package manager
platform Platform manager
project Project manager
remote Remote development
run Run project targets (build, upload, clean, etc.)
settings Manage system settings
system Miscellaneous system commands
team Manage organization teams
test Unit testing
update Update installed platforms, packages and libraries
upgrade Upgrade PlatformIO to the latest version
pio platform – Platform manager
> pio platform
Usage: pio platform [OPTIONS] COMMAND [ARGS]...
Options:
-h, --help Show this message and exit.
Commands:
frameworks List supported frameworks, SDKs
install Install new development platform
list List installed development platforms
search Search for development platform
show Show details about development platform
uninstall Uninstall development platform
update Update installed development platforms
list – List installed development platforms
> pio platform list
frameworks – List supported frameworks, SDKs
> pio platform frameworks
arduino ~ Arduino
cmsis ~ CMSIS
esp8266-nonos-sdk ~ ESP8266 Non-OS SDK
esp8266-rtos-sdk ~ ESP8266 RTOS SDK
espidf ~ Espressif IoT Development Framework
freedom-e-sdk ~ Freedom E SDK
freertos ~ FreeRTOS
gd32vf103-sdk ~ GigaDevice GD32V SDK
kendryte-freertos-sdk ~ Kendryte FreeRTOS SDK
kendryte-standalone-sdk ~ Kendryte Standalone SDK
libopencm3 ~ libopencm3
mbed ~ Mbed
nuclei-sdk ~ Nuclei SDK
pulp-os ~ PULP OS
pulp-sdk ~ PULP SDK
pumbaa ~ Pumbaa
shakti-sdk ~ Shakti SDK
simba ~ Simba
siwisdk ~ SIWI GSM Software Development Kit for MT6261 and MT2503 SoC
spl ~ Standard Peripheral Library
stm32cube ~ STM32Cube
wd-riscv-sdk ~ WD-Firmware
wiringpi ~ WiringPi
zephyr ~ Zephyr RTOS
search – Search for development platform
> pio platform search
asrmicro650x ~ ASR Microelectronics ASR650x
aceinna_imu ~ Aceinna IMU
atmelavr ~ Atmel AVR
atmelsam ~ Atmel SAM
atmelmegaavr ~ Atmel megaAVR
chipsalliance ~ CHIPS Alliance
espressif32 ~ Espressif 32
espressif8266 ~ Espressif 8266
freescalekinetis ~ Freescale Kinetis
gd32v ~ GigaDevice GD32V
hwlogic ~ HWLogic
infineonxmc ~ Infineon XMC
intel_arc32 ~ Intel ARC32
intel_mcs51 ~ Intel MCS-51 (8051)
kendryte210 ~ Kendryte K210
lattice_ice40 ~ Lattice iCE40
linux_arm ~ Linux ARM
linux_i686 ~ Linux i686
linux_x86_64 ~ Linux x86_64
lgt8f ~ Logic Green boards
maxim32 ~ Maxim 32
microchippic32 ~ Microchip PIC32
m68k ~ Motorola 68k with up to date toolchain builds
nxplpc ~ NXP LPC
nxpimxrt ~ NXP i.MX RT
native ~ Native
nordicnrf51 ~ Nordic nRF51
nordicnrf52 ~ Nordic nRF52
nuclei ~ Nuclei
openhw ~ OpenHW Group
riscv_gap ~ RISC-V GAP
siwigsm ~ SIWI GSM Platform
ststm32 ~ ST STM32
ststm8 ~ ST STM8
shakti ~ Shakti
sifive ~ SiFive
siliconlabsefm32 ~ Silicon Labs EFM32
swm32 ~ Synwit SWM320
timsp430 ~ TI MSP430
titiva ~ TI TIVA
teensy ~ Teensy
wiznet7500 ~ WIZNet W7500
windows_x86 ~ Windows x86
> pio platform search espressif32
espressif32 ~ Espressif 32
show – Show details about development platform
> pio platform show espressif32
espressif32 ~ Espressif 32
==========================
Frameworks: arduino, espidf, pumbaa, simba
Packages
--------
Package toolchain-xtensa32
Package toolchain-xtensa32s2
Package toolchain-esp32ulp
Package toolchain-esp32s2ulp
Package framework-arduinoespressif32
Package framework-arduino-mbcwb
Package framework-espidf
Package framework-simba
Package framework-pumbaa
Package tool-esptoolpy
Package tool-mbctool
Package tool-openocd-esp32
Package tool-mkspiffs
Package tool-cmake
Package tool-ninja
Package tool-mconf
Package tool-idf
Boards
------
ID MCU Frequency Flash RAM Name
------------------------------- ------- ----------- ------- ------ -------------------------------------------
[...]
lolin32 ESP32 240MHz 4MB 320KB WEMOS LOLIN32
lolin_d32 ESP32 240MHz 4MB 320KB WEMOS LOLIN D32
lolin_d32_pro ESP32 240MHz 4MB 320KB WEMOS LOLIN D32 PRO
[...]
pio platform – Platform Manager
pio init
> pio init
The current working directory C:\Users\andreas\switchdrive\PlatformIO will be used for the project.
The next files/directories have been created in C:\Users\andreas\switchdrive\PlatformIO
include - Put project header files here
lib - Put here project specific (private) libraries
src - Put project source files here
platformio.ini - Project Configuration File
Project has been successfully initialized! Useful commands:
`pio run` - process/build project from the current directory
`pio run --target upload` or `pio run -t upload` - upload firmware to a target
`pio run --target clean` - clean project (remove compiled files)
`pio run --help` - additional information
pio run
Docs » PlatformIO Core (CLI) » CLI Guide » pio run
list-targets
> pio run --list-targets
Environment Group Name Title Description
------------- -------- ----------- --------------------------- -----------------------------------------------------
lolin32 Advanced compiledb Compilation Database Generate compilation database `compile_commands.json`
lolin32 Generic clean Clean
lolin32 Platform buildfs Build Filesystem Image
lolin32 Platform erase Erase Flash
lolin32 Platform size Program Size Calculate program size
lolin32 Platform upload Upload
lolin32 Platform uploadfs Upload Filesystem Image
lolin32 Platform uploadfsota Upload Filesystem Image OTA
pio run
> pio run
Processing lolin32 (platform: espressif32; board: lolin32; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/lolin32.html
PLATFORM: Espressif 32 (3.0.0) > WEMOS LOLIN32
[...]
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-arduinoespressif32 3.10004.210126 (1.0.4)
- tool-esptoolpy 1.30000.201119 (3.0.0)
- toolchain-xtensa32 2.50200.80 (5.2.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 27 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <ESP8266Audio> 1.7
| |-- <SPI> 1.0
| |-- <SPIFFS> 1.0
| | |-- <FS> 1.0
| |-- <HTTPClient> 1.2
| | |-- <WiFiClientSecure> 1.0
| | | |-- <WiFi> 1.0
| |-- <WiFiClientSecure> 1.0
| | |-- <WiFi> 1.0
| |-- <FS> 1.0
| |-- <SD(esp32)> 1.0.5
| | |-- <FS> 1.0
| | |-- <SPI> 1.0
|-- <FS> 1.0
|-- <SD(esp32)> 1.0.5
| |-- <FS> 1.0
| |-- <SPI> 1.0
|-- <WiFi> 1.0
Building in release mode
Retrieving maximum program size .pio\build\lolin32\firmware.elf
Checking size .pio\build\lolin32\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [ ] 4.7% (used 15524 bytes from 327680 bytes)
Flash: [=== ] 27.7% (used 363509 bytes from 1310720 bytes)
pio run (verbose)
> pio run -v
Processing lolin32 (platform: espressif32; board: lolin32; framework: arduino; debug_tool: esp-prog; upload_port: COM3; debug_init_break: tbreak setup)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/lolin32.html
PLATFORM: Espressif 32 (3.0.0) > WEMOS LOLIN32
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-arduinoespressif32 3.10004.210126 (1.0.4)
- tool-esptoolpy 1.30000.201119 (3.0.0)
- toolchain-xtensa32 2.50200.80 (5.2.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 27 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <ESP8266Audio> 1.7 (C:\Users\andreas\switchdrive\PlatformIO\SoundTest\lib\ESP8266Audio)
| |-- <SPI> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\SPI)
| |-- <SPIFFS> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\SPIFFS)
| | |-- <FS> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\FS)
| |-- <HTTPClient> 1.2 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\HTTPClient)
| | |-- <WiFi> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\WiFi)
| | |-- <WiFiClientSecure> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\WiFiClientSecure)
| | | |-- <WiFi> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\WiFi)
| |-- <WiFiClientSecure> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\WiFiClientSecure)
| | |-- <WiFi> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\WiFi)
| |-- <FS> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\FS)
| |-- <SD(esp32)> 1.0.5 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\SD)
| | |-- <FS> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\FS)
| | |-- <SPI> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\SPI)
|-- <FS> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\FS)
|-- <SD(esp32)> 1.0.5 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\SD)
| |-- <FS> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\FS)
| |-- <SPI> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\SPI)
|-- <WiFi> 1.0 (C:\Users\andreas\.platformio\packages\framework-arduinoespressif32\libraries\WiFi)
Building in release mode
<lambda>(["checkprogsize"], [".pio\build\lolin32\firmware.elf"])
MethodWrapper(["checkprogsize"], [".pio\build\lolin32\firmware.elf"])
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [ ] 4.7% (used 15524 bytes from 327680 bytes)
Flash: [=== ] 27.7% (used 363509 bytes from 1310720 bytes)
.pio\build\lolin32\firmware.elf :
[...]
pio system
> pio system info
-------------------------- --------------------------------------------------------
PlatformIO Core 5.1.0
Python 3.7.7-final.0
System Type windows_amd64
Platform Windows-10
File System Encoding utf-8
Locale Encoding cp1252
PlatformIO Core Directory C:\Users\andreas\.platformio
PlatformIO Core Executable C:\Users\andreas\.platformio\penv\Scripts\platformio.exe
Python Executable C:\Users\andreas\.platformio\penv\Scripts\python.exe
Global Libraries 0
Development Platforms 2
Tools & Toolchains 23
Library Management
ArduinoJson
Library Storage: C:\Users\andreas\switchdrive\PlatformIO\SoundTest\.pio\libdeps\lolin32
.pio/libdeps/lolin32/ArduinoJson/.piopm:{"type": "library", "name": "ArduinoJson", "version": "6.17.2", "spec": {"owner": "bblanchon", "id": 64, "name": "ArduinoJson", "requirements": null, "url": null}}
.pio/libdeps/lolin32/ArduinoJson/library.json: "url": "https://github.com/bblanchon/ArduinoJson.git"
.pio/libdeps/lolin32/ArduinoJson/library.properties:repository=https://github.com/bblanchon/ArduinoJson.git
[env:lolin32]
[...]
lib_deps = bblanchon/ArduinoJson@^6.17.2