做离线项目、围绕 5 V 电机和传感器来搭的,买 Arduino Uno;预算最紧又想要 WiFi 的,买 ESP8266 NodeMCU;需要蓝牙、摄像头或更大内存的,就上 ESP32。对大多数 IoT 项目和 FYP 来说,ESP32 DevKit 是最稳的全能选择。下面是一份实话实说的对比,坑也一并讲清楚。
ESP32、ESP8266 和 Arduino Uno,快速结论是什么?
在 MakerHub,我们被问得最多的一个问题就是”我该买哪块开发板?”,而答案基本绕不开 Arduino Uno、ESP8266 NodeMCU 和 ESP32 DevKit 这三块。简单版结论:Uno 是课堂上的老黄牛,ESP8266 是预算型 WiFi 开发板,ESP32 则是什么都能干的现代芯片。
Uno 说的是 5 V 的”语言”——和大多数学校机器人套件、常见传感器模块同一个电压。ESP8266 和 ESP32 说的是 3.3 V,而且芯片本身就自带 WiFi。还有第四个选项:ESP32-C3 Super Mini,把 ESP32 家族缩小到邮票大小,专为可穿戴设备和空间很紧的外壳而生。
三大开发板(外加一个迷你选项)
ESP32、ESP8266 和 Arduino Uno 的规格差多少?
这张表几乎每一行都是 ESP32 DevKit 赢——真正的问题是,你的项目需不需要这些优势。数据来自官方的 Arduino Uno 文档、ESP8266EX 数据手册、ESP32 数据手册和 ESP32-C3 数据手册。
| 规格 | Arduino Uno(UNOCH34) | ESP8266 NodeMCU(E82V3CH) | ESP32 DevKit(32CP210) | ESP32-C3 Super Mini(E32SPMN) |
|---|---|---|---|---|
| CPU | 8 位 AVR ATmega328P,单核 | 32 位 Tensilica L106,单核 | 32 位 Xtensa LX6,双核 | 32 位 RISC-V,单核 |
| 主频 | 16 MHz | 80 MHz(可提升至 160 MHz) | 最高 240 MHz | 160 MHz |
| 内存(SRAM) | 2 KB SRAM | ~80 KB 用户 RAM(≈50 KB 可用堆内存) | 520 KB SRAM | 400 KB SRAM |
| 闪存 | 32 KB 片上闪存 | 4 MB 模块闪存 | 4 MB 模块闪存 | 4 MB 闪存 |
| WiFi | 无 | 2.4 GHz 802.11 b/g/n | 2.4 GHz 802.11 b/g/n | 2.4 GHz 802.11 b/g/n |
| 蓝牙 | 无 | 无 | 经典蓝牙 v4.2 + BLE | 仅 BLE 5(无经典蓝牙) |
| ADC | 10 位,6 个引脚(0–5 V) | 10 位,1 个引脚(NodeMCU 上为 0–3.3 V) | 12 位,18 个通道* | 12 位,6 个通道(可用 5 个) |
| 逻辑电平 | 5 V | 3.3 V | 3.3 V | 3.3 V |
| 引脚耐 5 V 输入 | 可以(原生 5 V) | 不行 | 不行 | 不行 |
| USB + 串口芯片 | USB-B,CH340G | Micro-USB,CH340 | Micro-USB,CP2102 | USB-C,原生 USB(无串口芯片) |
| 价格档位 | 入门价位 | 最便宜的 WiFi 开发板 | 略高于 ESP8266 | 介于两者之间 |
*ESP32 的”18 个 ADC 通道”得诚实地打个星号:其中 10 个挂在 ADC2 上,而 ADC2 是和 WiFi 驱动共用的——WiFi 一跑起来,这些引脚的读数就不再可靠,所以模拟输入尽量规划在 ADC1 上(GPIO 32–39,其中 34–39 只能做输入)。即便如此,ESP32 还多出触摸感应、两路 DAC 和三个 UART,这些都是另外几块板没有的。
ESP8266 那唯一的 ADC 引脚也有自己的怪脾气:裸芯片只接受 0–1 V,是 NodeMCU 板上的分压电路把量程拉宽到了 0–3.3 V。如果直接往裸 ESP-12 模块的 ADC 引脚灌 3.3 V,那就超出规格了。
想看 ESP32 和 ESP8266 在 Arduino IDE 里的实机对比,Andreas Spiess 的这期讲解很值得一看:
你的项目该买哪块开发板?
学校的 RBT 课题,或者以电机、继电器和 5 V 传感器模块为主、完全不需要联网的项目,Arduino Uno 依然是对的选择。教程多到看不完,接错一根线也很少会把板子弄坏。我们的自动浇花项目就示范了一块 Uno 刚刚好够用——Uno 兼容开发板在这里。
一旦计划里出现”用 WiFi 控制”这几个字,ESP8266 NodeMCU 就是预算党的答案。单核加一个模拟引脚确实是硬限制,但要做一个 DHT 传感器往 app 推读数,或者一个 WiFi 继电器,它完全够用——NodeMCU V3 在这里。
做 FYP,我们默认推荐 ESP32 DevKit:经典蓝牙加 BLE、双核,RAM 也够一边跑 web 服务器一边记录传感器数据。只要项目提到摄像头、音频或 BLE beacon,就跳过 ESP8266,直接拿 ESP32 DevKit。
当外壳空间比引脚数量更要紧时——可穿戴、徽章、藏起来的传感器——就轮到 ESP32-C3 Super Mini 出场了。它把 WiFi 和 BLE 5 装进硬币大小的板子里,USB 控制器直接做进芯片(USB-C 接口,不需要串口芯片)——看这里的 C3 Super Mini。

