Skip to main content

An open source ecosystem for IoT development. Cross-platform code builder and library manager. Continuous and IDE integration. Arduino and MBED compatible. Ready for Cloud compiling.

Project description

Travis.CI Build Status AppVeyor.CI Build Status Circle.CI Build Status Requirements Status Latest Version License PyPi Downloads Packages Downloads Join the chat at Donate for PlatformIO.Org

Home & Demo | Project Examples | Source Code | Documentation | Blog | Twitter | Hackaday | Facebook | Reddit

PlatformIO is an open source ecosystem for IoT development. Cross-platform code builder and library manager. Continuous and IDE integration. Arduino and MBED compatible. Ready for Cloud compiling.

  • Development Platforms - Embedded and Desktop development platforms with pre-built toolchains, debuggers, uploaders and frameworks which work under popular host OS: Mac, Windows, Linux (+ARM)
  • Embedded Boards - Rapid Embedded Programming, IDE and Continuous Integration in a few steps with PlatformIO thanks to built-in project generator for the most popular embedded boards and IDE
  • Library Manager - Hundreds Popular Libraries are organized into single Web 2.0 platform: list by categories, keywords, authors, compatible platforms and frameworks; learn via examples; be up-to-date with the latest version

Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC, Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed, libOpenCM3, etc.

Use whenever. Run everywhere.

PlatformIO is written in pure Python and doesn’t depend on any additional libraries/tools from an operating system. It allows you to use PlatformIO beginning from PC (Mac, Linux, Win) and ending with credit-card sized computers (Raspberry Pi, BeagleBone, CubieBoard).

Embedded Development. Easier Than Ever.

PlatformIO is well suited for embedded development and has pre-configured settings for most popular Embedded Boards.

PlatformIO Embedded Development Process

The Missing Library Manager. It’s here!

PlatformIO Library Manager is the missing library manager for development platforms which allows you to organize and have up-to-date external libraries.

PlatformIO Library Manager Architecture

Smart Code Builder. Fast and Reliable.

PlatformIO Code Builder is built-on a next-generation software construction tool named SCons. Think of SCons as an improved, cross-platform substitute for the classic Make utility.

  • Reliable, automatic dependency analysis
  • Reliable detection of build changes
  • Improved support for parallel builds
  • Ability to share built files in a cache
  • Lookup for external libraries which are installed via Library Manager
PlatformIO Code Builder Architecture

Single source code. Multiple platforms.

PlatformIO allows the developer to compile the same code with different development platforms using 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).

It has support for the most popular embedded platforms:


For further details, please refer to What is PlatformIO?


  1. Fork the repository on GitHub.
  2. Make a branch off of develop
  3. Run pip install tox
  4. Go to the root of project where is located tox.ini and run tox -e develop
  5. Activate current development environment:
    • Windows: .tox\develop\Scripts\activate
    • Bash/ZSH: source .tox/develop/bin/activate
    • Fish: source .tox/bin/
  6. Make changes to code, documentation, etc.
  7. Lint source code tox -e lint
  8. Run the tests tox -e py27
  9. Commit changes to your forked repository
  10. Submit a Pull Request on GitHub.


Copyright 2014-2016 Ivan Kravets <>

The PlatformIO is licensed under the permissive Apache 2.0 licence, so you can use it in both commercial and personal projects with confidence.

Project details

Release history Release notifications | RSS feed

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for platformio, version 2.8.3
Filename, size File type Python version Upload date Hashes
Filename, size platformio-2.8.3-py27-none-any.whl (161.9 kB) File type Wheel Python version 2.7 Upload date Hashes View
Filename, size platformio-2.8.3.tar.gz (89.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page