跳转到内容

PlatformIO 与 pioarduino ​

PlatformIO 是一个跨平台的嵌入式构建与工程管理工具,常以 VS Code 扩展形式使用。它本身不是「框架」,而是把工具链、库管理和多开发板配置统一起来;在 ESP32 上,它可以驱动 Arduino 或 ESP-IDF 框架。对 ESP32 用户来说,当下最重要的是搞清楚平台包的来源。

概览 ​

在 PlatformIO 中,开发板由「平台」(platform)定义。ESP32 对应的官方平台是 platformio/platform-espressif32。查看其 GitHub 发布页(2026-10-14):

  • 最近的版本是 7.1.x 系列,支持 ESP-IDF 到 v6.1(7.1.0 加入)。
  • 但这些发布说明里 Arduino 框架始终标注为 2.0.17,基于 IDF v4.4.7。也就是说,官方平台里的 Arduino 核心停留在 2.x,没有 Arduino-ESP32 3.x。
  • 发布页没有明文宣布「停止更新 Arduino」,这是根据版本号推断的现象;官方 PlatformIO 团队的态度请以其公告为准。

由于 Arduino-ESP32 3.x 带来的新芯片支持(如 ESP32-C5、P4 的 Arduino 支持)和 API 变化,社区出现了分支项目 pioarduino(pioarduino/platform-espressif32)。

关键信息 ​

官方平台的写法 ​

ini
; platformio.ini,本地电脑上用 PlatformIO 构建
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200

使用官方平台时,Arduino 代码跑在 2.x 核心上,较新的芯片可能没有 Arduino 支持,但 framework = espidf 一般更新得快。

pioarduino 的写法 ​

pioarduino 的 README 给出的稳定版写法如下:

ini
[env:stable]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip
framework = arduino
board = esp32dev

开发版则使用 platform = https://github.com/pioarduino/platform-espressif32.git#develop。README 当时写明 stable 是 Arduino 3.3.12 与 IDF v5.5.5,与上一篇 Arduino-ESP32 中的稳定版对应。

pioarduino 还有几个特点:

  • 默认文件系统为 LittleFS,可用 board_build.filesystem 切换。
  • 提供「Hybrid compile」功能,使 Arduino 可用于 ESP32-C2、C61 和 solo1 等官方 Arduino 包支持不完整的芯片。
  • 有自己的 VS Code 扩展 pioarduino IDE 和安装脚本。
  • 板级问题由社区通过 PR 修复,维护者不负责逐个开发板。
  • 它是社区项目,不是乐鑫或 PlatformIO 官方产品。

怎么选 ​

场景建议
已有老项目基于 Arduino 2.x,稳定运行保持官方平台,不必折腾
要 Arduino 3.x 的新 API 或新芯片pioarduino
只用 ESP-IDF 框架,想要 VS Code 管理官方平台 framework = espidf 或直接用乐鑫的 VS Code 扩展,见 ESP-IDF
完全不想管构建细节Arduino IDE 2.x

社区分支的维护风险

pioarduino 依赖社区维护者的持续投入。把它用在长期项目前,锁定平台版本(用具体 release 链接而不是 stable),并保存一份构建产物与工具链缓存,以免上游变动导致无法复现构建。

适合谁 / 不适合谁 ​

适合需要多开发板、多环境(debug / release)、CI 自动构建或依赖版本锁定的用户。不适合只想「点一下上传」的纯新手,对他们来说 Arduino IDE 更直观。

参考资料 ​

ESP32 非官方中文调查手册,与乐鑫科技(Espressif Systems)无隶属关系。