Integrate PlatformIO into Visual Studio Code on top of PlatformIO Core. Cross-platform Build System without external dependencies to the OS software: 350+ embedded boards, 20+ development platforms, 10+ frameworks. Arduino and ARM mbed compatible.
Atmel AVR & SAM, Espressif 8266 & 32, Freescale Kinetis, Intel ARC32, Lattice iCE40, Microchip PIC32, Nordic nRF51, NXP LPC, Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, ARM mbed, libOpenCM3, ESP8266, etc.
There is an offical PlatformIO IDE extension maintained by PlatformIO.Org. You would expect more features and maintenance from this extension.
If you want to build IoT projects connected to an IoT cloud service. You could take a look at aka.ms/azure.iot for Microsoft Azure IoT projects and resources.
If you are already using Azure IoT services, you could use Azure IoT Toolkit extension for better development experience.
- Build PlatformIO project specified in Project Configuration File platformio.ini
- Upload firmware to devices specified in Project Configuration File platformio.ini
- Open Serial Monitor
- Set baud rate for Serial Monitor
- Search for library in PlatformIO Library Registry
- Install library from PlatformIO Library Registry
- Quick way to open PlatformIO Terminal
- Automatically or manually add Include Path to
c_cpp_properties.json
for C/C++ extension - Combined
Build
,Upload
andOpen Serial Monitor
with one command
- Install PlatformIO Core
-
Use existing project
If you have an existing PlatformIO project, open the project folder directly in VS Code
-
Create new project
In terminal, run
platformio init --board <your_board_identifier>
to initialize a new PlatformIO project, then open the project folder in VS Code. Refer to User Guide forplatformio init
command. For how to find Board Identifier, you could refer to this.
- Build PlatformIO project: Use shortcut
Ctrl+Alt+B
, or pressF1
and then select/typePlatformIO: Build
, or right click the Text Editor and then clickPlatformIO: Build
in context menu
- Upload firmware to devices: Use shortcut
Ctrl+Alt+U
, or pressF1
and then select/typePlatformIO: Upload
, or right click the Text Editor and then clickPlatformIO: Upload
in context menu
- Open Serial Monitor: Use shortcut
Ctrl+Alt+S
, or pressF1
and then select/typePlatformIO: Open Serial Monitor
, or right click the Text Editor and then clickPlatformIO: Open Serial Monitor
in context menu
- Search for library: Click the
Library
item in the Status Bar at the bottom, or pressF1
and then select/typePlatformIO: Search Library
, then type the query to search for library. Refer to the User Guide for the query syntax.
- Install library: Click the
Download
icon in the Status Bar at the bottom, or pressF1
and then select/typePlatformIO: Install Library
, then type library id or name to install. Refer to the User Guide for the detailed usage.
- Quick way to open PlatformIO Terminal: Click the
Terminal
icon in the Status Bar at the bottom, or pressF1
and then select/typePlatformIO: Open Terminal
-
Add Include Path to
c_cpp_properties.json
for C/C++ extension: PressF1
and then select/typePlatformIO: Add Include Path to Settings
. Wait for some seconds, then the PlatformIO libraries will be automatically added into Include Path ofc_cpp_properties.json
. (Note: Do not modifyc_cpp_properties.json
manually since thec_cpp_properties.json
will be fully regenerated and your manual changes will be lost.) -
Combined
Build
,Upload
andOpen Serial Monitor
with one command: Click theRight Arrow
icon in the Status Bar at the bottom, or use shortcutCtrl+Alt+A
, or pressF1
and then select/typePlatformIO: Build, Upload and Open Serial Monitor
.Build
,Upload
andOpen Serial Monitor
will be run one by one.
platformio.baudRate
: Set baud rate for Serial Monitor. (Default is 9600)platformio.showHelpInfo
: Whether to show help info when opening PlatformIO Terminal. (Default is true)platformio.autoUpdateIncludes
: Whether to add Include Path toc_cpp_properties.json
automatically. (Default is true)
By default, anonymous telemetry data collection is turned on to understand user behavior to improve this extension. To disable it, update the settings.json as below:
{
"platformio.enableTelemetry": false
}
See Change Log here
Currently, the extension is in the very initial phase. If you find any bug or have any suggestion/feature request, please join the chat on Gitter or submit the issues to the GitHub Repo.
Contributions are warmly welcome! Please follow the Contribution Guide to setup development environment.