Home & Demo | Project Examples | Code | Documentation || Blog | Reddit | Facebook | Twitter
![https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-logo.png](https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-logo.png)
PlatformIO is a cross-platform code builder and the missing library manager (Ready for embedded development, IDE and Continuous integration, Arduino and MBED compatible).
Atmel AVR & SAM, Espressif, Freescale Kinetis, Nordic nRF51, NXP LPC, Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed, libOpenCM3, etc.
![https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-demo-wiring.gif](https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-demo-wiring.gif)
- Get Started
- Web 2.0 Library Search
- Development Platforms
- Frameworks
- Embedded Boards Explorer
- Library Manager
- User Guide
- Continuous Integration
- IDE Integration
- Articles about us
- FAQ
- Release History
You have no need to install any IDE or compile any tool chains. PlatformIO has pre-built different development platforms and pre-configured settings for the most popular embedded boards. For further details, please refer to What is PlatformIO?
PlatformIO is written in pure Python and doesn't depend on any additional libraries/tools from an operation system. It allows you to use PlatformIO beginning from PC (Mac, Linux, Win) and ending with credit-card sized computers (Raspberry Pi, BeagleBone, CubieBoard).
PlatformIO is well suited for embedded development and has pre-configured settings for most popular Embedded Boards.
- Colourful command-line output
- IDE Integration with Arduino, Eclipse, Energia, Qt Creator, Sublime Text, Vim, Visual Studio
- Continuous Integration with AppVeyor, Circle CI, Drone, Shippable, Travis CI
- Built-in Serial Port Monitor and configurable build -flags/-options
- Automatic firmware uploading
- Pre-built tool chains, frameworks for the popular Hardware Platforms
![PlatformIO Embedded Development Process](https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-embedded-development.png)
PlatformIO Library Manager is the missing library manager for development platforms which allows you to organize and have up-to-date external libraries.
- Friendly Command-Line Interface
- Modern Web 2.0 Library Search
- Open Source Library Registry API
- Library Crawler based on library.json specification
- Library dependency management
- Automatic library updating
![PlatformIO Library Manager Architecture](https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-library-manager.png)
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](https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-scons-builder.png)
PlatformIO allows developer to 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).
It has support for the most popular embedded platforms:
- Atmel AVR
- Atmel SAM
- Espressif
- Freescale Kinetis
- Nordic nRF51
- NXP LPC
- ST STM32
- Silicon Labs EFM32
- Teensy
- TI MSP430
- TI TIVA C
Frameworks:
Copyright (C) 2014-2015 Ivan Kravets
Licenced under the MIT Licence.