PlatformIO IDE is the next-generation integrated development environment for IoT.
Cross-platform build system without external dependencies to the OS software:
400+ embedded boards
20+ development platforms
10+ frameworks
C/C++ Intelligent Code Completion
C/C++ Smart Code Linter for rapid professional development
Library Manager for the hundreds popular libraries
Multi-projects workflow with multiple panes
Themes support with dark and light colors
Serial Port Monitor
Built-in Terminal with PlatformIO Core and CLI tool (pio
, platformio
)
Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages (such as C++, C#, Python, PHP, Go) and runtimes (such as .NET and Unity)
Note
Please note that you do not need to install PlatformIO Core separately if you are going to use PlatformIO IDE for VScode. PlatformIO Core is built into PlatformIO IDE and you will be able to use it within PlatformIO IDE Terminal.
Download and install official Microsoft Visual Studio Code. PlatformIO IDE is built on top of it
Open VSCode Package Manager
Search for official platformio-ide
package
Install PlatformIO IDE.
This tutorial introduces you to the basics of PlatformIO IDE workflow and shows you a creation process of a simple “Blink” example. After finishing you will have a general understanding of how to work with projects in the IDE.
Create empty directory (or use existing) and open it via File > Open...
Initialize PlatformIO Project using one of these methods:
Run “Initialize or Update Project” command using
ctrl+alt+i
hotkeyLaunch “VS Code Menu: View > Command Palette…” or use hotkey
Ctrl+Shift+P
(Cmd+Shift+P
for macOS), search forPlatformIO: Initialize or Update Project
, and press enter
Select a board. You can change it any time in Project Configuration File platformio.ini or add
new using the same PlatformIO: Initialize or Update Project
command.
Create FREE PIO Account which opens access to extra features, such as:
Please open PIO Terminal using PlatformIO Toolbar
Create new PIO Account with platformio account register command
Use temporary password from received e-mail and login with platformio account login command
Change temporary password using platformio account password command
Create New File named main.cpp
in src
folder
Copy the next source code to the just created file main.cpp
Warning
The code below works only in pair with Arduino-based boards. Please follow to PlatformIO Project Examples repository for other pre-configured projects.
/**
* Blink
*
* Turns on an LED on for one second,
* then off for one second, repeatedly.
*/
#include "Arduino.h"
// Set LED_BUILTIN if it is not defined by Arduino framework
// #define LED_BUILTIN 13
void setup()
{
// initialize LED digital pin as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
// turn the LED on (HIGH is the voltage level)
digitalWrite(LED_BUILTIN, HIGH);
// wait for a second
delay(1000);
// turn the LED off by making the voltage LOW
digitalWrite(LED_BUILTIN, LOW);
// wait for a second
delay(1000);
}
Build your project with ctrl+alt+b
hotkey (see all Key Bindings in
“User Guide” section below)
Learn more about PlatformIO Toolbar and other commands (Upload, Clean, Serial Monitor, Library Manager, Run Other Tasks) in “User Guider” section.
Happy coding with PlatformIO!
PlatformIO IDE Toolbar is located in VSCode Status Bar (left corner) and contains quick access buttons for the popular commands. Each button contains hint (delay mouse on it).
PlatformIO: Build
PlatformIO: Upload
PlatformIO: Clean
PlatformIO: Run Other Tasks
Initialize new PlatformIO Project or Update existing…
PIO Terminal
ctrl+alt+i
Initialize or Update Project
ctrl+alt+b
/ cmd-shift-b
/ ctrl-shift-b
Build Project
cmd-shift-d
/ ctrl-shift-d
Debug project
ctrl+alt+u
Upload Firmware
ctrl+alt+s
Open Serial Port Monitor
ctrl+alt+t
Run Other Tasks (Upload using Programmer, Upload SPIFFS
image, Test Project, Update packages and libraries, Upgrade PlatformIO Core)
platformio-ide.useBuiltinPIOCore
¶Use built-in PlatformIO Core, default configuration is true
.
platformio-ide.useDevelopmentPIOCore
¶Use development version of PlatformIO Core, default configuration is false
.
platformio-ide.autoRebuildAutocompleteIndex
¶Automatically rebuild C/C++ Project Index when Project Configuration File platformio.ini is changed
or when new libraries are installed, default configuration is true
.
platformio-ide.customPATH
¶Custom PATH for platformio
command. Paste here the result of echo $PATH
(Unix) / echo %PATH%
(Windows) command by typing into your system terminal
if you prefer to use custom version of PlatformIO Core, default configuration
is null
.
You can customize Serial Port Monitor using Monitor options in Project Configuration File platformio.ini:
Example:
[env:esp32dev]
platform = espressif32
framework = arduino
board = esp32dev
; Custom Serial Monitor port
monitor_port = /dev/ttyUSB1
; Custom Serial Monitor baud rate
monitor_baud = 115200
Please navigate to FAQ Install PIO Core Shell Commands.
Create FREE PIO Account which opens access to extra features, such as:
Please open PIO Terminal using PlatformIO Toolbar
Create new PIO Account with platformio account register command
Use temporary password from received e-mail and login with platformio account login command
Change temporary password using platformio account password command