neulab/tldr huggingface dataset:
Platform: atmelavr --------------------------------------------------------------------------- ID                    MCU           Frequency  Flash   RAM    Name --------------------------------------------------------------------------- btatmega168           atmega168     16MHz     14K    1K    Arduino BT ATmega168 btatmega328           atmega328p    16MHz     28K    2K    Arduino BT ATmega328 diecimilaatmega168    atmega168     16MHz     14K    1K    Arduino Duemilanove or Diecimila ATmega168 diecimilaatmega328    atmega328p    16MHz     30K    2K    Arduino Duemilanove or Diecimila ATmega328 esplora               atmega32u4    16MHz     28K    2K    Arduino Esplora ethernet              atmega328p    16MHz     31K    2K    Arduino Ethernet ...
2. Filter Arduino-based boards
$ platformio boards arduino
3. Filter mbed-enabled boards
$ platformio boards mbed
Platform: freescalekinetis --------------------------------------------------------------------------- ID                    MCU            Frequency  Flash   RAM    Name --------------------------------------------------------------------------- frdm_k20d50m          mk20dx128vlh5  48MHz     128K   16K   Freescale Kinetis FRDM-K20D50M frdm_k22f             mk22fn512vlh12 120MHz    512K   128K  Freescale Kinetis FRDM-K22F ...
Platform: nordicnrf51 --------------------------------------------------------------------------- ID                    MCU            Frequency  Flash   RAM    Name --------------------------------------------------------------------------- wallBotBLE            nrf51822       16MHz     128K   16K   JKSoft Wallbot BLE nrf51_dk              nrf51822       32MHz     256K   32K   Nordic nRF51-DK ...
Platform: nxplpc --------------------------------------------------------------------------- ID                    MCU            Frequency  Flash   RAM    Name --------------------------------------------------------------------------- blueboard_lpc11u24    lpc11u24       48MHz     32K    8K    BlueBoard-LPC11U24 dipcortexm0           lpc11u24       50MHz     32K    8K    DipCortex M0 lpc11u35              lpc11u35       48MHz     64K    10K   EA LPC11U35 QuickStart Board ...
Platform: ststm32 --------------------------------------------------------------------------- ID                    MCU            Frequency  Flash   RAM    Name --------------------------------------------------------------------------- disco_f401vc          stm32f401vct6  84MHz     256K   64K   32F401CDISCOVERY nucleo_f030r8         stm32f030r8t6  48MHz     64K    8K    ST Nucleo F030R8 ...
4. Filter boards which are based on ATmega168 MCU
$ platformio boards atmega168
Platform: atmelavr --------------------------------------------------------------------------- ID                    MCU           Frequency  Flash   RAM    Name --------------------------------------------------------------------------- btatmega168           atmega168     16MHz     14K    1K    Arduino BT ATmega168 diecimilaatmega168    atmega168     16MHz     14K    1K    Arduino Duemilanove or Diecimila ATmega168 miniatmega168         atmega168     16MHz     14K    1K    Arduino Mini ATmega168 atmegangatmega168     atmega168     16MHz     14K    1K    Arduino NG or older ATmega168 nanoatmega168         atmega168     16MHz     14K    1K    Arduino Nano ATmega168 pro8MHzatmega168      atmega168     8MHz      14K    1K    Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) pro16MHzatmega168     atmega168     16MHz     14K    1K    Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) lilypadatmega168      atmega168     8MHz      14K    1K    LilyPad Arduino ATmega168 168pa16m              atmega168p    16MHz     15K    1K    Microduino Core (Atmega168PA@16M,5V) 168pa8m               atmega168p    8MHz      15K    1K    Microduino Core (Atmega168PA@8M,3.3V)
5. Show boards by platform_timsp430
$ platformio boards timsp430
Platform: timsp430 --------------------------------------------------------------------------- ID                    MCU           Frequency  Flash   RAM    Name --------------------------------------------------------------------------- lpmsp430fr5739        msp430fr5739  16MHz     15K    1K    FraunchPad w/ msp430fr5739 lpmsp430f5529         msp430f5529   16MHz     128K   1K    LaunchPad w/ msp430f5529 (16MHz) lpmsp430f5529_25      msp430f5529   25MHz     128K   1K    LaunchPad w/ msp430f5529 (25MHz) lpmsp430fr5969        msp430fr5969  8MHz      64K    1K    LaunchPad w/ msp430fr5969 lpmsp430g2231         msp430g2231   1MHz      2K     128B   LaunchPad w/ msp430g2231 (1MHz) lpmsp430g2452         msp430g2452   16MHz     8K     256B   LaunchPad w/ msp430g2452 (16MHz) lpmsp430g2553         msp430g2553   16MHz     16K    512B   LaunchPad w/ msp430g2553 (16MHz)
platformio check Helper command for piocheck.
Contents • platformio check
Usage platformio check [OPTIONS] pio check [OPTIONS]
Description Perform static analysis check on PlatformIO based project. By default check_tool_cppcheck analysis tool is used.
More details about PlatformIO piocheck.
Options -e, --environment
Process specified environments.
You can specify which source files or folders should be included/excluded from check process. By default only projectconf_pio_src_dir and projectconf_pio_include_dir are checked. Multiple --pattern options and GLOB Patterns are allowed.
Example: platformio check --pattern="tests" --pattern="src/*.cpp"
--flags
Specify additional flags that need to be passed to the analysis tool. If multiple tools set in projectconf_check_tool option, the flags are passed to all of them.  Individual flags for each tool can be added using a special suffix with the tool name.
┌────────────────┬─────────────────────────────┐ │Flag            │ Meaning                     │ ├────────────────┼─────────────────────────────┤ │--addon=<addon> │ Execute addon. i.e. cert.   │ ├────────────────┼─────────────────────────────┤ │-D<ID>          │ Define preprocessor symbol. │ └────────────────┴─────────────────────────────┘
Multiple --flags options are allowed.
Example: platformio check --flags "-DDEBUG cppcheck: --std=c++11 --platform=avr8"
--severity
Specify the check_severity types which will be reported by the check_tools.  Possible values described in check_severity section. Multiple --severity options are allowed.
Example: platformio check --severity=high
-d, --project-dir
Specify the path to project directory. By default, --project-dir is equal to the current working directory (CWD).
-c, --project-conf
Process project with a custom projectconf.
Return the output in JSON format.
--fail-on-defect
Fail (exit with non-zero code) if there is a defect found with specified severity. By default exit code is the same as the exit code returned by a tool selected for performing check. Possible values described in check_severity section. Multiple --fail-on-defect options are allowed.
Example: platformio check --fail-on-defect=low --fail-on-defect=medium
-s, --silent
Suppress progress reporting and show only defects with high severity. See check_severity.
Show detailed information when processing environments.
This option can also be set globally using setting_force_verbose setting or by environment variable PLATFORMIO_SETTING_FORCE_VERBOSE.
Examples For the examples please follow to piocheck page.
platformio ci Contents • platformio ci
Usage platformio ci [OPTIONS] [SRC] pio ci [OPTIONS] [SRC]
Description platformio ci command is conceived of as "hot key" for building project with arbitrary source code structure. In a nutshell, using SRC and platformio ci --lib contents PlatformIO initializes via cmd_project_init new project in platformio ci --build-dir with the build environments (using platformio ci --board or platformio ci --project-conf) and processes them via cmd_run command.
platformio ci command accepts multiple SRC arguments, platformio ci --lib and platformio ci --exclude options which can be a path to directory, file or Glob Pattern.  Also, you can omit SRC argument and set path (multiple paths are allowed denoting with :) to PLATFORMIO_CI_SRC Environment variable
For more details as for integration with the popular Continuous Integration Systems please follow to ci page.
NOTE: platformio ci command is useful for library developers. It allows one to build different examples without creating own project per them. Also, is possible to upload firmware to the target device. In this case, you need to pass additional option --project-option="targets=upload". What is more, you can specify custom upload port using --project-option="upload_port=<port>" option. See platformio ci --project-option for details.
Options -l, --lib
Source code which will be copied to <BUILD_DIR>/lib directly.
If platformio ci --lib is a path to file (not to directory), then PlatformIO will create temporary directory within <BUILD_DIR>/lib and copy the rest files into it.
Exclude directories and/-or files from platformio ci --build-dir. The path must be relative to PlatformIO project within platformio ci --build-dir.
For example, exclude from project src directory:
• examples folder
• *.h files from foo folder
platformio ci --exclude=src/examples --exclude=src/foo/*.h [SRC]
-b, --board
Build project with automatically pre-generated environments based on board settings.
For more details please look into platformio project init --board.
--build-dir
Path to directory where PlatformIO will initialise new project. By default it's temporary directory within your operating system.
NOTE: This directory will be removed at the end of build process. If you want to keep it, please use platformio ci --keep-build-dir.
--keep-build-dir
Don't remove platformio ci --build-dir after build process.
Build project using pre-configured projectconf.
-O, --project-option
Pass additional options from projectconf to cmd_project_init command. For example, automatically install dependent libraries platformio ci --project-option="lib_deps=ArduinoJSON" or ignore specific library platformio ci --project-option="lib_ignore=SomeLib".
NOTE: Use multiple --project-option to pass multiple options to projectconf. One option per one argument. For example, platformio ci --project-option="build_unflags = -std=gnu++11" --project-option="build_flags = -std=c++14"
Shows detailed information when processing environments.
Examples For the others examples please follow to ci page.
platformio debug Helper command for piodebug.
Contents • platformio debug
Usage platformio debug [OPTIONS] pio debug [OPTIONS]
# A binary shortcut for "platformio debug --interface=gdb" command piodebuggdb [GDB OPTIONS]
Description Prepare PlatformIO project for debugging or launch debug server.
Debug specified environments.
You can also specify which environments should be used for debugging by default using projectconf_pio_default_envs option from projectconf.
Specify the path to a project directory. By default, --project-dir is equal to a current working directory (CWD).
New in version 4.0.
--interface
PIO Debugging Interface. Valid values:
• gdb - GDB: The GNU Project Debugger
Examples 1. Prepare a project for debugging
> platformio debug
[Sun Apr 30 01:34:01 2017] Processing mzeropro (platform: atmelsam; debug_extra_cmds: b main.cpp:26; board: mzeropro; framework: arduino) ----------------------------------------------------------------------------------------------- Verbose mode can be enabled via `-v, --verbose` option Collected 26 compatible libraries Looking for dependencies... Project does not have dependencies Compiling .pio/build/mzeropro/src/main.o Compiling .pio/build/mzeropro/FrameworkArduinoVariant/variant.o Compiling .pio/build/mzeropro/FrameworkArduino/IPAddress.o Compiling .pio/build/mzeropro/FrameworkArduino/Print.o Archiving .pio/build/mzeropro/libFrameworkArduinoVariant.a Indexing .pio/build/mzeropro/libFrameworkArduinoVariant.a ... Compiling .pio/build/mzeropro/FrameworkArduino/wiring_analog.o Compiling .pio/build/mzeropro/FrameworkArduino/wiring_digital.o Compiling .pio/build/mzeropro/FrameworkArduino/wiring_private.o Compiling .pio/build/mzeropro/FrameworkArduino/wiring_shift.o Archiving .pio/build/mzeropro/libFrameworkArduino.a Indexing .pio/build/mzeropro/libFrameworkArduino.a Linking .pio/build/mzeropro/firmware.elf Calculating size .pio/build/mzeropro/firmware.elf Building .pio/build/mzeropro/firmware.bin text       data     bss     dec     hex filename 11512       256    1788   13556    34f4 .pio/build/mzeropro/firmware.elf =========================== [SUCCESS] Took 7.82 seconds ===========================
2. Launch GDB instance and load initial configuration per a project
> platformio debug --interface=gdb -x .pioinit
... Loading section .text, size 0x2c98 lma 0x4000 Loading section .ramfunc, size 0x60 lma 0x6c98 Loading section .data, size 0x100 lma 0x6cf8 Start address 0x47b0, load size 11768 Transfer rate: 4 KB/sec, 3922 bytes/write. target halted due to debug-request, current mode: Thread xPSR: 0x81000000 pc: 0x000028f4 msp: 0x20002c00 target halted due to debug-request, current mode: Thread xPSR: 0x81000000 pc: 0x000028f4 msp: 0x20002c00 Breakpoint 2 at 0x413a: file src/main.cpp, line 26.
Device Manager CLI To print all available commands and options use:
pio device --help platformio device --help platformio device COMMAND --help
platformio device list Contents • platformio device list
Usage platformio device list [OPTIONS] pio device list [OPTIONS]
Description List available devices.  Default is set to --serial and all available Serial Ports will be shown.
Options --serial
List available Serial Ports, default.
--logical
List available logical devices.
--mdns
List multicast DNS services.
Examples 1. Unix OS
$ platformio device list /dev/cu.SLAB_USBtoUART ---------- Hardware ID: USB VID:PID=10c4:ea60 SNR=0001 Description: CP2102 USB to UART Bridge Controller
/dev/cu.uart-1CFF4676258F4543 ---------- Hardware ID: USB VID:PID=451:f432 SNR=1CFF4676258F4543 Description: Texas Instruments MSP-FET430UIF
2. Windows OS
$ platformio device list COM4 ---------- Hardware ID: USB VID:PID=0451:F432 Description: MSP430 Application UART (COM4)
COM3 ---------- Hardware ID: USB VID:PID=10C4:EA60 SNR=0001 Description: Silicon Labs CP210x USB to UART Bridge (COM3)
3. List multicast DNS services and logical devices
$ platformio device list --mdns --logical Multicast DNS Services ======================
PlatformIO._bttremote._tcp.local. ------------------------------ Type: _bttremote._tcp.local. IP: ... Port: 62941 Properties: ...
Time for PlatformIO._adisk._tcp.local. --------------------------------- Type: _adisk._tcp.local. IP: 192.168.0.1 Port: 9 Properties: ...
PlatformIO._ssh._tcp.local. ------------------------ Type: _ssh._tcp.local. IP: ... Port: 22
PlatformIO._sftp-ssh._tcp.local. ----------------------------- Type: _sftp-ssh._tcp.local. IP: ... Port: 22
Logical Devices =============== / - Name:
/Volumes/PIO ------------- Name: PIO
/Volumes/PLUS -------------- Name: PLUS
platformio device monitor Contents • platformio device monitor
• Filters
• Capture output to a file
• Device Monitor Filter API
Usage platformio device monitor [OPTIONS]
Description This is a console application that provides a small terminal application. It is based on Miniterm and itself does not implement any terminal features such as VT102 compatibility. However it inherits these features from the terminal it is run. For example on GNU/Linux running from an xterm it will support the escape sequences of the xterm. On Windows the typical console window is dumb and does not support any escapes. When ANSI.sys is loaded it supports some escapes.
Miniterm supports RFC 2217 remote serial ports and raw sockets using URL Handlers such as rfc2217://<host>:<port> respectively socket://<host>:<port> as port argument when invoking.
To control monitor please use these "hot keys":
• Ctrl+C Quit
• Ctrl+T Menu
• Ctrl+T followed by Ctrl+H Help
Options -p, --port
Port, a number or a device name, or valid URL Handlers.
Can be customized in projectconf using projectconf_monitor_port option.
URL Handlers
• rfc2217://<host>:<port>[?<option>[&<option>...]]
• socket://<host>:<port>[?logging={debug|info|warning|error}]
• loop://[?logging={debug|info|warning|error}]
• hwgrep://<regexp>[&skip_busy][&n=N]
• spy://port[?option[=value][&option[=value]]]
• alt://port?class=<classname>
-b, --baud
Set baud rate, default 9600.
Can be customized in projectconf using projectconf_monitor_speed option.
--parity
Set parity (None, Even, Odd, Space, Mark), one of [N, E, O, S, M], default N
--rtscts
Enable RTS/CTS flow control, default Off
--xonxoff
Enable software flow control, default Off
--rts
Set initial RTS line state (0 or 1).
Can be customized in projectconf using projectconf_monitor_rts option.
--dtr
Set initial DTR line state (0 or 1).
Can be customized in projectconf using projectconf_monitor_dtr option.
--echo
Enable local echo, default Off
--encoding
Set the encoding for the serial port (e.g. hexlify, Latin1, UTF-8), default UTF-8.
-f, --filter
Add text transformation. See available filters at Filters.
--eol
End of line mode (CR, LF or CRLF), default CRLF
NEW: Available in Miniterm/PySerial 3.0
Do not apply any encodings/transformations
--exit-char
ASCII code of special character that is used to exit the application, default 3 (DEC, Ctrl+C).
For example, to use Ctrl+] run platformio device monitor --exit-char 29.
--menu-char
ASCII code of special character that is used to control miniterm (menu), default 20 (DEC)
---quiet
Diagnostics: suppress non-error messages, default Off
Specify the path to project directory. By default, --project-dir is equal to current working directory (CWD).
-e, --environment
You can also specify which environments should be processed by default using projectconf_pio_default_envs option from projectconf.
Filters New in version 4.3.
A list of filters that can be applied for monitor output using platformio device monitor --filter or projectconf and projectconf_monitor_filters options.  option.
┌──────────────────────────┬────────────────────────────────────────┐ │Name                      │ Description                            │ ├──────────────────────────┼────────────────────────────────────────┤ │default                   │ Remove typical terminal                │ │                          │ control codes from input               │ ├──────────────────────────┼────────────────────────────────────────┤ │colorize                  │ Apply different colors for             │ │                          │ received and echo                      │ ├──────────────────────────┼────────────────────────────────────────┤ │debug                     │ Print what is sent and                 │ │                          │ received                               │ ├──────────────────────────┼────────────────────────────────────────┤ │direct                    │ Do-nothing: forward all                │ │                          │ data unchanged                         │ ├──────────────────────────┼────────────────────────────────────────┤ │hexlify                   │ Show a hexadecimal                     │ │                          │ representation of the data             │ │                          │ (code point of each                    │ │                          │ character)                             │ └──────────────────────────┴────────────────────────────────────────┘
│log2file                  │ Log data to a file                     │ │                          │ "platformio-device-monitor-%date%.log" │ │                          │ located in the current                 │ │                          │ working directory                      │ ├──────────────────────────┼────────────────────────────────────────┤ │nocontrol                 │ Remove all control codes, incl. CR+LF  │ ├──────────────────────────┼────────────────────────────────────────┤ │printable                 │ Show decimal code for all non-ASCII    │ │                          │ characters and replace most control    │ │                          │ codes                                  │ ├──────────────────────────┼────────────────────────────────────────┤ │time                      │ Add timestamp with milliseconds for    │ │                          │ each new line                          │ ├──────────────────────────┼────────────────────────────────────────┤ │send_on_enter             │ Send a text to device on ENTER         │ ├──────────────────────────┼────────────────────────────────────────┤ │esp32_exception_decoder   │ Custom filter for platform_espressif32 │ │                          │ which decodes crash exception          │ ├──────────────────────────┼────────────────────────────────────────┤ │esp8266_exception_decoder │ Custom filter for                      │ │                          │ platform_espressif8266 which decodes   │ │                          │ crash exception                        │ └──────────────────────────┴────────────────────────────────────────┘
Capture output to a file New in version 4.3.
You need to use a log2file filter from Filters:
$ platformio device monitor -f log2file -f default
or using projectconf and projectconf_monitor_filters
[env:log_output_to_file] ... platform = ... monitor_filters = log2file, default
Device Monitor Filter API piocore provides an API to extend device monitor with a custom filter declared in "monitor" folder of platforms. See examples:
• https://github.com/platformio/platform-espressif32/tree/develop/monitor
• https://github.com/platformio/platform-espressif8266/tree/develop/monitor
Examples 1. Show available options for monitor
$ platformio device monitor --help Usage: platformio 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 filters / 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.
2. Communicate with serial device and print help inside terminal
$ platformio device monitor
--- Available ports: --- /dev/cu.Bluetooth-Incoming-Port n/a --- /dev/cu.Bluetooth-Modem n/a --- /dev/cu.SLAB_USBtoUART CP2102 USB to UART Bridge Controller --- /dev/cu.obd2ecu-SPPDev n/a Enter port name:/dev/cu.SLAB_USBtoUART --- Miniterm on /dev/cu.SLAB_USBtoUART: 9600,8,N,1 --- --- Quit: Ctrl+C  |  Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- Hello PlatformIO! --- --- Ctrl+]   Exit program --- Ctrl+T   Menu escape key, followed by: --- Menu keys: ---    Ctrl+T  Send the menu character itself to remote ---    Ctrl+]  Send the exit character itself to remote ---    Ctrl+I  Show info ---    Ctrl+U  Upload file (prompt will be shown) --- Toggles: ---    Ctrl+R  RTS          Ctrl+E  local echo ---    Ctrl+D  DTR          Ctrl+B  BREAK ---    Ctrl+L  line feed    Ctrl+A  Cycle repr mode --- --- Port settings (Ctrl+T followed by the following): ---    p          change port ---    7 8        set data bits ---    n e o s m  change parity (None, Even, Odd, Space, Mark) ---    1 2 3      set stop bits (1, 2, 1.5) ---    b          change baud rate ---    x X        disable/enable software flow control ---    r R        disable/enable hardware flow control --- exit ---
platformio home Helper command for piohome.
Contents • platformio home
Usage platformio home pio home
Description Launch piohome Web-server.
Options --port
Web-server HTTP port, default is 8008.
--host
Web-server HTTP host, default is 127.0.0.1.  You can open PIO Home for inbound connections using host 0.0.0.0.
--no-open
Do not automatically open PIO Home in a system Web-browser.
--shutdown-timeout
Automatically shutdown server on timeout (in seconds) when no clients are connected.  Default is 0 which means never auto shutdown.
Examples > platformio home
___I_ /\-_--\   PlatformIO Home /  \_-__\ |[]| [] |  http://127.0.0.1:8008 |__|____|_______________________
Open PIO Home in your browser by this URL => http://127.0.0.1:8008 PIO Home has been started. Press Ctrl+C to shutdown.
Library Manager CLI Usage platformio lib [OPTIONS] COMMAND
# To print all available commands and options use platformio lib --help platformio lib COMMAND --help
Options -d, --storage-dir
Manage custom library storage. It can be used later for the projectconf_lib_extra_dirs option from projectconf.  Multiple options are allowed.
Manage global PlatformIO's library storage ( "projectconf_pio_core_dir/lib") where ldf will look for dependencies by default.
Manage libraries for the specific project build environments declared in projectconf. Works for --storage-dir which is valid PlatformIO project.
Demo [image]
Commands platformio lib builtin Contents • platformio lib builtin
Usage platformio lib builtin [OPTIONS] pio lib builtin [OPTIONS]
Description List built-in libraries based on installed platforms and their frameworks, SDKs, etc.
Options --storage
List libraries from specified storages. For example, framework-arduinoavr.
Examples > platformio lib builtin
framework-arduinoavr ********************
Bridge ====== Enables the communication between the Linux processor and the microcontroller. For Arduino/Genuino Yún, Yún Shield and TRE only.
Version: 1.6.1 Homepage: http://www.arduino.cc/en/Reference/YunBridgeLibrary Keywords: communication Compatible frameworks: arduino Compatible platforms: * Authors: Arduino
EEPROM ====== Enables reading and writing to the permanent board storage.
Version: 2.0 Homepage: http://www.arduino.cc/en/Reference/EEPROM Keywords: data, storage Compatible frameworks: arduino Compatible platforms: atmelavr Authors: Arduino, Christopher Andrews
framework-arduinosam ********************
Audio ===== Allows playing audio files from an SD card. For Arduino DUE only.
Version: 1.0 Homepage: http://arduino.cc/en/Reference/Audio Keywords: signal, input, output Compatible frameworks: arduino Compatible platforms: atmelsam Authors: Arduino
framework-arduinoespressif32 ****************************
SPI === Enables the communication with devices that use the Serial Peripheral Interface (SPI) Bus. For all Arduino boards, BUT Arduino DUE.
Version: 1.0 Homepage: http://arduino.cc/en/Reference/SPI Keywords: signal, input, output Compatible frameworks: arduino Compatible platforms: Authors: Hristo Gochkov
framework-arduinoespressif8266 ******************************
ArduinoOTA ========== Enables Over The Air upgrades, via wifi and espota.py UDP request/TCP download.
Version: 1.0 Keywords: communication Compatible frameworks: arduino Compatible platforms: espressif8266 Authors: Ivan Grokhotkov and Miguel Angel Ajo
DNSServer ========= A simple DNS server for ESP8266.
Version: 1.1.0 Keywords: communication Compatible frameworks: arduino Compatible platforms: espressif8266 Authors: Kristijan Novoselić
framework-arduinointel **********************
Adafruit NeoPixel ================= Arduino library for controlling single-wire-based LED pixels and strip.
Version: 1.0.3 Homepage: https://github.com/adafruit/Adafruit_NeoPixel Keywords: display Compatible frameworks: arduino Compatible platforms: * Authors: Adafruit
CurieBLE ======== Library to manage the Bluetooth Low Energy module with Curie Core boards.
Version: 1.0 Keywords: communication Compatible frameworks: arduino Compatible platforms: intel_arc32 Authors: Emutex
CurieEEPROM =========== Enables reading and writing to OTP flash area of Curie
Version: 1.0 Homepage: http://www.arduino.cc/en/Reference/EEPROM Keywords: data, storage Compatible frameworks: arduino Compatible platforms: intel_arc32 Authors: Intel
framework-arduinomicrochippic32 *******************************
Firmata ======= Enables the communication with computer apps using a standard serial protocol. For all Arduino boards.
Version: 2.4.4 Homepage: https://github.com/firmata/arduino Keywords: device, control Compatible frameworks: arduino Compatible platforms: * Authors: Firmata Developers
framework-arduinoteensy ***********************
Adafruit CC3000 Library ======================= Library code for Adafruit's CC3000 WiFi breakouts.
Version: 1.0.1 Homepage: https://github.com/adafruit/Adafruit_CC3000_Library Keywords: communication Compatible frameworks: arduino Compatible platforms: * Authors: Adafruit
framework-energiamsp430 ***********************
AIR430BoostEuropeETSI ===================== Library for the CC110L Sub-1GHz radio BoosterPack for use in Europe
Version: 1.0.0 Homepage: http://energia.nu/reference/libraries/ Keywords: communication Compatible frameworks: arduino Compatible platforms: Authors: Energia
framework-energiativa *********************
aJson ===== An Arduino library to enable JSON processing with Arduino
Keywords: json, rest, http, web Compatible frameworks: arduino Compatible platforms: atmelavr
platformio lib install Contents • platformio lib install
• Storage Options
• Version control
• Git
• Mercurial
• Subversion
Usage platformio lib [STORAGE_OPTIONS] install [OPTIONS] [LIBRARY...] pio lib [STORAGE_OPTIONS] install [OPTIONS] [LIBRARY...]
# install all project dependencies declared via "lib_deps" # (run it from a project root where is located "platformio.ini") platformio lib install [OPTIONS]
# install project dependent library # (run it from a project root where is located "platformio.ini") platformio lib install [OPTIONS] [LIBRARY...]
# install dependencies for the specific project build environment # (run it from a project root where is located "platformio.ini") platformio lib -e myenv install [OPTIONS] [LIBRARY...] platformio lib -d /path/to/platformio/project -e myenv install [OPTIONS] [LIBRARY...]
# install to global storage platformio lib --global install [OPTIONS] [LIBRARY...] platformio lib -g install [OPTIONS] [LIBRARY...]
# install to custom storage platformio lib --storage-dir /path/to/dir install [OPTIONS] [LIBRARY...] platformio lib -d /path/to/dir1 -d /path/to/dir2 install [OPTIONS] [LIBRARY...]
# [LIBRARY...] forms platformio lib [STORAGE_OPTIONS] install (with no args, project dependencies) platformio lib [STORAGE_OPTIONS] install <id> platformio lib [STORAGE_OPTIONS] install id=<id> platformio lib [STORAGE_OPTIONS] install <id>@<version> platformio lib [STORAGE_OPTIONS] install <id>@<version range> platformio lib [STORAGE_OPTIONS] install <name> platformio lib [STORAGE_OPTIONS] install <name>@<version> platformio lib [STORAGE_OPTIONS] install <name>@<version range> platformio lib [STORAGE_OPTIONS] install <zip or tarball url> platformio lib [STORAGE_OPTIONS] install file://<zip or tarball file> platformio lib [STORAGE_OPTIONS] install file://<folder> platformio lib [STORAGE_OPTIONS] install <repository> platformio lib [STORAGE_OPTIONS] install <name>=<repository> (name it should have locally) platformio lib [STORAGE_OPTIONS] install <repository#tag> ("tag" can be commit, branch or tag)
WARNING: If some libraries are not visible in pioide and Code Completion or Code Linting does not work properly, please perform
• Atom: "Menu: PlatformIO > Rebuild C/C++ Project Index (Autocomplete, Linter)"
• VSCode: "Menu: View > Command Palette... > PlatformIO: Rebuild C/C++ Project Index"
Description Install a library, and any libraries that it depends on using:
1. Library id or name from PlatformIO Library Registry
2. Custom folder, repository or archive.
The version supports Semantic Versioning ( <major>.<minor>.<patch>) and can take any of the following forms:
• 1.2.3 - an exact version number. Use only this exact version
• ^1.2.3 - any compatible version (exact version for 1.x.x versions)
• ~1.2.3 - any version with the same major and minor versions, and an equal or greater patch version
• >1.2.3 - any version greater than 1.2.3. >=, <, and <= are also possible
• >0.1.0,!=0.2.0,<0.3.0 - any version greater than 0.1.0, not equal to 0.2.0 and less than 0.3.0
PlatformIO supports installing from local directory or archive. Need to use file:// prefix before local path. Also, directory or archive should contain .library.json manifest (see library_config).
• file:///local/path/to/the/platform/dir
• file:///local/path/to/the/platform.zip
• file:///local/path/to/the/platform.tar.gz
Storage Options See base options for cmd_lib.
Options --save
Save installed libraries into the projectconf dependency list (projectconf_lib_deps).
You can save libraries for the specific project environment using -e, --environment option from platformio lib command. For example, platformio lib -e myenv install [LIBRARY...].
Suppress progress reporting
--interactive
Allow one to make a choice for all prompts
-f, --force
Reinstall/redownload library if it exists
Version control PlatformIO supports installing from Git, Mercurial and Subversion, and detects the type of VCS using url prefixes: "git+", "hg+", or "svn+".
NOTE: PlatformIO requires a working VCS command on your path: git, hg or svn.
Git The supported schemes are: git, git+https and git+ssh. Here are the supported forms:
• user/library (short version for GitHub repository)
• https://github.com/user/library.git
• git+git://git.server.org/my-library
• git+https://git.server.org/my-library
• git+ssh://git.server.org/my-library
• git+ssh://user@git.server.org/my-library
• [user@]host.xz:path/to/repo.git
Passing branch names, a commit hash or a tag name is possible like so:
• https://github.com/user/library.git#master
• git+git://git.server.org/my-library#master
• git+https://git.server.org/my-library#v1.0
• git+ssh://git.server.org/my-library#7846d8ad52f983f2f2887bdc0f073fe9755a806d
Mercurial The supported schemes are: hg+http, hg+https and hg+ssh. Here are the supported forms:
• https://developer.mbed.org/users/user/code/library/ (install ARM mbed library)
• hg+hg://hg.server.org/my-library
• hg+https://hg.server.org/my-library
• hg+ssh://hg.server.org/my-library
• hg+hg://hg.server.org/my-library#master
• hg+https://hg.server.org/my-library#v1.0
• hg+ssh://hg.server.org/my-library#4cfe2fa00668
Subversion The supported schemes are: svn, svn+svn, svn+http, svn+https and svn+ssh. Here are the supported forms:
• svn+svn://svn.server.org/my-library
• svn+https://svn.server.org/my-library
• svn+ssh://svn.server.org/my-library
You can also give specific revisions to an SVN URL, like so:
• svn+svn://svn.server.org/my-library#13
Examples 1. Install the latest version of library to a global storage using ID or NAME
> platformio lib -g install 4
Library Storage: /storage/dir/... LibraryManager: Installing id=4 Downloading  [####################################]  100% Unpacking  [####################################]  100% IRremote @ 2.2.1 has been successfully installed!
# repeat command with name > platformio lib -g install IRRemote
Library Storage: /storage/dir/... Looking for IRRemote library in registry Found: https://platformio.org/lib/show/4/IRremote LibraryManager: Installing id=4 IRremote @ 2.2.1 is already installed
2. Install specified version of a library to a global storage
> platformio lib -g install ArduinoJson@5.6.7
Library Storage: /storage/dir/... Looking for ArduinoJson library in registry Found: https://platformio.org/lib/show/64/ArduinoJson LibraryManager: Installing id=64 @ 5.6.7 Downloading  [####################################]  100% Unpacking  [####################################]  100% ArduinoJson @ 5.6.7 has been successfully installed!
3. Install library with dependencies to custom storage
> platformio lib --storage-dir /my/storage/dir install DallasTemperature
Library Storage: /my/storage/dir Looking for DallasTemperature library in registry Found: https://platformio.org/lib/show/54/DallasTemperature LibraryManager: Installing id=54 Downloading  [####################################]  100% Unpacking  [####################################]  100% DallasTemperature @ 3.7.7 has been successfully installed! Installing dependencies Looking for OneWire library in registry Found: https://platformio.org/lib/show/1/OneWire LibraryManager: Installing id=1 Downloading  [####################################]  100% Unpacking  [####################################]  100% OneWire @ 8fd2ebfec7 has been successfully installed!
4. Install ARM mbed library to the global storage
> platformio lib -g install https://developer.mbed.org/users/simon/code/TextLCD/
Library Storage: /storage/dir/... LibraryManager: Installing TextLCD 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. requesting all changes adding changesets adding manifests adding file changes added 9 changesets with 18 changes to 6 files updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved TextLCD @ 308d188a2d3a has been successfully installed!
5. Install from archive using URL
> platformio lib -g install  https://github.com/adafruit/DHT-sensor-library/archive/master.zip
Library Storage: /storage/dir/... LibraryManager: Installing master Downloading  [####################################]  100% Unpacking  [####################################]  100% DHT sensor library @ 1.2.3 has been successfully installed!
platformio lib list Contents • platformio lib list
Usage platformio lib [STORAGE_OPTIONS] list [OPTIONS] pio lib [STORAGE_OPTIONS] list [OPTIONS]
# list project dependent libraries # (run it from a project root where is located "platformio.ini") platformio lib list [OPTIONS]
# list libraries from global storage platformio lib --global list [OPTIONS] platformio lib -g list [OPTIONS]
# list libraries from custom storage platformio lib --storage-dir /path/to/dir list [OPTIONS] platformio lib -d /path/to/dir list [OPTIONS]
Description List installed libraries
Examples > platformio lib -g list
Library Storage: /storage/dir/...
Adafruit Unified Sensor ======================= #ID: 31 Required for all Adafruit Unified Sensor based libraries.
Version: 1.0.2 Keywords: sensors Compatible frameworks: arduino Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, microchippic32, nordicnrf51, teensy, timsp430 Authors: Adafruit
ArduinoJson =========== #ID: 64 An elegant and efficient JSON library for embedded systems
Version: 5.8.0 Keywords: web, json, http, rest Compatible frameworks: arduino Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, microchippic32, nordicnrf51, teensy, timsp430 Authors: Benoit Blanchon
Version: 5.6.7 Keywords: web, json, http, rest Compatible frameworks: arduino Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, microchippic32, nordicnrf51, teensy, timsp430 Authors: Benoit Blanchon
Version: 5.7.2 Keywords: web, json, http, rest Compatible frameworks: arduino Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, microchippic32, nordicnrf51, teensy, timsp430 Authors: Benoit Blanchon
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, Raspberry Pi, Particle, Energia, ARM mbed, Intel Edison/Galileo/Joule, BBC micro:bit, DFRobot, RedBearLab, Microduino, LinkIt ONE ...
Version: 0.4.3 Homepage: http://blynk.cc 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: energia, wiringpi, arduino Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, linux_arm, microchippic32, nordicnrf51, teensy, timsp430, titiva Authors: Volodymyr Shymanskyy
Bounce2 ======= #ID: 1106 Debouncing library for Arduino or Wiring
Version: 2.1 Keywords: input, signal, output, bounce Compatible frameworks: arduino Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, microchippic32, nordicnrf51, teensy, timsp430 Authors: Thomas O Fredericks
Homie ===== #ID: 555 ESP8266 framework for Homie, a lightweight MQTT convention for the IoT
Version: 1.5.0 Keywords: home, mqtt, iot, esp8266, automation Compatible frameworks: arduino Compatible platforms: espressif8266 Authors: Marvin Roger
JustWifi ======== #ID: 1282 Wifi Manager for ESP8266 that supports multiple wifi networks and scan for strongest signal
Version: 1.1.1 License: GPL-3.0 Keywords: manager, wifi, scan Compatible frameworks: arduino Compatible platforms: espressif8266 Authors: Xose Perez
LiquidCrystal ============= #ID: 136 LiquidCrystal Library is faster and extensable, compatible with the original LiquidCrystal library
Version: 1.3.4 Keywords: lcd, hd44780 Compatible frameworks: arduino Compatible platforms: atmelavr Authors: F Malpartida
TextLCD ======= hg+https://developer.mbed.org/users/simon/code/TextLCD/
Version: 308d188a2d3a Keywords: uncategorized
Time ==== #ID: 44 Time keeping library
Version: 1.5 Homepage: http://playground.arduino.cc/Code/Time Keywords: week, rtc, hour, year, month, second, time, date, day, minute Compatible frameworks: arduino Compatible platforms: Authors: Michael Margolis, Paul Stoffregen
Timezone ======== #ID: 76 Arduino library to facilitate time zone conversions and automatic daylight saving (summer) time adjustments
Version: 510ae2f6b6 Keywords: zone, time Compatible frameworks: arduino Compatible platforms: atmelavr Authors: Jack Christensen
U8g2 ==== #ID: 942 Monochrome LCD, OLED and eInk Library. Display controller: SSD1305, SSD1306, SSD1322, SSD1325, SSD1327, SSD1606, SH1106, T6963, RA8835, LC7981, PCD8544, PCF8812, UC1604, UC1608, UC1610, UC1611, UC1701, ST7565, ST7567, NT7534, ST7920, LD7032, KS0108. Interfaces: I2C, SPI, Parallel.
Version: 2.11.4 Homepage: https://github.com/olikraus/u8g2 Keywords: display Compatible frameworks: arduino Compatible platforms: atmelavr, atmelsam, espressif8266, intel_arc32, microchippic32, nordicnrf51, teensy, timsp430 Authors: oliver
USB-Host-Shield-20 ================== #ID: 59 Revision 2.0 of MAX3421E-based USB Host Shield Library
Version: 1.2.1 License: GPL-2.0 Keywords: usb, spp, mass storage, pl2303, acm, ftdi, xbox, host, hid, wii, buzz, ps3, bluetooth, adk, ps4 Compatible frameworks: spl, arduino Compatible platforms: atmelavr, atmelsam, teensy, nordicnrf51, ststm32 Authors: Oleg Mazurov, Alexei Glushchenko, Kristian Lauszus, Andrew Kroll
platformio lib register Contents • platformio lib register
Usage platformio lib register [MANIFEST_URL] pio lib register [MANIFEST_URL]
Description Register new library in PlatformIO Library Registry.
PlatformIO Library Registry supports the next library manifests:
• PlatformIO library_config
• Arduino library.properties
• ARM mbed yotta module.json.
Examples platformio lib register https://raw.githubusercontent.com/bblanchon/ArduinoJson/master/library.json platformio lib register https://raw.githubusercontent.com/adafruit/DHT-sensor-library/master/library.properties platformio lib register https://raw.githubusercontent.com/ARMmbed/ble/master/module.json
platformio lib search Contents • platformio lib search
Usage platformio lib search [OPTIONS] [QUERY] pio lib search [OPTIONS] [QUERY]
Description Search for library in PlatformIO Library Registry by library_config fields in the boolean mode.
The boolean search capability supports the following operators:
┌──────────────┬─────────────────────────────┐ │Operator      │ Description                 │ └──────────────┴─────────────────────────────┘
│+             │ A leading or trailing plus  │ │              │ sign indicates that this    │ │              │ word must be present in     │ │              │ library fields (see above)  │ │              │ that is returned.           │ ├──────────────┼─────────────────────────────┤ │-             │ A leading or trailing minus │ │              │ sign indicates that this    │ │              │ word must not be present in │ │              │ any of the libraries that   │ │              │ are returned.               │ ├──────────────┼─────────────────────────────┤ │(no operator) │ By default (when neither +  │ │              │ nor - is specified), the    │ │              │ word is optional, but the   │ │              │ libraries that contain it   │ │              │ are rated higher.           │ ├──────────────┼─────────────────────────────┤ │> <           │ These two operators are     │ │              │ used to change a word's     │ │              │ contribution to the         │ │              │ relevance value that is     │ │              │ assigned to a library. The  │ │              │ > operator increases the    │ │              │ contribution and the <      │ │              │ operator decreases it.      │ ├──────────────┼─────────────────────────────┤ │( )           │ Parentheses group words     │ │              │ into subexpressions.        │ │              │ Parenthesized groups can be │ │              │ nested.                     │ ├──────────────┼─────────────────────────────┤ │~             │ A leading tilde acts as a   │ │              │ negation operator, causing  │ │              │ the word's contribution to  │ │              │ the library's relevance to  │ │              │ be negative. This is useful │ │              │ for marking "noise" words.  │ │              │ A library containing such a │ │              │ word is rated lower than    │ │              │ others, but is not excluded │ │              │ altogether, as it would be  │ │              │ with the - operator.        │ ├──────────────┼─────────────────────────────┤ │*             │ The asterisk serves as the  │ │              │ truncation (or wildcard)    │ │              │ operator. Unlike the other  │ │              │ operators, it is appended   │ │              │ to the word to be affected. │ │              │ Words match if they begin   │ │              │ with the word preceding the │ │              │ * operator.                 │ ├──────────────┼─────────────────────────────┤ │"             │ A phrase that is enclosed   │ │              │ within double quote (")     │ │              │ characters matches only     │ │              │ libraries that contain the  │ │              │ phrase literally, as it was │ │              │ typed.                      │ └──────────────┴─────────────────────────────┘
For more detail information please go to MySQL Boolean Full-Text Searches.
Options --id
Filter libraries by registry ID
-n, --name
Filter libraries by specified name (strict search)
-a, --author
Filter libraries by specified author
-k, --keyword
Filter libraries by specified keyword
-f, --framework
Filter libraries by specified framework
-p, --platform
-i, --header
Filter libraries by header file (include)
For example, platformio lib search --header "OneWire.h"
--page
Manually paginate through search results. This option is useful in pair with --json-output.
Examples 1. List all libraries
> platformio lib search
Found N libraries:
Keywords: web, json, http, rest Compatible frameworks: Arduino Compatible platforms: Atmel AVR, Atmel SAM, Espressif 8266, Intel ARC32, Microchip PIC32, Nordic nRF51, Teensy, TI MSP430 Authors: Benoit Blanchon
DHT sensor library ================== #ID: 19 Arduino library for DHT11, DHT22, etc Temp & Humidity Sensors
Keywords: unified, dht, sensor, temperature, humidity Compatible frameworks: Arduino Compatible platforms: Atmel AVR Authors: Adafruit Industries
PubSubClient ============ #ID: 89 A client library for MQTT messaging. MQTT is a lightweight messaging protocol ideal for small devices. This library allows you to send and receive MQTT messages. It supports the latest MQTT 3.1.1 protocol and can be configured to use the older MQTT 3.1...
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 Authors: Nick O'Leary
ESPAsyncWebServer ================= #ID: 306 Asynchronous HTTP and WebSocket Server Library for ESP8266 and ESP32
Keywords: async, websocket, http, webserver Compatible frameworks: Arduino Compatible platforms: Espressif 8266 Authors: Hristo Gochkov