PlatformIO – open source ecosystem for IoT development

What is PlatformIO

PlatformIO is independent of the platform, in which it is running. In fact, the only requirement is Python, which exists pretty much everywhere. What this means is that PlatformIO projects can be easily moved from one computer to another, as well as that PlatformIO allows for the easy sharing of projects between team members, regardless of operating system they prefer to work with. Beyond that, PlatformIO can be run not only on commonly used desktops/laptops but also on the servers without X Window System. While Platform IO itself is a console application, it can be used in combination with one’s favorite Cloud & Desktop IDE or text editor such as PlatformIO IDE for Atom, CLion, Eclipse, Emacs, NetBeans, Qt Creator, Sublime Text, VIM, Visual Studio, VSCode, etc.

Alright, so it can run on different operating systems. But more importantly, from a development perspective at least, is a list of supported boards and MCUs. To keep things short: Supports approximately 200 Embedded Boards and all major Development Platforms.

Developer can compile the same code with different development platforms using the Only One Command platformio run. This happens due to Project Configuration File (platformio.ini) where you can setup different environments with specific options (platform type, firmware uploading settings, pre-built framework, build flags and many more).

How does it work?

Without going too deep into implementation details, work cycle of the project developed using this platform is as follows:

  • Users choose board(s) interested in “platformio.ini” (Project Configuration File)
  • Based on this list of boards, Platform IO downloads required toolchains and installs them automatically.
  • Users develop code and Platform IO makes sure that it is compiled, prepared and uploaded to all the boards of interest.

Platform IO IDE

This is the next-generation integrated development environment for IoT.

  • Cross-platform build system without external dependencies to the OS software:

    • 550+ embedded boards
    • 30+ development platforms
    • 15+ frameworks
  • PIO Unified Debugger
  • PIO Remote
  • PIO Unit Testing
  • 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)

Platform IO Core (CLI)

This CLI tool is a heart of whole ecosystem and consists of

  • Multi-platform Build System
  • Development platform and package managers
  • Library Manager
  • Library Dependency Finder (LDF)
  • Serial Port Monitor
  • Integration components (Cloud & Desktop IDE and Continuous Integration).

This Tool is written in Python 2.7 and works on Windows, macOS, Linux, FreeBSD and ARM-based credit-card sized computers (Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, etc.).

Installation

Follow instructions for installation https://docs.platformio.org/en/latest/installation.html


You may also like :


 

Harshvardhan Mishra

Hi, I'm Harshvardhan Mishra. I am a tech blogger and an IoT Enthusiast. I am eager to learn and explore tech related stuff! also, I wanted to deliver you the same as much as the simpler way with more informative content. I generally appreciate learning by doing, rather than only learning. Thank you for reading my blog! Happy learning! Follow and send tweets me on @harshvardhanrvm

One thought on “PlatformIO – open source ecosystem for IoT development

Leave a Reply

%d bloggers like this: