platformio-core is a free, open source ides & code editors project written in Python and released under Apache-2.0. It has 9,473 GitHub stars, 906 forks and 272 open issues, and was last pushed 2 days ago. On this registry it ranks #12 of 18 tracked projects in IDEs & Code Editors, with 5 head-to-head comparisons available.

What is platformio-core?

PlatformIO Core is the open-source, Python-based command-line build and development platform for embedded firmware that gives Arduino, ESP32, ESP8266, AVR, ARM, and CMSIS projects a single cross-platform toolchain, unified debugger, and unit-testing workflow, and it is aimed at embedded developers, firmware teams, and CI pipelines that need to build for many boards from one declarative project definition.

What it is

PlatformIO Core is the engine of the PlatformIO ecosystem: a multi-platform and multi-architecture build system written in Python and shipped under the Apache 2.0 licence. It lives in the embedded development ecosystem, where the toolchain landscape is otherwise split across vendor-specific IDEs, per-vendor uploaders, and hand-written makefiles for each microcontroller family. The project describes itself as a cross-platform IDE and unified debugger, a static code analyzer, a remote unit-testing host, a firmware file explorer with memory inspection, and a package manager for libraries, development platforms, and development tools.

The concrete problem it replaces is the per-vendor, per-board build and upload setup that normally has to be reinvented for every target. Instead of maintaining a separate project configuration for an Arduino board, an ESP32 module, and an ARM or AVR device, PlatformIO Core uses a declarative project definition and a registry of development platforms to resolve the right compiler, uploader, and debug tooling for the selected environment. Library management, desktop IDE integration, and continuous integration are treated as first-class solutions rather than add-ons, so the same project can be built locally, from a desktop editor, or inside a CI job.

Key capabilities

  • Multi-platform and multi-architecture build system covering the arduino, arm, avr, cmsis, esp32, and esp8266 topics listed for the repository.
  • Unified Debugger for embedded targets, documented alongside Unit Testing, Static Code Analysis, and Remote Development as advanced solutions.
  • Static Code Analyzer and Remote Unit Testing as built-in workflows rather than external scripts.
  • Firmware File Explorer and memory inspection for examining built firmware artifacts.
  • Library Management backed by the PlatformIO Registry, which indexes Libraries, Development Platforms, and Development Tools.
  • Desktop IDEs Integration for driving the same build from a graphical editor, plus Continuous Integration support for automated builds.
  • Distributed on PyPI as the platformio package, which supplies the PlatformIO Core (CLI) entry point.

Who uses it and how

  • Firmware developers working across several microcontroller families, who need one project layout for AVR, ARM, and ESP targets instead of one per vendor.
  • Arduino and ESP32/ESP8266 hobbyist and professional projects that want declarative configuration in place of the Arduino IDE workflow.
  • Teams running Continuous Integration, where PlatformIO Core performs the build and the Unit Testing solution runs on remote hardware.
  • Developers who prefer a desktop IDE but want the same underlying build system, using Desktop IDEs Integration.
  • Library and platform maintainers who publish to the registry so that projects can resolve Libraries, Development Platforms, and Development Tools by name.

Getting started

PlatformIO Core is distributed as the platformio package on PyPI, which provides the PlatformIO Core (CLI) used for building, uploading, and testing embedded projects; the same engine also ships through the PlatformIO IDE. Project Examples, documentation, and the registry are all linked from the project homepage at platformio.org.

How it compares

No list of paid products that this project replaces is provided in the facts, and the facts do not name comparable tools, so PlatformIO Core stands alone in this registry on the basis of the information available; the topics it carries, such as arduino, avr, and cmsis, describe the platforms it targets rather than competing products.

When to use it — and when not to

PlatformIO Core is a strong fit when a project must build for multiple embedded architectures and wants library, debugging, and testing handled by one declarative tool, and when the Apache 2.0 licence is needed for commercial work. A self-hoster must accept that the engine downloads and manages toolchain packages per development platform, and that telemetry is enabled by default, so privacy-sensitive deployments should review the telemetry setting before rollout. Anyone who needs detailed written guidance from the repository itself should note that the README is largely badges and link lists, that 272 issues are open, and that the licence text is a short copyright notice rather than a full explanation of terms.

project readme (upstream, from github) — read inline

PlatformIO Core

.. image:: https://github.com/platformio/platformio-core/workflows/Core/badge.svg :target: https://docs.platformio.org/en/latest/core/index.html :alt: CI Build for PlatformIO Core .. image:: https://github.com/platformio/platformio-core/workflows/Docs/badge.svg :target: https://docs.platformio.org?utm_source=github&utm_medium=core :alt: CI Build for Docs .. image:: https://github.com/platformio/platformio-core/workflows/Examples/badge.svg :target: https://github.com/platformio/platformio-examples :alt: CI Build for dev-platform examples .. image:: https://github.com/platformio/platformio-core/workflows/Projects/badge.svg :target: https://docs.platformio.org/en/latest/tutorials/index.html#projects :alt: CI Build for the Community Projects .. image:: https://img.shields.io/pypi/v/platformio.svg :target: https://pypi.python.org/pypi/platformio/ :alt: Latest Version .. image:: https://img.shields.io/badge/PlatformIO-Labs-orange.svg :alt: PlatformIO Labs :target: https://piolabs.com/?utm_source=github&utm_medium=core

Quick Links: Homepage _ | PlatformIO IDE _ | Registry _ | Project Examples __ | Docs _ | Donate _ | Contact Us _

Social: LinkedIn _ | Twitter _ | Facebook _ | Community Forums _

.. image:: https://raw.githubusercontent.com/platformio/platformio-web/develop/app/images/platformio-ide-laptop.png :target: https://platformio.org?utm_source=github&utm_medium=core

PlatformIO _: Your Gateway to Embedded Software Development Excellence.

Unlock the true potential of embedded software development with PlatformIO's collaborative ecosystem, embracing declarative principles, test-driven methodologies, and modern toolchains for unrivaled success.

  • Open source, maximum permissive Apache 2.0 license
  • Cross-platform IDE and Unified Debugger
  • Static Code Analyzer and Remote Unit Testing
  • Multi-platform and Multi-architecture Build System
  • Firmware File Explorer and Memory Inspection

Get Started

  • What is PlatformIO? _
  • PlatformIO IDE _
  • PlatformIO Core (CLI) _
  • Project Examples __

Solutions

  • Library Management _
  • Desktop IDEs Integration _
  • Continuous Integration _

Advanced

  • Debugging _
  • Unit Testing _
  • Static Code Analysis _
  • Remote Development _

Registry

  • Libraries _
  • Development Platforms _
  • Development Tools _

Contributing

See contributing guidelines _.

Telemetry / Privacy Policy

Share minimal diagnostics and usage information to help us make PlatformIO better. It is enabled by default. For more information see:

  • Telemetry Setting _

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.

.. image:: https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct.svg :target: https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md :alt: SWUbanner

Frequently asked questions

Is platformio-core free to use?

platformio-core is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does platformio-core do?

Your Gateway to Embedded Software Development Excellence :alien:

What is platformio-core written in?

platformio-core is primarily written in Python. Its source is publicly available at https://github.com/platformio/platformio-core, and it has 9,473 GitHub stars.