COCKPIT SUITELIVE HUB /

工坊 / 微控制器比较

你的座舱项目适合哪种微控制器?

合适的开发板应让目标功能容易理解、容易验证,并能稳定工作。四个 LED 不需要高性能处理器;多个显示屏、网络数据和 USB 控制功能则值得仔细比较内存、接口和软件支持。这篇指南帮助你围绕实际项目作选择。

完成规划后,你将得到得到有依据的开发板选择、引脚分配表,以及能够验证主要要求的小型实验。

内容审核日期:2026年10月18日

先确定功能,再比较主频

先写清楚模块是向模拟器发送控制输入、显示遥测数据,还是同时完成两项工作。按键盒需要读取开关,并通过受支持的输入通道传递操作。无线电 OLED 显示器还需要真实数据来源、消息格式、显示规则,以及失去连接时的处理方式。更快的芯片无法补上不存在的模拟器接口。

分别统计按键、旋转编码器及其按压开关、模拟轴、LED 和显示屏。为 I²C、SPI、USB 和调试预留引脚。还要决定使用可配置的现成固件,还是编写自己的程序。开发板选择基础介绍了这些区别;本页进一步比较具体系列。先做一个能验证的模块,比一次购买所有可能用到的硬件更容易推进项目。

经典 Arduino 与 R4 系列

UNO R3 和经典 Nano 适合第一个规模可控的小项目,针对 AVR 架构的示例也很多。Mega 提供更多引脚和四路硬件 UART,但主频仍为 16 MHz。Leonardo 与 Micro 的 ATmega32U4 内置 USB,因此更适合尝试自定义 USB HID 程序。

采用 5 V 逻辑的 Arduino 开发板
开发板微控制器/时钟Flash/SRAM引脚逻辑电平USB
UNO R3ATmega328P · 16 MHz32 KB / 2 KB14 D + 6 A5 VUSB 转串口桥接
Nano (classic)ATmega328 · 16 MHz32 KB / 2 KB14 D + 8 A5 VUSB 转串口桥接
Mega 2560 Rev3ATmega2560 · 16 MHz256 KB / 8 KB54 D + 16 A5 VUSB 转串口桥接
Leonardo / MicroATmega32U4 · 16 MHz32 KB / 2.5 KB20 I/O; 12 A*5 V主微控制器自带 USB
Nano EveryATmega4809 · ≤20 MHz48 KB / 6 KB14 D + 8 A5 VUSB 转串口桥接
UNO R4 Minima / WiFiRA4M1 · 48 MHz256 KB / 32 KB14 D + 6 A5 VMinima:原生;WiFi:桥接/切换
Nano R4RA4M1 · 48 MHz256 KB / 32 KB14 D + 8 A5 V; Qwiic 3.3 V主微控制器自带 USB

D 表示数字引脚,A 表示模拟输入。不能把所有功能当成独立资源相加:Leonardo/Micro 的 12 路模拟输入已经包含在 20 个 I/O 中。I²C、SPI、PWM 会共享引脚;经典 Nano 的 A6/A7 只能作为模拟输入。Flash 存程序,SRAM 存运行中的数据,启动加载程序和库也会占用资源。

UNO R4 Minima、UNO R4 WiFi、Nano R4 使用 RA4M1,而不是 ATmega328P。48 MHz 和更多内存有利于显示功能,但依赖 AVR 寄存器的代码不会自动兼容。R4 WiFi 额外的 ESP32-S3 承担无线任务,并不意味着整块板等同于普通 ESP32 开发板。Nano Every 的规格上限为 20 MHz,实际程序时钟还取决于开发板软件包;应核对构建设置及库支持。

Nano 外形不代表统一电子架构

下列 Nano 板采用3.3 V 逻辑。接口能插进去,并不能证明电气兼容。Nano 33 IoT 使用 SAMD21 加无线模块,BLE 型号使用 nRF52840。Sense 型号增加的传感器对普通按键盒未必有用。

