小智支持哪些芯片:ESP32-S3 之外还有五个,怎么选
- 知道小智上游当前支持的全部芯片平台有哪些
- 分清「平台被支持」和「你手上这块板有现成适配」的区别
- 在手头已有板子和新买板子两种情况下做出合理选择
- 知道选型时该看的不是芯片名字,而是 boards 目录
本文讲解原理与流程、引用关键片段并注明出处,版权归原作者,遵循其开源协议;一切以上游仓库最新版本为准。
"做小智是不是必须买 ESP32-S3?"
这是新手最常问的问题之一,答案是不必须。这个误解流传很广,源头是早期教程几乎清一色用 S3 演示,久而久之就被当成了硬性要求。
上游支持的是六个平台
按上游 README 的原文,项目支持这些芯片平台:
ESP32、ESP32-C3、ESP32-C5、ESP32-C6、ESP32-S3、ESP32-P4。
六个,不是一个。这个清单本身就说明了不少事:
- ESP32(初代)在列,说明老板子不一定要淘汰;
- C 系列有四个(C3/C5/C6),这条线通常更偏成本和低功耗;
- P4 在列,说明项目在往性能更高的方向铺。
芯片支持列表会随上游更新变化,以上游仓库 README 当前内容为准。代码版权归原作者 78 及社区贡献者,遵循 MIT 协议。本文写于 2026 年 7 月底。各芯片的具体规格差异请查乐鑫官方文档,本文不复述参数表。
一个必须先想清楚的区别 ⭐
"这个芯片平台被支持" ≠ "你手上这块板子能直接用"。
这是整篇最重要的一句话,也是最多人栽跟头的地方。
前者说的是芯片架构层面——小智的代码能在这个芯片上编译、运行。后者说的是具体板子层面——main/boards/ 目录下有没有一个现成的目录,描述了你这块板的麦克风接在哪、喇叭接在哪、屏幕什么型号什么分辨率。
同一颗 ESP32-S3,A 厂和 B 厂做出来的两块板子,外设接法可以完全不同。芯片一样,板级适配并不通用。
所以选板子时真正该看的不是"这颗芯片支不支持",而是:main/boards/ 目录下有没有我这块板。
- 有 → 选中板型直接编译,最省事的路;
- 没有 → 你得自己加板型,改 Kconfig、CMakeLists、写
config.h,见小智自定义开发板怎么加。
这件事的规模感可以参考上游迁移状态文档里的数字:138 个开发板目录、171 个构建变体。一百多个板目录听着很多,但市面上的 ESP32 板子远不止这个数——所以"没有现成适配"是很常见的情况,不是意外。
三种人,三种选法
第一种:你手上已经有板子了。
先去 boards/ 目录找有没有它。找得到就直接用,别再买新的。找不到,但它是上面六个平台之一,那你面临一个选择:花时间自己加板型,还是花钱买一块有现成适配的。
我的建议是看你现在处在哪个阶段:如果你是第一次做小智、还没跑通过任何一版,别拿自定义板型开局——你会同时面对"流程不熟"和"板级配置出错"两个问题,且分不清是哪个导致的。先用一块有现成适配的板子把整条链路跑通,建立起"正常应该是什么样"的基准,再回头折腾自己的板子,会顺利得多。
第二种:你准备买板子,图省事。
选社区案例最多的那类——现在仍然是 ESP32-S3。理由不是它性能最强,而是:boards/ 目录里 S3 的适配最多、网上踩坑记录最多、出问题最容易搜到答案。对新手来说,"遇到问题能搜到"比参数表上多几百 KB 内存有用得多。
而且 S3 的资源相对宽裕。小智要跑离线唤醒词识别、音频编解码,还可能带屏幕,内存吃紧时的表现是各种诡异问题——新手很难判断是配置错了还是资源不够。
第三种:你有明确的产品诉求。
那就不是"选哪个芯片"的问题了,而是成本、功耗、外设、供货、认证一起权衡。这时候芯片选型是被产品需求倒推出来的,不该反过来。这方面见小智怎么选硬件与配 BOM和把小智做成能拿出手的产品。
小智为什么对资源比较敏感
理解这一点,选型时才不会只盯着价格。
小智不是一个"读传感器、发个 MQTT"的轻量固件,它同时扛着几件吃资源的事:
离线唤醒词识别。 这部分跑在设备本地,靠的是预先训练好的唤醒词模型——模型要占空间,识别过程要占算力和内存。这是它和普通联网设备最大的区别:没联网的时候它也得一直在听。
音频编解码。 采集到的语音要编码后才送上云,收到的回复要解码后才能播。这条链路是实时的,缓冲区、采样率、编解码本身都要吃内存,而且不能卡——卡一下用户就听到断音。
显示。 如果你的板子带屏,还要加上显示缓冲和字体资源。分辨率越高吃得越多,这也是为什么板级配置里要专门设置内置字体。
网络。 WiFi 协议栈本身也占一块。
这几样叠在一起,就是为什么资源紧张的板子上会出现各种"看起来像 bug、其实是内存不够"的现象:随机重启、语音断续、屏幕花、连接不稳。而这些症状最坑的地方在于,它们不会告诉你"内存不足",你会以为是代码写错了、是配置不对,查上半天。
所以对新手,选资源宽裕一些的板子不是浪费,是把一整类难以诊断的问题提前排除掉。等你把流程跑熟了、知道每一环正常该是什么样了,再去挑战紧凑配置,那时候你才有能力分辨"这是资源问题还是逻辑问题"。
换芯片平台时,别忘了这些是要重来的
如果你打算从一个平台换到另一个(比如手上有 C3 想换 S3),注意这几件事不是自动的:
目标芯片要重设。 换平台后必须重新指定目标芯片,且残留的 build 目录和 sdkconfig 要清掉——它们记着上一个芯片的配置,不清会产生一堆看不懂的错。
板型要重选。 前面说过,Kconfig 里的板型声明常带 depends on IDF_TARGET_XXX 限定。换了目标芯片,原来能看到的板型选项可能就消失了——不是出 bug,是条件不满足被隐藏了。第一次遇到会很懵。
引脚定义大概率要改。 不同芯片可用引脚不同,strapping 引脚、被 flash 占用的引脚各不一样。照搬另一颗芯片的引脚定义,轻则外设不工作,重则启动不了。
小结
一句话:别问"小智要用什么芯片",去问"boards/ 里有没有我这块板"。
前一个问题的答案是六选一,看着有得选,实际帮不上你;后一个问题的答案直接决定你接下来是十分钟就能开始编译,还是要先花半天加板型。问对问题,比记住参数表有用。
相关:小智是什么、为什么它是 AI 硬件最佳入门标杆讲这个项目的全貌,小智自定义开发板怎么加讲没有现成适配时怎么办,小智固件现在要 ESP-IDF 6.0 了讲版本要求。