Arduino IDE 下载:官方 2.3.10,以及 AGPL 这个常被写错的许可证
Arduino 官方的入门级开发环境,AGPL-3.0 开源、三平台都有官方安装包;它用工程化能力换了上手速度,第一天就能出效果,但项目一旦要多人协作或进 CI 就该换掉。
- 授权
- AGPL-3.0 开源
- 平台
- Windows / macOS / Linux
- 协议
- UART、USB
- 官网
- https://www.arduino.cc/en/software
- 源码
- https://github.com/arduino/arduino-ide
- · 第一次接触单片机、想尽快把代码跑进硬件里看到效果的人
- · 教学、演示、原型验证这类"能跑就行、不打算长期维护"的短周期场景
- · 需要版本控制、多人协作、CI 自动构建的团队项目
- · 同一份代码要在多个目标板、多套编译配置之间来回切换的场合
- 文件名
- Arduino IDE 2.3.10
- 版本
- 2.3.10
- SHA256
- 待补(尚未实际核对,不填占位值)
- 核对于
- 2026-09-02
本站不托管安装包,上方为官方渠道直链。下载后请自行核对 SHA256,与上表不一致说明文件被改动过。
Arduino IDE 是 Arduino 官方的集成开发环境,最新版本 2.3.10,发布于 2026 年 6 月 9 日。官方下载页在 arduino.cc/en/software,源码仓库在 arduino/arduino-ide。Windows、macOS、Linux 三个平台官方都提供安装包。
这个工具几乎不需要介绍——绝大多数人做的第一个嵌入式项目,就是在它里面点亮一颗 LED。所以这篇不打算重复"怎么装、怎么点上传按钮",而是讲两件搜索结果里普遍讲错或干脆没讲的事:它的许可证到底是什么,以及它到底适合谁。
第一件事:它是 AGPL-3.0,不是 GPL
你在中文技术文章、百科条目甚至一些教材里,大概率看到的是"Arduino IDE 采用 GPL 协议开源",偶尔还有写成 LGPL 的。这是错的。以官方仓库的许可证声明为准,Arduino IDE 用的是 AGPL-3.0——多一个 A,是 Affero。
这个 A 不是装饰。GPL 和 AGPL 的核心差别只有一条:AGPL 把"通过网络提供服务"也算作分发。
用大白话说清楚这三种情况:
- 你自己装一份在电脑上写代码:GPL 和 AGPL 对你完全一样,没有任何义务。
- 你改了它的源码,然后把改过的软件打包发给别人:GPL 和 AGPL 都要求你把改动的源码一并公开。
- 你改了它的源码,但不发软件,而是架成一个在线服务让别人在浏览器里用:GPL 管不到这种情况——你没"分发"任何副本;但 AGPL 管得到,它会要求你向这些用户提供修改后的源码。
第三条就是 AGPL 存在的全部理由,它堵的是"云服务绕开开源义务"这个口子。
这条对你有影响吗?大概率没有
必须先把这句话说清楚,免得吓到人:你用 Arduino IDE 写出来的代码,不受 IDE 许可证的约束。
IDE 是一个工具,你的 sketch 是你的作品。就像你用某个开源文本编辑器写小说,不代表小说要开源。你写的固件版权归你,你想闭源卖钱、想申请专利、想给客户做定制交付,都跟 Arduino IDE 是 AGPL 还是 GPL 没有关系。这一层是干净的。
真正需要留意 AGPL 的只有一种人:**打算基于 Arduino IDE 的源码做二次开发,并且把成品做成产品或在线服务对外提供。**比如你想在它基础上改个自家品牌的开发环境,或者做一个"网页版在线编程平台"给学生用。这两种场景下,GPL 和 AGPL 给你的义务是完全不同的量级,前者你可能有回旋余地,后者基本没有。
如果你正好在做这类事,别拿这篇文章当依据。以官方仓库里的 LICENSE 原文为准,涉及商业化的请咨询专业律师——本节是技术性说明,不构成法律意见。
第二件事:它把复杂度藏起来了,这是优点也是代价
要理解 Arduino IDE 适合谁,得先明白它做了什么。
一个正常的嵌入式开发流程是这样的:配置交叉编译工具链、写链接脚本、管理头文件搜索路径、编译、链接、生成 bin、再用烧录工具按地址写进 flash。每一步都要懂,每一步都能出错。新手卡在环境配置上放弃的,比卡在写代码上放弃的多得多。
Arduino 的做法是把这一整串全部封起来:工具链帮你装好,库让你在界面里搜一下就能加,编译和烧录合并成一个"上传"按钮。你只需要写两个函数,一个开机跑一次,一个反复循环。第一天就能看到 LED 闪,这件事的教育价值怎么高估都不过分。
但有三个技术事实值得知道,它们决定了你迟早会碰到的那些怪问题:
- Arduino 的语言不是什么新语言,它是 C++ 加了一层很薄的封装。那些看起来"很 Arduino"的函数,底下就是普通的 C++ 函数调用。
- 编译产物是原生机器码,不是解释执行的脚本。所以性能上它并不吃亏,跑得慢通常是你写的逻辑问题,不是"Arduino 慢"。
- 烧录这一步走的仍然是串口,需要电脑上装好对应的 USB 转串口驱动。板子上用的芯片不同,驱动就不同——常见的是 CH340 驱动和 CP210x 驱动。这是新手"设备管理器里找不到端口""上传一直失败"的头号原因,跟代码没有任何关系。
还有一个坑值得单独点出来:**开发板型号选错,代码往往能编译通过,但烧进去就是不工作。**因为编译只检查语法和 API,不知道你手上那块板子的引脚映射、时钟配置、flash 布局是什么。遇到"编译成功但没反应",先回头确认板子型号选对了。
那它什么时候就不够用了
把复杂度藏起来的代价,是你也失去了控制它的能力。项目一大,这个代价开始显性化:
- 依赖管理弱。库装在全局环境里,不同项目要求不同版本时很难共存,也很难把"这个项目依赖哪些库的哪个版本"这件事写进仓库让别人复现。
- 没有像样的工程结构。目录组织方式是约定死的,源文件一多就开始别扭。
- 版本控制不顺手。哪些该提交、哪些是环境产物,边界不清楚,多人协作时容易互相覆盖。
- 多环境构建做不了。同一份代码要编出"调试版/量产版",或者同时支持两块不同的目标板,你只能靠手动改配置来回切,切错了不会有人提醒你。
我要强调一句:**这些不是缺点,是取舍。**Arduino IDE 的目标用户从来就不是做产品的团队,它是给"我想让这个东西动起来"的人用的。拿工程化标准去批评它,等于批评自行车不能上高速。
换工具的信号很明确,出现下面任何一条就该考虑了:
- 项目开始有第二个人参与,你们需要在同一份代码上协作;
- 你希望每次提交都自动编译一遍,也就是需要 CI;
- 你要维护多个目标板或多套编译配置,手动切换已经出过事故。
到这一步,往下走有两条路。一条是 PlatformIO,它保留了 Arduino 的生态和写法,但把依赖、构建配置、多环境都变成了可以提交进仓库的文本文件,迁移成本最低。另一条是直接用芯片厂商的原生框架,比如乐鑫的 ESP-IDF——上手陡得多,但你能拿回对系统的完整控制权,做产品最终大多要走到这里。烧录环节也可以单独换成命令行工具 esptool,好处是能写进脚本。
另外,如果你更想快速验证逻辑而不是抠性能,MicroPython 也是一条不同方向的路。
下载与版本
只从官方渠道拿:下载页 arduino.cc/en/software,源码和发布记录在 GitHub 仓库。当前版本 2.3.10(2026-06-09 发布),本页信息核对于 2026-09-02。
系统要求、支持的开发板范围、内置库的具体清单这些,官方文档会随版本变动,请以官网和仓库说明为准,别信搬运过来的旧列表。
一句话结论:Arduino IDE 是最好的入门工具,不是最好的开发工具,这两件事不冲突。用它把硬件跑通、把兴趣建立起来,等到项目开始需要协作和自动化,坦然换掉它——那不是它没做好,是你走远了。
本文为公开资料整理,非亲测。关键参数与代码请结合实物与下列官方来源验证。
- Arduino 官方软件下载页 ↗
arduino.cc/en/software
- Arduino IDE 官方仓库(AGPL-3.0,2.3.10 发布于 2026-06-09) ↗
github.com/arduino/arduino-ide
延伸阅读
Arduino IDE 把串口这层藏起来了,真到要调协议、看原始字节的时候还得自己上手: 在线用串口调试工具,本地用 UartAssist 串口调试助手,波特率和进制换算走 进制与波特率换算工具。 串口连不上多半是驱动没装对,对照 CH340 驱动和 CP210x 驱动排查。 工程化那一步换 PlatformIO 或 ESP-IDF,其余工具见软件与工具库。
- PlatformIO 嵌入式开发·IDE与工具链
- ESP-IDF 嵌入式开发·IDE与工具链