PlatformIO ========== .. image:: https://travis-ci.org/platformio/platformio.svg?branch=develop :target: https://travis-ci.org/platformio/platformio :alt: Travis.CI Build Status .. image:: https://ci.appveyor.com/api/projects/status/dku0h2rutfj0ctls/branch/develop?svg=true :target: https://ci.appveyor.com/project/ivankravets/platformio :alt: AppVeyor.CI Build Status .. image:: https://circleci.com/gh/platformio/platformio/tree/develop.svg?style=svg :target: https://circleci.com/gh/platformio/platformio/tree/develop :alt: Circle.CI Build Status .. image:: https://requires.io/github/platformio/platformio/requirements.svg?branch=develop :target: https://requires.io/github/platformio/platformio/requirements/?branch=develop :alt: Requirements Status .. image:: https://img.shields.io/pypi/v/platformio.svg :target: https://pypi.python.org/pypi/platformio/ :alt: Latest Version .. image:: https://img.shields.io/pypi/l/platformio.svg :target: https://pypi.python.org/pypi/platformio/ :alt: License .. image:: https://img.shields.io/pypi/dm/platformio.svg :target: https://pypi.python.org/pypi/platformio/ :alt: PyPi Downloads .. image:: https://img.shields.io/sourceforge/dm/platformio-storage.svg :target: https://sourceforge.net/projects/platformio-storage/ :alt: Packages Downloads .. image:: https://badges.gitter.im/Join%20Chat.svg :alt: Join the chat at https://gitter.im/platformio/platformio :target: https://gitter.im/platformio/platformio `Home & Demo `_ | `Project Examples `_ | `Source Code `_ | `Documentation `_ | `Blog `_ | `Twitter `_ | `Hackaday `_ | `Facebook `_ | `Reddit `_ .. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-logo.png :target: http://platformio.org `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.* .. image:: https://raw.githubusercontent.com/platformio/platformio/develop/docs/_static/platformio-demo-wiring.gif :target: http://platformio.org * `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 `_ 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 `_. * Colourful `command-line output `_ * `IDE Integration `_ with *Arduino, Eclipse, Emacs, Energia, Qt Creator, Sublime Text, Vim, Visual Studio* * Cloud compiling and `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 `_ .. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-embedded-development.png :target: http://platformio.org :alt: 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. * 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 .. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-library-manager.png :target: http://platformio.org :alt: 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 `_ .. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-scons-builder.png :target: http://platformio.org :alt: 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: * `Atmel AVR `_ * `Atmel SAM `_ * `Espressif `_ * `Freescale Kinetis `_ * `Nordic nRF51 `_ * `NXP LPC `_ * `ST STM32 `_ * `Silicon Labs EFM32 `_ * `Teensy `_ * `TI MSP430 `_ * `TI TIVA C `_ Frameworks: * `Arduino `_ * `CMSIS `_ * `libOpenCM3 `_ * `Energia `_ * `SPL `_ * `mbed `_ For further details, please refer to `What is PlatformIO? `_ Licence ------- Copyright 2014-2015 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.