其他 Nano 系列:外形相近,内部架构不同
开发板微控制器/时钟Flash/RAM无线连接USB
Nano 33 IoTSAMD21 · 48 MHz256 KB / 32 KBWi-Fi + BLE主微控制器自带 USB
Nano 33 BLE / Rev2 / Sense Rev2nRF52840 · 64 MHz1 MB / 256 KBBLE主微控制器自带 USB
Nano RP2040 ConnectRP2040 · 133 MHz16 MB / 264 KBWi-Fi + BLE主微控制器自带 USB
Nano ESP32ESP32-S3 · ≤240 MHz16 MB / 512 KB + 8 MB PSRAMWi-Fi + BLE主微控制器自带 USB
Nano MatterMGM240S · 78 MHz1536 KB / 256 KBThread / BLEUSB 调试器/桥接

许多型号保留 D0–D13 和 A0–A7 的位置,但 ADC 接法、内部占用引脚和 USB 支持并不相同。例如 Nano RP2040 Connect 的模拟输入并非全部直接连接到 RP2040。Arduino 当前将这个型号标记为 End of Life。已经拥有的板仍可以使用,但为一批新设备设计时,应先确认后续补货与替换方案。

Nano ESP32 明确配有 16 MB Flash、512 KB 内部 SRAM 和 8 MB PSRAM。PSRAM 是额外的外部运行内存,并不是所有内部缓冲区的等速替代品。Nano Matter 面向 Thread/Matter 网络,对有线 USB 摇杆没有天然优势。相同 Nano 尺寸,也不意味着可以互刷固件。选型时同时记录完整型号、逻辑电平、所需库和可用接口,避免只看外观。

Zero、MKR、Due、GIGA、Portenta 的适用位置

Zero 和许多 MKR 型号(例如 MKR WiFi 1010)采用 SAMD21:48 MHz、256 KB Flash、32 KB SRAM、3.3 V 逻辑。Zero 内置调试器;MKR 各型号主要区别是通信方式和引脚。选择实际需要的连接,不必为用不到的蜂窝通信或传感器增加成本。

Due 使用 84 MHz 的 SAM3X8E,配有 512 KB Flash、96 KB SRAM、54 个数字引脚和 12 路模拟输入。虽然外形类似 Mega,逻辑电平仍为 3.3 V。GIGA R1 WiFi 的 STM32H747 双核分别运行在 480/240 MHz,提供 2 MB 内部 Flash、1 MB 内部 SRAM,以及 16 MB 外部 Flash 和 8 MB SDRAM。其 76 个 GPIO 与显示接口适合更大的仪表单元,但引脚复用仍然存在。

Portenta H7 更适合配备合适载板、要求较高的紧凑系统。UNO WiFi Rev2 将 ATmega4809 与无线模块结合,应与 R3/R4 分开看待。Nicla 系列偏向传感或视觉,Opta 偏向工业控制。UNO Q 和 VENTUNO Q 结合 Linux 计算与微控制器任务。对于四个 LED 和一个 OLED,这些板会增加不必要的复杂度;当项目明确需要图像处理、传感或上层计算时,再考虑它们。这是针对座舱用途的系列选择,并非所有历史 Arduino 产品的完整目录。

区分 STM32 Blue Pill、Black Pill 和 Nucleo

Blue Pill、Black Pill 是开发板名称,不是固件兼容性承诺。应读取完整芯片丝印和板卡版本。STM32F103C8 的官方 Flash 容量是 64 KB,不应把网上关于更多可用容量的经验当成设计保证。

STM32 示例:所列主微控制器的规格
开发板/芯片CPU/最高时钟Flash/SRAM芯片的 USB板上逻辑电平
Blue Pill · STM32F103C8T6Cortex-M3 · 72 MHz64 KB / 20 KBUSB FS3.3 V
WeAct · STM32F401CEU6Cortex-M4 · 84 MHz512 KB / 96 KBUSB OTG FS3.3 V
WeAct · STM32F411CEU6Cortex-M4 · 100 MHz512 KB / 128 KBUSB OTG FS3.3 V
NUCLEO-F446RE · STM32F446RECortex-M4 · 180 MHz512 KB / 128 KBUSB OTG*3.3 V
NUCLEO-G474RE · STM32G474RECortex-M4 · 170 MHz512 KB / 128 KBUSB FS*3.3 V
NUCLEO-H743ZI · STM32H743ZICortex-M7 · ≤480 MHz2 MB / ≤1 MBUSB OTG*3.3 V

Nucleo 的目标芯片支持 USB,不代表板上的每个 USB 插座都连接到它。ST-LINK 用于下载和调试;需要核对原理图、用户 USB 接口以及外部电路要求。F4 适合自定义控制固件,G4 适合较复杂的模拟采集和定时任务,H7 适合更大的数据与显示项目。真正可用的引脚数量取决于 PCB、芯片封装与复用分配,不能直接照搬整个系列的最大值。

FreeJoy需要其文档指定的 STM32F103 平台。F411 Black Pill 不是可直接替换的型号。某些 STM32 数字输入在特定条件下耐受 5 V,但这不等于模拟输入或整块板都可以接入 5 V。先检查具体引脚的条件,再确定接线。

ESP32 各系列的关键差别

这里讨论的 ESP32 系列均需要合适的 3.3 V 信号。Flash 容量、PSRAM 和实际引出的 GPIO 取决于模块型号。购买时应使用完整模块名称,而不只是“ESP32”。

ESP32 系列:芯片能力,不代表所有开发板
系列CPU/最高时钟SRAMUSB无线连接
ESP32 (original)Xtensa LX6 · ≤240 MHz520 KB无 USB 设备控制器Wi-Fi + Bluetooth Classic / BLE
ESP32-S2Xtensa LX7 · ≤240 MHz320 KBUSB OTG;HID 需要合适固件Wi-Fi
ESP32-S32× Xtensa LX7 · ≤240 MHz512 KBUSB OTG;HID 需要合适固件Wi-Fi + BLE
ESP32-C3RISC-V · ≤160 MHz400 KB固定 USB Serial/JTAG,不支持任意 HIDWi-Fi + BLE
ESP32-C6RISC-V · ≤160 MHz512 KB固定 USB Serial/JTAG,不支持任意 HIDWi-Fi 6 + BLE + 802.15.4

经典 ESP32 通过 USB 转串口芯片连接电脑,并不会因此成为原生 USB 摇杆。S2/S3 有可配置的 USB OTG,但 HID 仍需要合适固件、开发板支持与正确插座。C3/C6 的 Serial/JTAG 是固定 USB 功能,不能任意改成 HID 设备。S3 同时提供较多内存、USB 和无线能力,适合兼顾显示与数据处理的模块。

网络座舱模块还应定义启动流程、Wi-Fi 中断和过期数据的处理。无线通信不能替代稳定供电。部分 GPIO 用于启动配置或 Flash;经典 ESP32 的 GPIO34–39 只能输入,且没有内部上拉。根据手中开发板的引脚图分配,不要把另一型号的接线直接复制过来。若模块有多个 USB 插座,还要分清下载桥接接口与芯片的原生 USB。

OLED:什么时候 UNO 已经足够?

128×64 单色画面的完整帧缓冲需要 128 × 64 ÷ 8 = 1024 字节,已经占去 UNO R3 的 2 KB SRAM 的一半。变量、串口接收缓冲、库和栈还需要空间。面向文字或分页绘制的库可以减少缓冲区占用。

四个 LED 加几个变化较慢的数值,完全可能适合 UNO R3。AI、LED 与 OLED 入门指南就是一个边界明确的例子。多个屏幕、大字体、菜单、数据处理或网络功能,则会让 ESP32-S3/Nano ESP32 更有吸引力。只有一个 OLED,并不能成为必须换板的理由。

更高主频不会自动加快 I²C。以 400 kHz 发送 1024 字节,仅数据与应答位理论上就约需 23 ms,此外还有协议和软件开销。多个屏幕会共享这段总线时间。应在显示器指南中进一步检查刷新率、地址冲突和 SPI 方案。先确定“需要多快变化”,再决定是否值得增加硬件。

分别验证 USB、摇杆与模拟器接入

USB-C 首先描述的是插座。COM 端口是串行数据通道;HID 摇杆通过合适的报告描述符向操作系统提供按钮与轴。键盘 HID 和摇杆 HID 不是同一种功能,键盘库可用并不证明摇杆库兼容。

原版 UNO R3 使用独立的 ATmega16U2 作为 USB 桥接。ATmega328P 上的普通程序不会改变这个桥接芯片的 USB 类别。重新编写桥接固件是另一项开发任务,对初学者而言,选用文档明确支持的 HID 板通常更直观。原生 USB 输入也不会自动收到模拟器遥测。USB 输入指南说明了从设备识别到模拟器功能绑定的完整路径。

UNO R4 WiFi 默认通过 ESP32-S3 进行 USB 桥接。板上电路可以把 USB 切换到 RA4M1;HID 支持取决于合适的开发板软件包与库。因此 Minima 和 WiFi 的 USB 路径并不相同。

认真计算引脚、模拟轴与供电

旋转编码器通常需要两根信号线,带按压时再增加一根。矩阵能节约引脚,但需要匹配固件,并处理不希望出现的多键误识别。I/O 扩展器增加连接数,也会增加总线负载并影响扫描时间。因此应统计可以同时使用的功能,而不是焊盘总数。

ADC 位数更多不代表模拟轴一定更稳定。传感器、参考电压、布线、采样和滤波共同决定结果;过强平滑会延迟响应。先观察静止数值与缓慢移动,再比较分辨率。LED 需要限流,大负载需要合适驱动级。GPIO 不能直接当作背光或电机的电源。请阅读供电规划,同时检查 I²C 上拉电阻连接的电压。板上有 5 V 电源引脚不代表所有信号脚都耐受 5 V。

具体引脚预算:八个独立按钮、三个带按压的编码器和一个 I²C OLED,不用矩阵时需要 8 + 3 × 3 + 2 = 19 根信号线,另外还有电源与地。把它们逐一分配到WeAct 引脚图或ESP32-S3-DevKitC-1 v1.1 引脚图中。这个 DevKit 有 44 个排针位置,其中标出 36 个 GPIO,但不是 36 个毫无限制的可用接口。使用 USB 时 GPIO19/20 已分配给 USB,GPIO38 用于 RGB LED;部分采用 Octal 存储器的模块内部占用 GPIO35–37。还需考虑启动引脚与调试。Blue Pill 同样必须使用对应板卡版本及固件的引脚规划。

用三个项目作出具体决定

  1. 第一个学习面板:四个 LED、小 OLED、USB 串口与示例数据。已有 UNO R3 是合理起点;等内存或引脚真正不足时再扩展。
  2. 带模拟轴的按键盒:选择 FreeJoy 文档支持的平台,或具有合适自定义 HID 固件的板。先在操作系统中验证按钮、编码器、校准与分配。
  3. 联网仪表:多个数值、菜单和图形余量。比较 ESP32-S3/Nano ESP32 与合适的 STM32、GIGA 方案,购买前先确定数据源和显示总线。

第一次实验只需证明一个按钮、一根轴或一个显示值。记录板卡版本、固件、库版本、引脚,以及重启或数据中断后的预期行为。编译成功不能证明接线正确,也不能证明模拟器响应正确。扩展前保存已工作的版本,每次只增加一项功能,故障出现时才容易判断是哪一步引入的。

带着清楚的资料向社区求助

Cockpit Suite 将受支持的模拟器与设备放在共同的软件环境中。具体可用功能应查阅兼容性说明。预先准备好的组合可以简化配置;自制开发板仍需要合适且有文档的数据通道。

你不必独自完成所有选择。可以在论坛提供目标、板卡照片、引脚表和最后一个成功实验。我们也帮助讨论 3D 打印外壳、龙门 CNC 铣削,以及使用 LightBurn 的激光加工。我们争取在条件允许时当天答复,较晚提出的问题可能需要更久。Cockpit Suite 是已有可用软件的年轻项目;欧洲以及其他地区社区的实际经验,能帮助我们一起把方案做得更清楚、更实用。

制造商文档与技术依据

资料核查日期:2026 年 10 月 18 日。数值对应指定芯片或开发板,实际空闲内存与可用引脚可能更少。选型建议属于编辑分析,并非对这些板卡的实物测量。

规划下一步