| 如果你的项目是…… | 买这块 |
|---|---|
| 学校 RBT / 机器人项目,用电机和 5 V 传感器,不联网 | Arduino Uno 兼容开发板 |
| 预算最省的简单 WiFi/IoT 项目 | ESP8266 NodeMCU V3 |
| 摄像头、蓝牙、网页仪表盘或多任务 IoT(大多数 FYP) | ESP32 DevKit |
| 需要 WiFi/BLE 的可穿戴或空间受限项目 | ESP32-C3 Super Mini |

在这几块板之间切换时,最容易踩什么坑?
3.3 V 逻辑电平的坑。ESP8266 和 ESP32 用的是 3.3 V 逻辑电平,引脚并不耐 5 V,但大多数常见传感器模块都是按 Uno 的 5 V 世界设计的。有的在 3.3 V 下照常工作,有的会把 5 V 反灌回来、慢慢把 ESP 的引脚”煮熟”,有的干脆读出乱码。逐个确认每个模块的输出电压;凡是输出 5 V 的,就加分压电路或电平转换器。

供电的坑。ESP32 和 ESP8266 的 WiFi 射频会产生远高于待机电流的瞬时尖峰——Espressif 的硬件设计指南要求 3.3 V 供电至少能稳定输出 500 mA。碰上供电偏弱的 USB 口,或者一条只能充电的细线,WiFi 一启动,板子就掉电重启。打算用锂电池供电?先读我们的 TP4056 安全给 18650 充电指南。
引脚标号的坑。NodeMCU 板上印的 D0–D8 和 ESP8266 的 GPIO 编号并不一致——D1 是 GPIO5,D2 是 GPIO4——千万别默认它们对得上。ESP32 那边则有几个 strapping 引脚(GPIO 0、2、12、15),上电瞬间如果被什么东西拉错了方向,板子可能直接无法启动。
真实客户身上最常见的问题
在我们收到的”board rosak”(板子坏了)对话里,ESP32 和 NodeMCU 是绝对的常客——但板子几乎从来都没有真的坏。
“esp32 tak detect/error 2/boot button”——这是我们每个星期都会见到的主题,里面其实藏着三种修法。装对 USB 串口驱动(我们的 ESP32 DevKit 用 CP2102,NodeMCU 和 Uno 兼容板用 CH340),换一条真正能传数据的 USB 线,如果 IDE 卡在”Connecting…”,就按住 BOOT 按钮直到上传开始。完整步骤在《ESP32 无法识别 / 上传失败——解决方法》。
另一个常客:5 V 的超声波或红外模块,在 Uno 上一切正常,接到 ESP32 上读数却乱跳——就是上面说的逻辑电平的坑,不是板子出了问题。
最隐蔽的一种:程序一路跑得好好的,一执行到 WiFi.begin() 板子就开始循环重启。解决办法通常是换条更好的线或换个 USB 口,而不是改代码——是 WiFi 射频的电流尖峰把疲弱的供电拉垮了。
FAQ
Arduino Uno 可以连 WiFi 吗?
Uno 本身完全没有无线模块。你可以外挂一个 WiFi 模块,但通常比直接用 ESP8266 或 ESP32 更折腾——后两者自带 WiFi,而且同样用 Arduino IDE 编程。
我的 Arduino 代码能在 ESP32 或 ESP8266 上跑吗?
大部分可以。在 Arduino IDE 里装上 ESP32 或 ESP8266 的开发板支持包,同一份 C++ 程序就能编译,但要做一些调整:引脚编号不同,少数只支持 AVR 的库编译不过,所有默认 5 V 逻辑电平的部分都要重新考虑。
为什么我的 ESP8266 只有一个模拟引脚?
ESP8266 芯片确实只有一个 ADC 通道——这是芯片层面的限制,不是板子的毛病。如果你的项目要读多个模拟传感器,选 ESP32,或者外加一个 I2C 接口的 ADC 模块。
FYP 用哪块开发板最好?
大多数情况下是 ESP32 DevKit。它有足够的余量同时应付 WiFi 仪表盘、蓝牙、摄像头和传感器记录,项目中途改需求也不用被迫换板。只有完全离线、全部用 5 V 元件的项目才选 Uno。
ESP32-C3 Super Mini 和普通 ESP32 一样吗?
ESP32-C3 是另一颗芯片:单核 RISC-V、主频 160 MHz,带 WiFi 和 BLE 5,但没有经典蓝牙,引脚也更少。它适合小体积项目;需要经典蓝牙、双核或更多外设,就选完整的 DevKit。
最后更新:2026年8月。有问题?WhatsApp 联系我们。



Arduino Uno Compatible SMD UNO R3 with Type B Cable - ATMEGA328P with CH340G-Microcontroller Project
NodeMCU V3 ESP8266 Development Board WiFi CH340 V3 IOT - ESP8266 NODEMCU V3 LUA WIFI
NodeMCU ESP32 Wi-Fi + Bluetooth Development Board CH340/CP2012 - For IOT Project - ESP-32(CP2102)
ESP32 Super Mini Ultra Small Size ESP32-C3 RISC-V Low Power Consumption - ESP32-C3 SUPER MIN