neulab/tldr huggingface dataset:
Show next libraries? [y/N]: ...
2. Search for 1-Wire libraries
> platformio lib search "1-wire"
DS1820 ====== #ID: 196 Dallas / Maxim DS1820 1-Wire library. For communication with multiple DS1820 on a single 1-Wire bus. Also supports DS18S20 and DS18B20.
Keywords: ds18s20, 1-wire, ds1820, ds18b20 Compatible frameworks: mbed Compatible platforms: Freescale Kinetis, Nordic nRF51, NXP LPC, ST STM32, Teensy Authors: Michael Hagberg
OneWire ======= #ID: 1 Control 1-Wire protocol (DS18S20, DS18B20, DS2408 and etc)
Keywords: onewire, temperature, bus, 1-wire, ibutton, sensor Compatible frameworks: Arduino Compatible platforms: Authors: Paul Stoffregen, Jim Studt, Tom Pollard, Derek Yerger, Josh Larios, Robin James, Glenn Trewitt, Jason Dangel, Guillermo Lovato, Ken Butcher, Mark Tillotson, Bertrik Sikken, Scott Roberts
3. Search for Arduino-based "I2C" libraries
> platformio lib search "i2c" --framework="arduino"
I2Cdevlib-AK8975 ================ #ID: 10 AK8975 is 3-axis electronic compass IC with high sensitive Hall sensor technology
Keywords: i2c, i2cdevlib, sensor, compass Compatible frameworks: Arduino Compatible platforms: Atmel AVR Authors: Jeff Rowberg
I2Cdevlib-Core ============== #ID: 11 The I2C Device Library (I2Cdevlib) is a collection of uniform and well-documented classes to provide simple and intuitive interfaces to I2C devices.
Keywords: i2cdevlib, i2c Compatible frameworks: Arduino Compatible platforms: Atmel AVR Authors: Jeff Rowberg
Adafruit 9DOF Library ===================== #ID: 14 Unified sensor driver for the Adafruit 9DOF Breakout (L3GD20 / LSM303)
Keywords: magnetometer, unified, accelerometer, spi, compass, i2c, sensor, gyroscope Compatible frameworks: Arduino Compatible platforms: Atmel AVR Authors: Adafruit Industries
4. Search for libraries by "web" and "http" keywords.
> platformio lib search --keyword="web" --keyword="http"
ESP8266wifi =========== #ID: 1101 ESP8266 Arduino library with built in reconnect functionality
Keywords: web, http, wifi, server, client, wi-fi Compatible frameworks: Arduino Compatible platforms: Atmel AVR Authors: Jonas Ekstrand
Blynk ===== #ID: 415 Build a smartphone app for your project in minutes. Blynk allows creating IoT solutions easily. It supports  WiFi, BLE, Bluetooth, Ethernet, GSM, USB, Serial. Works with many boards like ESP8266, ESP32, Arduino UNO, Nano, Due, Mega, Zero, MKR100, Yun,...
Keywords: control, gprs, protocol, communication, app, bluetooth, serial, cloud, web, usb, m2m, ble, 3g, smartphone, http, iot, device, sensors, data, esp8266, mobile, wifi, ethernet, gsm Compatible frameworks: Arduino, Energia, WiringPi Compatible platforms: Atmel AVR, Atmel SAM, Espressif 8266, Intel ARC32, Linux ARM, Microchip PIC32, Nordic nRF51, Teensy, TI MSP430, TI Tiva Authors: Volodymyr Shymanskyy
5. Search for libraries by "Adafruit Industries" author
> platformio lib search --author="Adafruit Industries"
Adafruit DHT Unified ==================== #ID: 18 Unified sensor library for DHT (DHT11, DHT22 and etc) temperature and humidity sensors
6. Search for libraries which are compatible with Dallas temperature sensors like DS18B20, DS18S20 and etc.
> platformio lib search "DS*"
I2Cdevlib-DS1307 ================ #ID: 99 The DS1307 serial real-time clock (RTC) is a low-power, full binary-coded decimal (BCD) clock/calendar plus 56 bytes of NV SRAM
Keywords: i2cdevlib, clock, i2c, rtc, time Compatible frameworks: Arduino Compatible platforms: Atmel AVR Authors: Jeff Rowberg
7. Search for Energia-based *nRF24* or *HttpClient* libraries.  The search query that is described below can be interpreted like energia nRF24 OR energia HttpClient
> platformio lib search "+(nRF24 HttpClient)" --framework="arduino"
RadioHead ========= #ID: 124 The RadioHead Packet Radio library which provides a complete object-oriented library for sending and receiving packetized messages via RF22/24/26/27/69, Si4460/4461/4463/4464, nRF24/nRF905, SX1276/77/78, RFM95/96/97/98 and etc.
Keywords: rf, radio, wireless Compatible frameworks: Arduino, Energia Compatible platforms: Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Infineon XMC, Intel ARC32, Kendryte K210, Microchip PIC32, Nordic nRF51, Nordic nRF52, ST STM32, ST STM8, Teensy, TI MSP430, TI Tiva Authors: Mike McCauley
ArduinoHttpClient ================= #ID: 798 [EXPERIMENTAL] Easily interact with web servers from Arduino, using HTTP and WebSocket's.
Keywords: communication Compatible frameworks: Arduino Compatible platforms: Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Intel ARC32, Microchip PIC32, Nordic nRF51, Nordic nRF52, ST STM32, ST STM8, Teensy, TI MSP430 Authors: Arduino
HttpClient ========== #ID: 66 Library to easily make HTTP GET, POST and PUT requests to a web server.
Keywords: communication Compatible frameworks: Arduino Compatible platforms: Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Intel ARC32, Microchip PIC32, Nordic nRF51, Nordic nRF52, ST STM32, Teensy, TI MSP430 Authors: Adrian McEwen
8. Search for the all sensor libraries excluding temperature.
> platformio lib search "sensor -temperature"
SparkFun VL6180 Sensor ====================== #ID: 407 The VL6180 combines an IR emitter, a range sensor, and an ambient light sensor together for you to easily use and communicate with via an I2C interface.
Keywords: sensors Compatible frameworks: Arduino Compatible platforms: Atmel AVR, Atmel SAM, Espressif 8266, Intel ARC32, Microchip PIC32, Nordic nRF51, Teensy, TI MSP430 Authors: Casey Kuhns@SparkFun, SparkFun Electronics
platformio lib show Contents • platformio lib show
Usage platformio lib show [LIBRARY] pio lib show [LIBRARY]
Description Show detailed info about a library using PlatformIO Library Registry.
The possible values for [LIBRARY]:
• Library ID from Registry (preferred)
• Library Name
Examples > platformio lib show OneWire
Version: 2.6, released 10 months ago Manifest: https://raw.githubusercontent.com/ivankravets/pubsubclient/patch-2/library.json Homepage: http://pubsubclient.knolleary.net Repository: https://github.com/knolleary/pubsubclient.git
Authors ------- Nick O'Leary https://github.com/knolleary
Keywords -------- ethernet mqtt iot m2m
Compatible frameworks --------------------- Arduino
Compatible platforms -------------------- Atmel AVR Atmel SAM Espressif 8266 Intel ARC32 Microchip PIC32 Nordic nRF51 Teensy TI MSP430
Headers ------- PubSubClient.h
Examples -------- http://dl.platformio.org/libraries/examples/0/89/mqtt_auth.ino http://dl.platformio.org/libraries/examples/0/89/mqtt_basic.ino http://dl.platformio.org/libraries/examples/0/89/mqtt_esp8266.ino http://dl.platformio.org/libraries/examples/0/89/mqtt_publish_in_callback.ino http://dl.platformio.org/libraries/examples/0/89/mqtt_reconnect_nonblocking.ino http://dl.platformio.org/libraries/examples/0/89/mqtt_stream.ino
Versions -------- 2.6, released 10 months ago
Downloads --------- Today: 25 Week: 120 Month: 462
platformio lib stats Contents • platformio lib stats
Usage platformio lib stats pio lib stats
Description Show PlatformIO Library Registry statistics:
• Recently updated
• Recently added
• Recent keywords
• Popular keywords
• Featured: Today
• Featured: Week
• Featured: Month
This information is the same that is shown on this page:
• https://platformio.org/lib
Examples RECENTLY UPDATED **************** Name                     Date                    Url -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- GroveEncoder             12 hours ago            https://platformio.org/lib/show/1382/GroveEncoder RF24G                    12 hours ago            https://platformio.org/lib/show/1381/RF24G Sim800L Library Revised  12 hours ago            https://platformio.org/lib/show/1380/Sim800L%20Library%20Revised ArduinoSTL               12 hours ago            https://platformio.org/lib/show/750/ArduinoSTL hd44780                  13 hours ago            https://platformio.org/lib/show/738/hd44780
RECENTLY ADDED ************** Name                     Date                    Url -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- GroveEncoder             12 hours ago            https://platformio.org/lib/show/1382/GroveEncoder RF24G                    12 hours ago            https://platformio.org/lib/show/1381/RF24G Sim800L Library Revised  12 hours ago            https://platformio.org/lib/show/1380/Sim800L%20Library%20Revised DS3231                   a day ago               https://platformio.org/lib/show/1379/DS3231 ArduboyPlaytune          4 days ago              https://platformio.org/lib/show/1378/ArduboyPlaytune
RECENT KEYWORDS *************** Name                     Url -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- cobs                     https://platformio.org/lib/search?query=keyword%3Acobs packet                   https://platformio.org/lib/search?query=keyword%3Apacket framing                  https://platformio.org/lib/search?query=keyword%3Aframing 3g                       https://platformio.org/lib/search?query=keyword%3A3g tdd                      https://platformio.org/lib/search?query=keyword%3Atdd
FEATURED: TODAY *************** Name                     Url -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- PubSubClient             https://platformio.org/lib/show/89/PubSubClient Adafruit Unified Sensor  https://platformio.org/lib/show/31/Adafruit%20Unified%20Sensor DHT sensor library       https://platformio.org/lib/show/19/DHT%20sensor%20library ESPAsyncUDP              https://platformio.org/lib/show/359/ESPAsyncUDP NtpClientLib             https://platformio.org/lib/show/727/NtpClientLib Embedis                  https://platformio.org/lib/show/408/Embedis Blynk                    https://platformio.org/lib/show/415/Blynk SimpleTimer              https://platformio.org/lib/show/419/SimpleTimer Adafruit DHT Unified     https://platformio.org/lib/show/18/Adafruit%20DHT%20Unified RTClib                   https://platformio.org/lib/show/83/RTClib
FEATURED: WEEK ************** Name                     Url -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- DHT sensor library       https://platformio.org/lib/show/19/DHT%20sensor%20library Adafruit Unified Sensor  https://platformio.org/lib/show/31/Adafruit%20Unified%20Sensor Blynk                    https://platformio.org/lib/show/415/Blynk ESPAsyncWebServer        https://platformio.org/lib/show/306/ESPAsyncWebServer Adafruit GFX Library     https://platformio.org/lib/show/13/Adafruit%20GFX%20Library I2Cdevlib-Core           https://platformio.org/lib/show/11/I2Cdevlib-Core TimeAlarms               https://platformio.org/lib/show/68/TimeAlarms PubSubClient             https://platformio.org/lib/show/89/PubSubClient Timer                    https://platformio.org/lib/show/75/Timer esp8266_mdns             https://platformio.org/lib/show/1091/esp8266_mdns
FEATURED: MONTH *************** Name                     Url -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ArduinoJson              https://platformio.org/lib/show/64/ArduinoJson DHT sensor library       https://platformio.org/lib/show/19/DHT%20sensor%20library Adafruit Unified Sensor  https://platformio.org/lib/show/31/Adafruit%20Unified%20Sensor PubSubClient             https://platformio.org/lib/show/89/PubSubClient OneWire                  https://platformio.org/lib/show/1/OneWire ESPAsyncTCP              https://platformio.org/lib/show/305/ESPAsyncTCP Time                     https://platformio.org/lib/show/44/Time DallasTemperature        https://platformio.org/lib/show/54/DallasTemperature ESPAsyncWebServer        https://platformio.org/lib/show/306/ESPAsyncWebServer WifiManager              https://platformio.org/lib/show/567/WifiManager
platformio lib uninstall Contents • platformio lib uninstall
Usage platformio lib [STORAGE_OPTIONS] uninstall [LIBRARY...] pio lib [STORAGE_OPTIONS] uninstall [LIBRARY...]
# uninstall project dependent library # (run it from a project root where is located "platformio.ini") platformio lib uninstall [LIBRARY...]
# uninstall library from global storage platformio lib --global uninstall [LIBRARY...] platformio lib -g uninstall [LIBRARY...]
# uninstall library from custom storage platformio lib --storage-dir /path/to/dir uninstall [LIBRARY...] platformio lib -d /path/to/dir uninstall [LIBRARY...]
# [LIBRARY...] forms platformio lib [STORAGE_OPTIONS] uninstall <id> platformio lib [STORAGE_OPTIONS] uninstall <id>@<version> platformio lib [STORAGE_OPTIONS] uninstall <id>@<version range> platformio lib [STORAGE_OPTIONS] uninstall <name> platformio lib [STORAGE_OPTIONS] uninstall <name>@<version> platformio lib [STORAGE_OPTIONS] uninstall <name>@<version range>
Description Uninstall specified library
Examples > platformio lib -g uninstall AsyncMqttClient
Library Storage: /storage/dir/... Uninstalling AsyncMqttClient @ 0.2.0:   [OK]
platformio lib update Contents • platformio lib update
Usage platformio lib [STORAGE_OPTIONS] update [OPTIONS] pio lib [STORAGE_OPTIONS] update [OPTIONS]
# update all project libraries # (run it from a project root where is located "platformio.ini") platformio lib update [OPTIONS]
# update project dependent library platformio lib [STORAGE_OPTIONS] update [OPTIONS] [LIBRARY...]
# update library in global storage platformio lib --global update [OPTIONS] [LIBRARY...] platformio lib -g update [OPTIONS] [LIBRARY...]
# update library in custom storage platformio lib --storage-dir /path/to/dir update [OPTIONS] [LIBRARY...] platformio lib -d /path/to/dir update [OPTIONS] [LIBRARY...]
# [LIBRARY...] forms platformio lib [STORAGE_OPTIONS] update <id> platformio lib [STORAGE_OPTIONS] update <id>@<version> platformio lib [STORAGE_OPTIONS] update <id>@<version range> platformio lib [STORAGE_OPTIONS] update <name> platformio lib [STORAGE_OPTIONS] update <name>@<version> platformio lib [STORAGE_OPTIONS] update <name>@<version range>
Description Check or update installed libraries.
Options -c, --only-check
DEPRECATED. Please use --dry-run instead.
Do not update, only check for the new versions
Examples 1. Update all installed libraries in global storage
> platformio lib -g update
Library Storage: /storage/dir/... Updating ESP8266_SSD1306 @ 3.2.3:   [Up-to-date] Updating EngduinoMagnetometer @ 3.1.0:  [Up-to-date] Updating IRremote @ 2.2.1:  [Up-to-date] Updating Json @ 5.4.0:  [Out-of-date] LibraryManager: Installing id=64 @ 5.6.4 Downloading  [####################################]  100% Unpacking  [####################################]  100% Json @ 5.6.4 has been successfully installed! Updating PJON @ 1fb26fd:    [Checking] git version 2.7.4 (Apple Git-66) Already up-to-date. Updating TextLCD @ 308d188a2d3a:    [Checking] Mercurial Distributed SCM (version 3.8.4) (see https://mercurial-scm.org for more information)
Copyright (C) 2005-2016 Matt Mackall and others This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. pulling from https://developer.mbed.org/users/simon/code/TextLCD/ searching for changes no changes found
2. Update specified libraries in global storage
> platformio lib -g update Json 4
Library Storage: /storage/dir/... Updating Json @ 5.6.4:  [Up-to-date] Updating IRremote @ 2.2.1:  [Up-to-date]
Project Manager CLI To print all available commands and options use:
platformio project --help platformio project COMMAND --help
platformio project config Contents • platformio project config
Usage platformio project config [OPTIONS] pio project config [OPTIONS]
Description Show project computed configuration based on projectconf.  The extra configuration files and dynamic variables will be expanded.
This command is useful for developers to check how PlatformIO computes configuration from projectconf.
Options -d, --project-dir
Examples > pio platformio config Computed project configuration for Tasmota Project
platformio ---------- src_dir          =  tasmota build_dir        =  .pioenvs build_cache_dir  =  .cache extra_configs    =  platformio_tasmota_env.ini platformio_override.ini default_envs     =  tasmota
common ------ framework               =  arduino board                   =  esp01_1m board_build.flash_mode  =  dout platform                =  espressif8266 build_flags             =  -D NDEBUG -mtarget-align -Wl,-Map,firmware.map -Wl,-Teagle.flash.1m.ld -DBEARSSL_SSL_BASIC -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703 -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH -DVTABLES_IN_FLASH -fno-exceptions -lstdc++ build_unflags           =  -Wall board_build.f_cpu       =  80000000L monitor_speed           =  115200 upload_speed            =  115200 upload_resetmethod      =  nodemcu upload_port             =  COM5 extra_scripts           =  pio/strip-floats.py pio/name-firmware.py
scripts_defaults ---------------- extra_scripts  =  pio/strip-floats.py pio/name-firmware.py
platformio project init Contents • platformio project init
Usage platformio project init [OPTIONS] pio project init [OPTIONS]
Description Initialize a new PlatformIO based project or update existing with new data.
This command will create:
• projectconf_pio_include_dir, put project header files here
• projectconf_pio_src_dir, put project source files here (*.h, *.c, *.cpp, *.S, *.ino, etc.)
• projectconf_pio_lib_dir, put project specific (private) libraries here. See also ldf
• projectconf_pio_test_dir, put project tests here. More details unit_testing
A path to a directory where PlatformIO will initialize new project.
If you specify board ID (you can pass multiple --board options), then PlatformIO will automatically generate environment for projectconf and pre-fill these data:
• projectconf_env_platform
• projectconf_env_framework
• projectconf_env_board
The full list with pre-configured boards is available here platforms.
--ide
Initialize PlatformIO project for the specified IDE which can be imported later via "Import Project" functionality.
A list with supported IDE is available within platformio project init --help command.  Also, please take a look at ide page.
Initialize project with additional options from projectconf. For example, platformio project init --project-option="lib_deps=ArduinoJSON". Multiple options are allowed.
--env-prefix
An environment prefix which will be used with pair in projectconf_env_board ID.  For example, the default environment name for board_teensy_teensy31 board will be [env:teensy31].
Examples 1. Initialize new project in a current working directory
> platformio project init
The next files/directories will be created in *** platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-| src - Put your source files here lib - Put here project specific (private) libraries Project has been successfully initialized! Useful commands: `platformio run` - process/build project from the current directory `platformio run --target upload` or `platformio run -t upload` - upload firmware to embedded board `platformio run --target clean` - clean project (remove compiled files)
2. Initialize new project in a specified directory
> platformio project init -d %PATH_TO_DIR%
The next files/directories will be created in *** platformio.ini - Project Configuration File. |-> PLEASE EDIT ME <-| ...
3. Initialize project for Arduino Uno
> platformio project init --board uno
The current working directory *** will be used for the new project. You can specify another project directory via `platformio project init -d %PATH_TO_THE_PROJECT_DIR%` command. ...
4. Initialize project for Teensy 3.1 board with custom framework_mbed
> platformio project init --board teensy31 --project-option "framework=mbed"
Platform Manager CLI To print all available commands and options use:
platformio platform --help platformio platform COMMAND --help [image]
platformio platform frameworks Contents • platformio platform frameworks
Usage platformio platform frameworks QUERY [OPTIONS] pio platform frameworks QUERY [OPTIONS]
Description List supported frameworks (SDKs, etc).
Examples Print all supported frameworks, SDKs, etc.
> platformio platform frameworks
arduino ~ Arduino ================= Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
Home: https://platformio.org/frameworks/arduino
artik-sdk ~ ARTIK SDK ===================== ARTIK SDK is a C/C++ SDK targeting Samsung ARTIK platforms. It exposes a set of APIs to ease up development of applications. These APIs cover hardware buses such as GPIO, SPI, I2C, UART, connectivity links like Wi-Fi, Bluetooth, Zigbee, and network protocols such as HTTP, Websockets, MQTT, and others.
Home: https://platformio.org/frameworks/artik-sdk
cmsis ~ CMSIS ============= The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
Home: https://platformio.org/frameworks/cmsis
espidf ~ ESP-IDF ================ Espressif IoT Development Framework. Official development framework for ESP32.
Home: https://platformio.org/frameworks/espidf
libopencm3 ~ libOpenCM3 ======================= The libOpenCM3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
Home: https://platformio.org/frameworks/libopencm3
mbed ~ mbed =========== The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
Home: https://platformio.org/frameworks/mbed
pumbaa ~ Pumbaa =============== Pumbaa is Python on top of Simba. The implementation is a port of MicroPython, designed for embedded devices with limited amount of RAM and code memory.
Home: https://platformio.org/frameworks/pumbaa
simba ~ Simba ============= Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
Home: https://platformio.org/frameworks/simba
spl ~ SPL ========= The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
Home: https://platformio.org/frameworks/spl
wiringpi ~ WiringPi =================== WiringPi is a GPIO access library written in C for the BCM2835 used in the Raspberry Pi. It's designed to be familiar to people who have used the Arduino "wiring" system.
Home: https://platformio.org/frameworks/wiringpi
platformio platform install Contents • platformio platform install
Usage platformio platform install [OPTIONS] [PLATFORM...] pio platform install [OPTIONS] [PLATFORM...]
# [PLATFORM...] forms platformio platform install <name> platformio platform install <name>@<version> platformio platform install <name>@<version range> platformio platform install <zip or tarball url> platformio platform install file://<zip or tarball file> platformio platform install file://<folder> platformio platform install <repository> platformio platform install <name=repository> (name it should have locally) platformio platform install <repository#tag> ("tag" can be commit, branch or tag)
Options --with-package
Install specified package (or alias)
--without-package
Do not install specified package (or alias)
--skip-default
Skip default packages
--with-all-packages
Install all declared packages in platform.json
Reinstall/redownload development platform and its packages if they exist
Description Install platforms and dependent packages.
Also, PlatformIO supports installing from local directory or archive. Need to use file:// prefix before local path. Also, directory or archive should contain platform.json manifest.
• platformio/platform-NAME (short version for GitHub repository)
• https://github.com/platformio/platform-NAME.git
• git+git://git.server.org/my-platform
• git+https://git.server.org/my-platform
• git+ssh://git.server.org/my-platform
• git+ssh://user@git.server.org/my-platform
• https://github.com/platformio/platform-name.git#master
• git+git://git.server.org/my-platform#master
• git+https://git.server.org/my-platform#v1.0
• git+ssh://git.server.org/my-platform#7846d8ad52f983f2f2887bdc0f073fe9755a806d
• hg+hg://hg.server.org/my-platform
• hg+https://hg.server.org/my-platform
• hg+ssh://hg.server.org/my-platform
• hg+hg://hg.server.org/my-platform#master
• hg+https://hg.server.org/my-platform#v1.0
• hg+ssh://hg.server.org/my-platform#4cfe2fa00668
• svn+svn://svn.server.org/my-platform
• svn+https://svn.server.org/my-platform
• svn+ssh://svn.server.org/my-platform
• svn+svn://svn.server.org/my-platform#13
Examples 1. Install platform_atmelavr with default packages
> platformio platform install atmelavr
PlatformManager: Installing atmelavr Downloading... Unpacking  [####################################]  100% atmelavr @ 0.0.0 has been successfully installed! PackageManager: Installing tool-scons @ >=2.3.0,<2.6.0 Downloading  [####################################]  100% Unpacking  [####################################]  100% tool-scons @ 2.4.1 has been successfully installed! PackageManager: Installing toolchain-atmelavr @ ~1.40801.0 Downloading  [####################################]  100% Unpacking  [####################################]  100% toolchain-atmelavr @ 1.40801.0 has been successfully installed! The platform 'atmelavr' has been successfully installed! The rest of packages will be installed automatically depending on your build environment.
2. Install platform_atmelavr with uploader utility only and skip default packages
> platformio platform install atmelavr --skip-default-package --with-package=uploader
PlatformManager: Installing atmelavr Downloading  [####################################]  100% Unpacking  [####################################]  100% atmelavr @ 0.0.0 has been successfully installed! PackageManager: Installing tool-micronucleus @ ~1.200.0 Downloading  [####################################]  100% Unpacking  [####################################]  100% tool-micronucleus @ 1.200.0 has been successfully installed! PackageManager: Installing tool-avrdude @ ~1.60001.0 Downloading  [####################################]  100% Unpacking  [####################################]  100% tool-avrdude @ 1.60001.1 has been successfully installed! The platform 'atmelavr' has been successfully installed! The rest of packages will be installed automatically depending on your build environment.
3. Install the latest development platform_atmelavr from Git repository
> platformio platform install https://github.com/platformio/platform-atmelavr.git
PlatformManager: Installing platform-atmelavr git version 2.7.4 (Apple Git-66) Cloning into '/Volumes/MEDIA/tmp/pio3_test_projects/arduino-digihead-master/home_dir/platforms/installing-U3ucN0-package'... remote: Counting objects: 176, done. remote: Compressing objects: 100% (55/55), done. remote: Total 176 (delta 114), reused 164 (delta 109), pack-reused 0 Receiving objects: 100% (176/176), 38.86 KiB | 0 bytes/s, done. Resolving deltas: 100% (114/114), done. Checking connectivity... done. Submodule 'examples/arduino-external-libs/lib/OneWire' (https://github.com/PaulStoffregen/OneWire.git) registered for path 'examples/arduino-external-libs/lib/OneWire' Cloning into 'examples/arduino-external-libs/lib/OneWire'... remote: Counting objects: 91, done. remote: Total 91 (delta 0), reused 0 (delta 0), pack-reused 91 Unpacking objects: 100% (91/91), done. Checking connectivity... done. Submodule path 'examples/arduino-external-libs/lib/OneWire': checked out '57c18c6de80c13429275f70875c7c341f1719201' atmelavr @ 0.0.0 has been successfully installed! PackageManager: Installing tool-scons @ >=2.3.0,<2.6.0 Downloading  [####################################]  100% Unpacking  [####################################]  100% tool-scons @ 2.4.1 has been successfully installed! PackageManager: Installing toolchain-atmelavr @ ~1.40801.0 Downloading  [####################################]  100% Unpacking  [####################################]  100% toolchain-atmelavr @ 1.40801.0 has been successfully installed! The platform 'https://github.com/platformio/platform-atmelavr.git' has been successfully installed! The rest of packages will be installed automatically depending on your build environment.
platformio platform list Contents • platformio platform list
Usage platformio platform list [OPTIONS] pio platform list [OPTIONS]
Description List installed platforms
Examples > platformio platform list
atmelavr ~ Atmel AVR ==================== Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming.
Home: https://platformio.org/platforms/atmelavr Packages: toolchain-atmelavr, framework-simba Version: 0.0.0
atmelsam ~ Atmel SAM ==================== Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Home: https://platformio.org/platforms/atmelsam Packages: framework-arduinosam, framework-mbed, framework-simba, toolchain-gccarmnoneeabi, tool-bossac Version: 0.0.0
espressif8266 ~ Espressif 8266 ============================== Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Home: https://platformio.org/platforms/espressif8266 Packages: framework-simba, tool-esptool, framework-arduinoespressif8266, sdk-esp8266, toolchain-xtensa Version: 0.0.0 ...
platformio platform search Contents • platformio platform search
Usage platformio platform search QUERY [OPTIONS] pio platform search QUERY [OPTIONS]
Description Search for development platforms
Examples 1. Print all available development platforms
> platformio platform search
Home: https://platformio.org/platforms/atmelavr Packages: toolchain-atmelavr, framework-arduinoavr, framework-simba, tool-avrdude, tool-micronucleus
Home: https://platformio.org/platforms/atmelsam Packages: toolchain-gccarmnoneeabi, framework-arduinosam, framework-simba, tool-openocd, framework-mbed, tool-avrdude, tool-bossac
espressif32 ~ Espressif 32 ========================== Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Home: https://platformio.org/platforms/espressif32 Packages: toolchain-xtensa32, framework-simba, framework-arduinoespressif32, framework-pumbaa, framework-espidf, tool-esptoolpy
Home: https://platformio.org/platforms/espressif8266 Packages: toolchain-xtensa, framework-simba, tool-esptool, tool-mkspiffs, tool-espotapy, framework-arduinoespressif8266, sdk-esp8266
freescalekinetis ~ Freescale Kinetis ==================================== Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration. ...
2. Search for TI development platforms
> platformio platform search texas
timsp430 ~ TI MSP430 ==================== MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
Home: https://platformio.org/platforms/timsp430 Packages: toolchain-timsp430, tool-mspdebug, framework-energiamsp430, framework-arduinomsp430
titiva ~ TI TIVA ================ Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions.
Home: https://platformio.org/platforms/titiva Packages: ldscripts, framework-libopencm3, toolchain-gccarmnoneeabi, tool-lm4flash, framework-energiativa
> platformio platform search framework-mbed
Home: https://platformio.org/platforms/atmelsam Packages: toolchain-gccarmnoneeabi, framework-arduinosam, framework-simba, tool-openocd, framework-mbed, ldscripts, tool-bossac
freescalekinetis ~ Freescale Kinetis ==================================== Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Home: https://platformio.org/platforms/freescalekinetis Packages: framework-mbed, toolchain-gccarmnoneeabi
nordicnrf51 ~ Nordic nRF51 ========================== The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
Home: https://platformio.org/platforms/nordicnrf51 Packages: framework-mbed, tool-rfdloader, toolchain-gccarmnoneeabi, framework-arduinonordicnrf51
nxplpc ~ NXP LPC ================ The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
Home: https://platformio.org/platforms/nxplpc Packages: framework-mbed, toolchain-gccarmnoneeabi
siliconlabsefm32 ~ Silicon Labs EFM32 ===================================== Silicon Labs EFM32 Gecko 32-bit microcontroller (MCU) family includes devices that offer flash memory configurations up to 256 kB, 32 kB of RAM and CPU speeds up to 48 MHz. Based on the powerful ARM Cortex-M core, the Gecko family features innovative low energy techniques, short wake-up time from energy saving modes and a wide selection of peripherals, making it ideal for battery operated applications and other systems requiring high performance and low-energy consumption.
Home: https://platformio.org/platforms/siliconlabsefm32 Packages: framework-mbed, toolchain-gccarmnoneeabi
ststm32 ~ ST STM32 ================== The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
Home: https://platformio.org/platforms/ststm32 Packages: framework-libopencm3, toolchain-gccarmnoneeabi, tool-stlink, framework-spl, framework-cmsis, framework-mbed, ldscripts
teensy ~ Teensy =============== Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard USB cable and a PC or Macintosh with a USB port.
Home: https://platformio.org/platforms/teensy Packages: framework-arduinoteensy, tool-teensy, toolchain-gccarmnoneeabi, framework-mbed, toolchain-atmelavr, ldscripts ...
platformio platform show Contents • platformio platform show
Usage platformio platform show PLATFORM pio platform show PLATFORM
Description Show details about platforms
Examples > platformio platform show atmelavr
Version: 1.2.1 Home: https://platformio.org/platforms/atmelavr License: Apache-2.0 Frameworks: simba, arduino
Package toolchain-atmelavr -------------------------- Type: toolchain Requirements: ~1.40902.0 Installed: Yes Description: avr-gcc Url: http://www.atmel.com/products/microcontrollers/avr/32-bitavruc3.aspx?tab=tools Version: 1.40902.0 (4.9.2)
Package framework-arduinoavr ---------------------------- Type: framework Requirements: ~1.10612.1 Installed: Yes Url: https://www.arduino.cc/en/Main/Software Version: 1.10612.1 (1.6.12) Description: Arduino Wiring-based Framework (AVR Core, 1.6)
Package framework-simba ----------------------- Type: framework Requirements: >=7.0.0 Installed: Yes Url: https://github.com/eerimoq/simba Version: 11.0.0 Description: Simba Embedded Programming Platform
Package tool-avrdude -------------------- Type: uploader Requirements: ~1.60300.0 Installed: Yes Description: AVRDUDE Url: http://www.nongnu.org/avrdude/ Version: 1.60300.0 (6.3.0)
Package tool-micronucleus ------------------------- Type: uploader Requirements: ~1.200.0 Installed: No (optional)
platformio platform uninstall Contents • platformio platform uninstall
Usage platformio platform uninstall [PLATFORM...] pio platform uninstall [PLATFORM...]
# uninstall specific platform version using Semantic Versioning platformio platform uninstall PLATFORM@X.Y.Z
Description Uninstall specified platforms
Examples > platformio platform uninstall atmelavr Uninstalling platform atmelavr @ 0.0.0:    [OK] Uninstalling package tool-scons @ 2.4.1:    [OK] Uninstalling package toolchain-atmelavr @ 1.40801.0:    [OK] The platform 'atmelavr' has been successfully uninstalled!
platformio platform update Contents • platformio platform update
Usage platformio platform update [OPTIONS] [PLATFORM...] pio platform update [OPTIONS] [PLATFORM...]
# update specific platform version using Semantic Versioning platformio platform update PLATFORM@X.Y.Z
Description Check or update installed platforms
Options -p, --only-packages
Update only the platform related packages. Do not update development platform build scripts, board configs and etc.
-c, --only-check
Examples > platformio platform update
Platform atmelavr -------- Updating atmelavr @ 0.0.0:  [Up-to-date] Updating framework-arduinoavr @ 1.10608.1:  [Up-to-date] Updating tool-avrdude @ 1.60001.1:  [Up-to-date] Updating toolchain-atmelavr @ 1.40801.0:    [Up-to-date] Updating tool-scons @ 2.4.1:    [Up-to-date]
Platform espressif8266 -------- Updating espressif @ 0.0.0:     [Up-to-date] Updating tool-scons @ 2.4.1:    [Up-to-date] Updating toolchain-xtensa @ 1.40802.0:  [Up-to-date] Updating tool-esptool @ 1.409.0:    [Up-to-date] Updating tool-mkspiffs @ 1.102.0:   [Up-to-date] Updating framework-arduinoespressif8266 @ 1.20300.0:    [Up-to-date] Updating sdk-esp8266 @ 1.10502.0:   [Up-to-date]
Platform teensy -------- Updating teensy @ 0.0.0:    [Up-to-date] Updating framework-arduinoteensy @ 1.128.0:     [Up-to-date] Updating tool-teensy @ 1.1.0:   [Up-to-date] Updating framework-mbed @ 1.121.0:  [Up-to-date] Updating tool-scons @ 2.4.1:    [Up-to-date] Updating toolchain-atmelavr @ 1.40801.0:    [Up-to-date] Updating toolchain-gccarmnoneeabi @ 1.40804.0:  [Up-to-date]
PlatformIO Remote CLI Helper command for pioremote.
pio remote --help platformio remote --help platformio remote COMMAND --help
# run command on the specified PIO Remote Agents platformio remote --agent NAME_1 --agent NAME_N COMMAND
PIO Remote Agent Start PIO Remote Agent on a host machine and work remotely with your devices WITHOUT extra software, services, SSH, VPN, tunneling or opening incoming network ports.
pioremote supports wired and wireless devices. Wired devices should be connected physically to host machine where PIO Remote Agent is started, where wireless devices should be visible for PIO Remote Agent to provide network operations Over-The-Air (OTA).
Contents • PIO Remote Agent
• platformio remote agent list
• Example
• platformio remote agent start
platformio remote agent list Usage platformio remote agent list pio remote agent list
Description List active PIO Remote Agent s started using own pioaccount or shared with you by other PlatformIO developers.
Example > platformio remote agent list
innomac.local ------------- ID: 98853d930......788d77375e7 Started: 2016-10-26 16:32:56
platformio remote agent start Usage platformio remote agent start [OPTIONS] pio remote agent start [OPTIONS]
Description Start PIO Remote Agent and work remotely with your devices from anywhere in the world. This command can be run as daemon or added to autostart list of your OS.
Options -n, --name
Agent name/alias. By default, machine's hostname will be used.  You can use this name later for cmd_remote_device and cmd_remote_run commands. Good names are home, office, lab or etc.
-s, --share
Share your agent/devices with other PlatformIO developers who have pioaccount: friends, co-workers, team, etc.
The valid value for --share option is email address that was used for cmd_account_register command.
-d, --working-dir
A working directory where PIO Remote Agent stores projects data for incremental synchronization and embedded programs for PIO Process Supervisor.
platformio remote device Remote Device: monitor remote device or list existing.
Contents • platformio remote device
• platformio remote device list
• platformio remote device monitor
platformio remote device list Usage platformio remote device list [OPTIONS] pio remote device list [OPTIONS]
# List devices from the specified agents. Multiple agents are allowed. platformio remote --agent NAME device list [OPTIONS]
Description List Serial Ports on remote machines where cmd_remote_agent is started.
You can list devices from the specified remote machines using --agent NAME option between "remote" & "device" sub-commands. For example, you have run platformio remote agent start --name command with "home" and "office" options:
• platformio remote agent start --name home
• platformio remote agent start --name office
Now, to list devices from office machine please use platformio remote --agent office device list.
Multiple agents are allowed ( platformio remote --agent lab1 --agent lab3 device ...).
Example > platformio remote device list
Agent innomac.local =================== /dev/cu.Bluetooth-Incoming-Port ------------------------------- Hardware ID: n/a Description: n/a /dev/cu.obd2ecu-SPPDev ---------------------- Hardware ID: n/a Description: n/a /dev/cu.usbmodemFA1431 ---------------------- Hardware ID: USB VID:PID=2A03:0043 SER=75435353038351015271 LOCATION=250-1.4.3 Description: Arduino Uno /dev/cu.usbserial-A6004003 -------------------------- Hardware ID: USB VID:PID=0403:6001 SER=A6004003 LOCATION=253-1.3.1 Description: FT232R USB UART - FT232R USB UART /dev/cu.SLAB_USBtoUART ---------------------- Hardware ID: USB VID:PID=10C4:EA60 SER=0001 LOCATION=253-1.3.2 Description: CP2102 USB to UART Bridge Controller - CP2102 USB to UART Bridge Controller /dev/cu.usbmodem589561 ---------------------- Hardware ID: USB VID:PID=16C0:0483 SER=589560 LOCATION=250-1.4.1 Description: USB Serial
platformio remote device monitor Remote Serial Port Monitor
Usage platformio remote device monitor [OPTIONS] pio remote device monitor [OPTIONS]
# Connect to a specified agent platformio remote --agent NAME device monitor [OPTIONS] platformio remote -a NAME device monitor [OPTIONS]
Description Connect to Serial Port of remote device and receive or send data in real time.  cmd_remote_agent should be started before on a remote machine.
Port, a number or a device name
Set baud rate, default 9600
Set initial RTS line state, default 0
Set initial DTR line state, default 0
Add text transformation. Available filters:
• colorize Apply different colors for received and echo
• debug Print what is sent and received
• default Remove typical terminal control codes from input
• direct Do-nothing: forward all data unchanged
• nocontrol Remove all control codes, incl. CR+LF
• printable Show decimal code for all non-ASCII characters and replace most control codes
For example, to use Ctrl+] run platformio remote device monitor --exit-char 29.
> platformio remote device monitor --help
Usage: platformio remote device monitor [OPTIONS]
Options: -p, --port TEXT       Port, a number or a device name -b, --baud INTEGER    Set baud rate, default=9600 --parity [N|E|O|S|M]  Set parity, default=N --rtscts              Enable RTS/CTS flow control, default=Off --xonxoff             Enable software flow control, default=Off --rts [0|1]           Set initial RTS line state, default=0 --dtr [0|1]           Set initial DTR line state, default=0 --echo                Enable local echo, default=Off --encoding TEXT       Set the encoding for the serial port (e.g. hexlify, Latin1, UTF-8), default: UTF-8 -f, --filter TEXT     Add text transformation --eol [CR|LF|CRLF]    End of line mode, default=CRLF --raw                 Do not apply any encodings/transformations --exit-char INTEGER   ASCII code of special character that is used to exit the application, default=29 (DEC) --menu-char INTEGER   ASCII code of special character that is used to control miniterm (menu), default=20 (DEC) --quiet               Diagnostics: suppress non-error messages, default=Off -h, --help            Show this message and exit.
> platformio remote device monitor
platformio remote run Remote Firmware Updates
Contents • platformio remote run
Usage platformio remote run [OPTIONS] pio remote run [OPTIONS]
# process environments using specified PIO Remote Agent platformio remote --agent NAME run [OPTIONS]
Description Process remotely environments which are defined in projectconf file.  By default, pioremote builds project on a host machine and deploy final firmware (program) to a remote device (embedded board).
If you need to process project on a remote machine, please use platformio remote run --force-remote option. In this case, pioremote will automatically synchronize your project with remote machine, install required toolchains, frameworks, SDKs, etc., and process project.
-t, --target
Process specified targets.
Built-in targets:
• clean delete compiled object files, libraries and firmware/program binaries
• upload firmware "auto-uploading" for embedded platforms
• program firmware "auto-uploading" for embedded platforms using external programmer (available only for platform_atmelavr)
• buildfs platform_espressif_uploadfs
• uploadfs platform_espressif_uploadfs
• envdump dump current build environment
• size print the size of the sections in a firmware/program
--upload-port
Custom upload port of embedded board. To print all available ports use cmd_remote_device command.
If upload port is not specified, PlatformIO will try to detect it automatically.
--disable-auto-clean
Disable auto-clean of projectconf_pio_build_dir when projectconf or projectconf_pio_src_dir (project structure) have been modified.
-r, --force-remote
By default, pioremote builds project on a host machine and deploy final firmware (program) to remote device (embedded board).
If you need to process project on remote machine, please use platformio remote run --force-remote option. In this case, pioremote will automatically synchronize your project with remote machine, install required toolchains, frameworks, SDKs, etc., and process project.