PlatformIO IDE is the next-generation integrated development environment for IoT.
Cross-platform build system without external dependencies to the OS software:
800+ Boards
35+ Development Platforms
20+ 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 (CLI) and CLI tool (
pio
,platformio
)Built-in PlatformIO Home.
Atom is a text editor that’s modern, approachable,yet hackable to the core—a tool you can customize to do anything but also useproductively without ever touching a config file.
Contents
Note
Gpp-compiler atomatom compile catom compile pythongcc could not be spawned atomg could not be spawned atomgcc compiler atomatom compile javaatom c ide. See full list on atom.io.
Please note that you do not need to install PlatformIO Core (CLI) separatelyif you are going to use PlatformIO IDE for Atom. PlatformIO Core (CLI) is built intoPlatformIO IDE and you will be able to use it within PlatformIO IDE Terminal.
Also, PlatformIO IDE allows one to install PlatformIO Core (CLI) Shell Commands(pio
, platformio
) globally to your system viaMenu:PlatformIO>InstallShellCommands
.
Download and install GitHub’s official Atom text editor. PlatformIO IDE is built on top of it.
Open Atom Package Manager
Mac OS X,
Menu:Atom>Preferences>Install
Windows,
Menu:File>Settings>Install
Linux,
Menu:Edit>Preferences>Install
Search for the official
platformio-ide
packageInstall PlatformIO IDE.
PlatformIO IDE uses Clang for the Intelligent CodeCompletion. To check that clang
is available in your system, pleaseopen Terminal and run clang--version
. If clang
is not installed,then install it and restart Atom:
Mac OS X: Install the latest Xcodealong with the latest Command Line Tools(they are installed automatically when you run
clang
in Terminal for thefirst time, or manually by runningxcode-select--install
Windows: Download Clang 3.9.1 for Windows.Please select “Add LLVM to the system PATH” option on the installation step.
Warning
PLEASE DO NOT INSTALL CLANG 4.0. TEMPORARILY, WE SUPPORT ONLY CLANG 3.9.
If you see a
FailedtofindMSBuildtoolsetsdirectory
error inthe installation console, please ignore it and press any key to closethis window. PlatformIO IDE uses only the Clang completion engine, whichshould work after that without any problems.Linux: Using package managers:
apt-getinstallclang
oryuminstallclang
.Other Systems: Download the latest Clang for the other systems.
Warning
If some libraries are not visible in PlatformIO IDE for Atom and Code Completion orCode Linting does not work properly, please perform Menu:PlatformIO>RebuildC/C++ProjectIndex(Autocomplete,Linter)
This tutorial introduces you to the basics of PlatformIO IDE workflow and showsyou the creation process for a simple “Blink” example. After finishing, you willhave a general understanding of how to work with projects in the IDE.
After installation, launch PlatformIO IDE by opening Atom. Once Atom isopened, the PlatformIO IDE auto installer will continue to install dependent packagesand PlatformIO Core (CLI). Please be patient and let the installation complete. Once finished,PlatformIO IDE will ask you to reload the Atom window to applyinstalled components. Please click on ReloadNow
. After that, PlatformIO IDE isready for use. Happy coding!
Click on the “PlatformIO Home” button on the PlatformIO Toolbar
Click on “New Project”, select a board and create a new PlatformIO Project
Open the
main.cpp
file in thesrc
folder and replace its contents withthe following:
Warning
The code below only works with Arduino-based boards. Pleasevisit the PlatformIO Project Examples repository for other pre-configured projects.
PlatformIO IDE proposes different ways to process the project (build, clean,upload firmware, run other targets) using:
Building / Uploading / Targets and hotkeys
Run
Build
and you should see a green “success” result in the buildpanel:
To upload firmware to the board, run Upload
.
What is more, you can run specific target or process project environmentusing
Menu:PlatformIO>Runothertarget...
or call targets list from the status bar (bottom, left corner):
Atom Editor Mac
And select desired target:
To launch the built-in terminal interface, choose
Menu:PlatformIO>Terminal
orpress the corresponding icon in the PlatformIO toolbar:
This provides you fast access to a set of powerful PlatformIO Core (CLI) CLI commands:
To run the built-in “Serial Monitor”, choose
Menu:PlatformIO>SerialMonitor
or press the corresponding icon in the PlatformIO toolbar:
The monitor has several settings to adjust your connection:
It also allows you to communicate with your board in an easy way:
platformio-ide package adds to Atomnew menu item named Menu:PlatformIO
(after Menu:Help
item).
PlatformIO IDE Toolbar contains quick access buttons for the popular commands.Each button contains a hint (leave the mouse on it for a moment).
PlatformIO: Build
PlatformIO: Upload
PlatformIO: Clean
Run other target (Build environments, Unit Testing)
Toggle build panel
||
Find in Project…
PlatformIO Terminal
Serial Monitor
||
Atom Settings
cmd-alt-b
/ctrl-alt-b
/f9
builds project without auto-uploading.cmd-alt-u
/ctrl-alt-u
builds and uploads (if no errors).cmd-alt-c
/ctrl-alt-c
cleans compiled objects.cmd-alt-t
/ctrl-alt-t
/f7
run other targets (Upload using Programmer, Upload SPIFFS image, Update platforms and libraries).cmd-alt-g
/ctrl-alt-g
/f4
cycles through causes of build error.cmd-alt-h
/ctrl-alt-h
/shift-f4
goes to the first build error.cmd-alt-v
/ctrl-alt-v
/f8
toggles the build panel.escape
terminates build / closes the build window.
More options: Menu:PlatformIO>Settings>Build
.
PlatformIO IDE uses clang for the Intelligent Code Completion.To install it or check if it is already installed, please follow see the stepII. Clang for Intelligent Code Completion from Installation guide.
Warning
The libraries which are added/installed after the initializing process willnot be reflected in the code linter. You need Menu:PlatformIO>RebuildC/C++ProjectIndex(Autocomplete,Linter)
.
PlatformIO IDE uses PlatformIO’s pre-built GCC toolchains for Smart Code Linterand rapid professional development.The configuration data are located in .gcc-flags.json
. This file will beautomatically created and preconfigured when you initialize project usingMenu:PlatformIO>InitializenewPlatformIOProjectorupdateexisting...
.
Warning
If some libraries are not visible in PlatformIO IDE for Atom and Code Completion orCode Linting does not work properly, please perform Menu:PlatformIO>RebuildC/C++ProjectIndex(Autocomplete,Linter)
Please navigate to PlatformIO Core Install Shell Commands.
Smart Code Linter is disabled by default for Arduino files(*.ino
and .pde
) because they are not valid C/C++ basedsource files:
Missing includes such as
#include<Arduino.h>
Function declarations are omitted.
There are two solutions:
Recommended! See Convert Arduino file to C++ manually.
Atom C++ Autocomplete
To force Smart Code Linter to use Arduino files as C++ please
Open
.gcc-flags.json
file from the Initialized/Imported project and add-xc++
flag at the beginning of the value ofgccDefaultCppFlags
field:
Perform all steps from Convert Arduino file to C++ manually(without renaming to
.cpp
).
Warning
Please do not modify other flags here. They will be removed on a next“Project Rebuild C/C++ Index” stage.Please use build_flags for “platformio.ini” (Project Configuration File) instead.
Please read this article Installing PlatformIO on Arch Linux.
PlatformIO IDE hides build panel on success by default. Nevertheless, you cankeep it visible all time. Please follow toMenu:PlatformIO>Settings>Build
and set PanelVisibility
toKeepVisible
.
Key-bindings (toggle panel):
cmd+alt+v
- Mac OS Xctrl+alt+v
- Windows/Linux
If you want automatically save all edited files when triggering a build, please follow toMenu:PlatformIO>Settings>Build
and check Automaticallysaveonbuild
.
Click on a function/include, press F3
and you will be taken directly tothe declaration for that function.
You need to install atom-beautifypackage and C/C++ Uncrustify Code Beautifier.
Here’s how to uninstall the PlatformIO IDE for multiple OS.
See Uninstall PlatformIO Core and dependent packages, if you do not need it in a system.
Uninstall Atom using “Start > Control Panel > Programs and Features > Uninstall”
Remove
C:Users<username>.atom
folder (settings, packages, etc…)Remove
C:Users<username>AppDataLocalatom
folder (application itself)Remove
C:Users<username>AppDataRoamingAtom
folder (cache, etc.)Remove registry records using
regedit
:HKEY_CLASSES_ROOTDirectoryBackgroundshell
HKEY_CLASSES_ROOTDirectoryshell
HKEY_CLASSES_ROOT*shell
Run these commands in system Terminal
Run these commands in system Terminal
Mar, 31, 2017 - Robin Reiter - A little guide to PlatformIO. As an Arduino developer, you may want to check that out! (video review)
Dec 13, 2016 - Dr. Patrick Mineault - Multi-Arduino projects with PlatformIO
Nov 10, 2016 - PiGreek - PlatformIO the new Arduino IDE ?!
Aug 18, 2016 - Primal Cortex - Installing PlatformIO on Arch Linux
Jul 26, 2016 - Embedded Systems Laboratory - แนะนำการใช้งาน PlatformIO IDE สำหรับบอร์ด Arduino และ ESP8266 (Get started with PlatformIO IDE for Arduino board and ESP8266, Thai)
May 30, 2016 - Ron Moerman - IoT Development with PlatformIO
May 01, 2016 - Pedro Minatel - PlatformIO – Uma alternativa ao Arduino IDE (PlatformIO - An alternative to the Arduino IDE, Portuguese)
Apr 23, 2016 - Al Williams - Hackaday: Atomic Arduino (and Other) Development
Apr 16, 2016 - Sathittham Sangthong - [PlatformIO] มาลองเล่น PlatformIO แทน Arduino IDE กัน (Let’s play together with PlatformIO IDE [alternative to Arduino IDE], Thai)
Apr 11, 2016 - Matjaz Trcek - Top 5 Arduino integrated development environments
Apr 06, 2016 - Aleks - PlatformIO ausprobiert (Tried PlatformIO, German)
Apr 02, 2016 - Diego Pinto - Você tem coragem de abandonar a IDE do Arduino? PlatformIO + Atom (Do you dare to leave the Arduino IDE? PlatformIO + Atom, Portuguese)
Mar 30, 2016 - Brandon Cannaday - Getting Started with PlatformIO and ESP8266 NodeMcu
Mar 12, 2016 - Peter Marks - PlatformIO, the Arduino IDE for programmers
Mar 05, 2016 - brichacek.net - PlatformIO – otevřený ekosystém pro vývoj IoT (PlatformIO – an open source ecosystem for IoT development, Czech)
Mar 04, 2016 - Ricardo Vega - Programa tu Arduino desde Atom (Program your Arduino from Atom, Spanish)
Feb 28, 2016 - Alex Bloggt - PlatformIO vorgestellt (Introduction to PlatformIO IDE, German)
Feb 25, 2016 - NutDIY - PlatformIO Blink On Nodemcu Dev Kit V1.0 (Thai)
See a full list with Articles about us.
Here’s a simple way to compile and run C and C++ programs in Atom Editor
- To do that you first need to install Atom Editor, download link https://atom.io/
- Go to Files -> Settings -> Install
search for gpp-compiler and install
(gpp compiler package link: https://atom.io/packages/gpp-compiler) - Now go to the editor and write your program and save.
- To compile the program press F5 or right click the file in tree view and click Compile and Run
- The terminal/command prompt will invoke and start to show you output if your code is compiled successfully.
For Windows
You’ll need to install MinGW and add it to your PATH.
Watch this video for install MinGW on Windows: https://www.youtube.com/watch?v=DHekr3EtDOA
Install the following packages when installing MinGW for C/C++ Compiler in Windows
For Mac
You’ll need to install XCode.
Errors in installing Atom Editor
If you get errors while installing Atom or any of the packages insides Atom Editor, then do try disabling your Antivirus. Most times the Antivirus blocks the download path.