社区来稿 | 当硬件也可以 Vibe Coding,我用 M5Stack Cardputer 做了个会说话的小宠物
作者:Plutoless,公众号:普列斯的 AI 工位
两年前你要告诉我,我会花周末两小时给一块 30 美元的小掌机写 C 程序,还顺手给它捏了只能说话、能左右横跳的小宠物——我多半会摇头。
但这件事,真的发生了。而且全程,我几乎没写一行 C 代码。
主角登场
这次的主角是 M5Stack Cardputer ADV——一块巴掌大、带键盘、带屏幕、基于 ESP32-S3 的“卡片电脑”。我的目标很简单:做一个能对话的语音小宠物。
技术选型:站在巨人的肩膀上
硬件选择 Cardputer 是因为颜值,技术栈的选择则更加实用主义——我用了 Agora 的对话式 AI SDK。它提供免费的对话式 AI 额度,而且有现成的 quickstart 可以一键跑起来。对于我这种嵌入式经验几乎为零的人来说,能快速验证想法比什么都重要。
工具也很简单:PlatformIO + AI 编程助手。后来回看,这套组合是整个项目能在一个周末跑通的关键。
下面是这趟旅程里的三个 Aha Moment。
Aha #1|开箱,然后被 30 美元的东西惊到了
拿到设备后,我先用 M5 Burner 烧录了几个官方 demo。说实话,效果非常惊艳——很难想象 30 美刀的东西能做到这个程度,而且上手极其简单。一开始不太确定怎么进入下载模式,直接问 AI 就搞定了。
回想起来,我压根没花时间去找说明书——AI 已经彻底成为我获取信息的第一入口了。
Aha #2|把任务扔给 AI,去喝咖啡,回来代码写完了
跑完 demo 后,我配好了 PlatformIO 开发环境,然后和往常做软件项目一样,先和 GPT 聊了一下整体方案。调好 PRD 后用 goal-forge 形成目标,再完善了一些 open question 做二次 PRD 校验,然后扔给 Codex 用 /goal 开跑。
两个小时后回来,代码已经写完了。
部署、启动,虽然有些小问题,但紧接着就直接听到声音了——它能对话了!那一刻的感觉很奇妙:我几乎没写一行 C 代码,一个能实时语音交互的嵌入式应用就跑起来了。
Aha #3|给 AI 捏个能动的新形象
对话功能完成后,我又快速做了一下屏幕编程,让 AI 写了一个小宠物的动画。它说话的时候会动来动去,你说话的时候会静静地听你。乐趣 max。
这种"硬件被赋予生命感"的瞬间,是纯软件项目很难给到你的。屏幕上那只小家伙跟着你的声音做反应,那份成就感是实实在在的。
不那么顺的部分:性能调优与模型代差
当然,不是一切都顺利。
Cardputer 的成本控制做得很好,代价是没有 PSRAM,堆内存只有 300KB 左右。我要让它同时处理实时音频、麦克风、扬声器、屏幕渲染——后期花时间最多的,其实是性能调优,动不动就崩。
说是调优,本质上就是把日志一段段喂给 AI,让它给方案。
有意思的是中间换模型的体感:我一开始用 GPT-5.4,在某些问题上被折腾得有点红温;后来换成 GPT-5.5,3 个 prompt 就把之前卡了两小时的问题扫清了。模型代差,真的存在。
与嵌入式开发者的对话
之前其实和很多做嵌入式的开发者聊过,普遍得到的信息是“AI 在硬件上还不太行”。这次我整体是比较改观的。虽然后来拿着东西和他们交流,从他们的视角看,AI 写的很多代码其实都过于底层了——比如音频编解码器 AI 都是自己写的,但他们会认为其实有类似 ESP-ADF 的库可以用,实现也会更优雅。这些就属于 know-how 了。
(当然后面发现 Cardputer 的性能也跑不了 ADF……)
对我来说,这些其实没有那么重要。我的目标不是写出最优雅的嵌入式代码,而是快速验证一个想法。在这个维度上,AI 辅助开发已经完全够用了。这次和做嵌入式开发的朋友交流,他也对 Vibe Coding 能做到这种程度有些震惊。
硬件 Vibe 的时代,好像真的来了
这是一次非常好的体验。在 PC 上 vibe 各种 web 应用,已经很普遍了。而这次的体验告诉我:硬件上的 vibe,也完全没问题。
搁两年前,我很难想象自己会花时间给硬件写 C 程序。但这次全程 AI 辅助,哪怕我对嵌入式几乎零经验,最终的效果也出乎意料地好。
门槛被实实在在地拉平了——这件事,值得更多人试一次。
附录:如果你也想让自己的 M5 能说话,这将是最短路径
仓库在这:
github.com/AgoraIO-Community/agent-with-cardputer-adv
最省力的方式——先装上 Agora 的 AI skill:
npx skills add github:AgoraIO/skills然后在你的 AI 编程工具(Codex / Claude Code / Cursor / Windsurf 都行)里打开仓库,把这段丢给它:
Use the Agora skill from https://github.com/AgoraIO/skills.
Read docs/ai-quickstart.md and complete the setup for this Cardputer voice agent project.
Set up agent-quickstart-python, configure the local firmware config,
build with PlatformIO, and explain the upload and monitor steps.
Keep secrets only in ignored local config files and do not print them.剩下的让 AI 搞定:本地服务器、Agora 凭据、固件编译,一条龙。
完事之后两行命令:
pio run -t upload
pio device monitor按 k 键,开始聊天。
一个小坑:Cardputer 和 PC 要在同一个 Wi-Fi,服务器地址填 PC 的局域网 IP(比如
http://192.168.0.101:8000),别写 localhost,Cardputer 根本找不到。
顺利的话,半天之内,你桌上也能多一只会说话的小东西。
至于给它捏什么形象,随你发挥。我的下一版打算让它会打篮球。

