PlatformIO ========== .. image:: https://travis-ci.org/platformio/platformio-core.svg?branch=develop :target: https://travis-ci.org/platformio/platformio-core :alt: Travis.CI Build Status .. image:: https://ci.appveyor.com/api/projects/status/unnpw0n3c5k14btn/branch/develop?svg=true :target: https://ci.appveyor.com/project/ivankravets/platformio-core :alt: AppVeyor.CI Build Status .. image:: https://requires.io/github/platformio/platformio-core/requirements.svg?branch=develop :target: https://requires.io/github/platformio/platformio-core/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/PlatformIO/Community.png :alt: Community Forums :target: https://community.platformio.org .. image:: https://img.shields.io/PlatformIO/Plus.png?color=orange :alt: PlatformIO Plus: Professional solutions for an awesome open source PlatformIO ecosystem :target: https://pioplus.com **Quick Links:** `Home Page `_ | `PlatformIO Plus `_ | `PlatformIO IDE `_ | `Project Examples `_ | `Docs `_ | `Donate `_ | `Contact Us `_ **Social:** `Twitter `_ | `Facebook `_ | `Hackaday `_ | `Bintray `_ | `Community `_ .. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-ide-laptop.png :target: http://platformio.org `PlatformIO `_ is an open source ecosystem for IoT development. Cross-platform IDE and unified debugger. Remote unit testing and firmware updates. * **PlatformIO IDE** - The next-generation integrated development environment for IoT. C/C++ Intelligent Code Completion and Smart Code Linter for the super-fast coding. Multi-projects workflow with Multiple Panes. Themes Support with dark and light colors. Built-in Terminal with PlatformIO Core tool and support for the powerful Serial Port Monitor. All advanced instruments without leaving your favourite development environment. * **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 8266 & 32, Freescale Kinetis, Intel ARC32, Lattice iCE40, Microchip PIC32, Nordic nRF51, NXP LPC, Silicon Labs EFM32, ST STM32, TI MSP430 & Tiva, Teensy, Arduino, mbed, libOpenCM3, etc.* * `PlatformIO Plus and professional solutions `_ * `PlatformIO IDE `_ * `Get Started `_ * `Library Search and Registry `_ * `Development Platforms `_ * `Frameworks `_ * `Embedded Boards Explorer `_ * `Library Manager `_ * `User Guide `_ * `Continuous Integration `_ * `IDE Integration `_ * `Articles about us `_ * `FAQ `_ * `Release Notes `_ 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 *Cloud9, Codeanywhere, Eclipse Che, Atom, CLion, CodeBlocks, Eclipse, Emacs, NetBeans, 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 `development 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 Portal `_ * Open Source `Library Registry API `_ * Library Crawler based on `library.json `_ specification * Project Dependency Manager with `Semantic Versioning `_ requirements .. 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 Build System. *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 Build System 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 32 `_ * `Espressif 8266 `_ * `Freescale Kinetis `_ * `Intel ARC32 `_ * `Lattice iCE40 `_ * `Microchip PIC32 `_ * `Nordic nRF51 `_ * `NXP LPC `_ * `ST STM32 `_ * `Silicon Labs EFM32 `_ * `Teensy `_ * `TI MSP430 `_ * `TI TivaVA C `_ Frameworks: * `Arduino `_ * `ARTIK SDK `_ * `CMSIS `_ * `Energia `_ * `ESP-IDF `_ * `libOpenCM3 `_ * `mbed `_ * `Pumbaa `_ * `Simba `_ * `SPL `_ * `WiringPi `_ For further details, please refer to `What is PlatformIO? `_ Contributing ------------ See `contributing guidelines `_. License ------- Copyright (c) 2014-present PlatformIO The PlatformIO is licensed under the permissive Apache 2.0 license, so you can use it in both commercial and personal projects with confidence.