作者开源了基于 ESP32 和 OpenAI Realtime API 的 AI 玩具项目,展示 AI 在微控制器上的创意应用。
2026 年 4 月 17 日:使用 Cloudflare Voice Agents 和 Durable Objects 创建全球设备/玩具网络。Cloudflare 的 Workers AI 原生提供 Deepgram STT/TTS,因此你只需提供一个 LLM API Key,即可构建可扩展、低延迟的语音 AI pipeline。
2026 年 4 月 15 日:使用 Pipecat 和 FastAPI server,即可启动超过 100 种 STT、LLM、TTS 语音 pipeline 系统!
2026 年 3 月 14 日:Elato 在圆周率日正式发布了 Local AI Toys。🎉🎉 你的 ESP32 设备现在可以借助 MLX,支持本地 AI 模型,以及使用 Qwen、Mistral 等前沿 Local LLM 和 TTS 模型生成语音。欢迎查看。
由 100 多种 Voice AI 模型驱动的 ESP32 Realtime AI Speech,通过 Secure WebSockets 和 Edge Functions,在全球范围内实现超过 20 分钟不中断的连续对话。
使用 PlatformIO 构建
🤖🤖🤖 部署多台设备
视频:OpenAI Demo | Gemini Demo | Eleven Labs Demo | Hume AI EVI-4 Demo
xAI Grok Voice Agent API
Eleven Labs Conversational AI Agents
更多 speech-to-speech 模型即将推出!
LLM——80 多种模型,包括 OpenAI、Gemini、xAI 等。
TTS——10 多种模型,包括 Deepgram、MeloTTS 等。
STT——5 种模型,包括 Whisper、Deepgram 等。
你可以从上面列出的 100 多种模型中自由选择,并使用 FastAPI server 创建自己的语音 pipeline。更多详情请查看 FastAPI server。
👷♀️ DIY 硬件设计
通过 ElatoAI webapp,用手机控制你的 ESP32 AI 设备。
Realtime Speech-to-Speech:由 OpenAI Realtime API、Gemini Live API、xAI Grok Voice Agent API、Eleven Labs Conversational AI Agents 和 Hume AI EVI4 驱动,实现即时语音转换。
创建自定义 AI Agent:创建拥有不同个性和声音的自定义 Agent。
可定制声音:从多种声音和个性中进行选择。
Secure WebSockets:可靠且经过加密的 WebSocket 通信。
Server VAD Turn Detection:智能处理对话流程,让交互更加流畅。
Opus 音频压缩:以极低带宽传输高质量音频。
全球 Edge 性能:低延迟的 Deno Edge Functions,确保全球对话顺畅无缝。
ESP32 Arduino Framework:经过优化且易于使用的硬件集成方案。
对话历史:查看你的对话历史。
设备管理与身份验证:注册并管理你的设备。
用户身份验证:安全的用户身份验证与授权。
通过 WebRTC 和 WebSockets 对话:在 NextJS webapp 中通过 WebRTC 与 AI 对话,在 ESP32 上则通过 WebSockets 对话。
音量控制:通过 NextJS webapp 控制 ESP32 扬声器的音量。
实时转录:对话的实时转录内容会存储在 Supabase DB 中。
OTA 更新:通过 Over the Air Updates 更新 ESP32 firmware。
通过 captive portal 管理 Wi-Fi:直接从 ESP32 设备连接到你的 Wi-Fi 网络或 Hotspot。
恢复出厂设置:通过 NextJS webapp 将 ESP32 设备恢复出厂设置。
按钮与触摸支持:使用按钮或触摸传感器控制 ESP32 设备。
无需 PSRAM:ESP32 设备运行 speech-to-speech AI 时不需要 PSRAM。
Web client 的 OAuth:通过 OAuth,让用户管理自己的 AI 角色和设备。
Pitch Factor:通过 NextJS webapp 控制 AI 声音的音高,创造卡通风格的声音。
Tool calling:从 ESP32 设备调用 Edge Functions 中的工具和函数,构建完整的 Voice AI Agent。
轻触唤醒:设备休眠时,轻触触摸板即可将其唤醒。
部署到 Cloudflare:使用 Cloudflare Voice Agents 和 Durable Objects,连接任意 LLM、TTS、STT 服务。
ElatoAI 由三个主要组件构成:
Frontend Client(托管在 Vercel 上的 Next.js)——用于创建 AI Agent、与其对话,并将它“发送”到你的 ESP32 设备。
Edge Server Functions(Deno Edge 或 Cloudflare Workers)——用于处理来自 ESP32 设备的 WebSocket 连接,以及对 LLM Provider API 的调用。
ESP32 IoT Client(PlatformIO/Arduino)——用于接收 Edge Server Functions 建立的 WebSocket 连接,并通过 Deno edge server 或 Cloudflare Durable Objects,将音频发送给 LLM Provider。
flowchart TD
subgraph UserLayer
UserInput[User Speech Input]
UserOutput[AI Generated Speech Output]
end
UserInput --> ESP32
ESP32[ESP32 Device] -->|WebSocket| Edge[Deno Edge / Cloudflare Workers]
Edge -->|OpenAI API| OpenAI[OpenAI Realtime API]
Edge -->|Gemini API| Gemini[Gemini Live API]
Edge -->|xAI API| xAI[xAI Grok Voice Agent API]
Edge -->|ElevenLabs API| ElevenLabs[ElevenLabs AI Agents]
Edge -->|Hume API| Hume[Hume AI EVI4]
OpenAI --> Edge
Gemini --> Edge
xAI --> Edge
ElevenLabs --> Edge
Hume --> Edge
Edge -->|WebSocket| ESP32
ESP32 --> UserOutput
graph TD
repo[ElatoAI]
repo --> frontend[Frontend Vercel NextJS]
repo --> server[Deno Edge Function / Cloudflare Workers]
repo --> esp32[ESP32 Arduino Client]
server --> supabase[Supabase DB]
frontend --> supabase
esp32 --> websockets[Secure WebSockets]
esp32 --> opus[Opus Codec]
esp32 --> audio_tools[arduino-audio-tools]
esp32 --> libopus[arduino-libopus]
esp32 --> ESPAsyncWebServer[ESPAsyncWebServer]
延迟:全球往返延迟低于 2~3 秒
音频质量:Opus codec,12kbps(高清晰度),24kHz 采样率
不间断对话:全球范围内最多可连续对话 20 分钟
全球可用性:针对 edge server / monolith server 进行优化
使用 Secure WebSockets(WSS)进行加密数据传输
可选:使用 256-bit AES 加密 API Key(在 server 端解密)
使用 Supabase DB 进行安全的身份验证
所有数据表均使用 Postgres RLS
连接 edge server 时,cold start 时间为 2~3 秒
已完成最长 17 分钟不间断对话测试
超过 wall clock time 后,edge server 会停止运行
ESP32 上暂不支持语音打断检测
我们重视你的每一份贡献!下面是一些可以着手实现的想法:
ESP32 上的语音打断功能(可与 OpenAI 配合使用)
增加 Arduino IDE 支持
增加用于情绪检测的 Hume API client
在 Deno Edge 上增加 MCP 支持
接入 Eleven Labs API 生成语音
增加 Azure OpenAI 支持(很容易上手)——正在审核中
增加 Amazon Nova 支持
增加 Cloudflare Workers 支持
本项目采用 MIT License,详情请参阅 LICENSE 文件。
欢迎了解 ElatoAI Products 提供的硬件产品。如果你觉得这个项目有趣或实用,请在 GitHub 上为项目点亮 Star,以此支持我们。⭐