The PlatformIO ecosystem has a decentralized architecture, allowing development for a range of development platforms. A development platform (or just "platform" for short) is usually a particular microcontroller or processor architecture that PlatformIO projects can be compiled to run on. (A few platforms, for example Teensy, use different target architectures for different boards.)
Each of the three supported host systems Mac OS X, Linux and Windows support compiling for all platforms listed below. Some platforms are also supported under ARM Linux hosts such as Raspberry Pi. For each development platform, PlatformIO defines:
- The PlatformIO Build System build scripts for the supported frameworks and SDKs
- Pre-configured presets for embedded circuit boards
- Pre-compiled toolchains and related tools for the architecture(s)
Each project must specify the platform name using the :ref:`projectconf_env_platform` option in :ref:`projectconf`. A specific platform version can optionally be specified as well. As embedded boards are equipped with a particular microcontroller, each embedded board specifies what development platform it uses and this can not be changed.
If a new board uses an architecture not in this list, a custom development platform can be created; see :ref:`platform_creating`.
The full list of supported development platforms is accessible on the PlatformIO Registry.
.. toctree::
:maxdepth: 1
aceinna_imu
atmelavr
atmelmegaavr
atmelsam
chipsalliance
espressif32
espressif8266
freescalekinetis
heltec-cubecell
intel_arc32
intel_mcs51
lattice_ice40
maxim32
microchippic32
nordicnrf51
nordicnrf52
nxpimxrt
nxplpc
openhw
raspberrypi
renesas-ra
riscv_gap
shakti
sifive
siliconlabsefm32
ststm32
ststm8
teensy
timsp430
titiva
.. toctree::
:maxdepth: 1
native
linux_arm
linux_i686
linux_x86_64
windows_x86