TURN ANY PLUSHIE INTO A TALKING AI FRIEND WITH A 10 DOLLARS CHIP INSIDE
An ESP32-S3 board running OpenAI's Realtime API turns any stuffed toy into a voice AI that responds in real time — the maker open-sourced his entire startup stack.
by akdeb
AIHome
- difficulty
- ●●●●○
- time
- a weekend-plus
- license
- MIT
- repo
- repo ACTIVE1,860 stars
●●●●○ · a weekend-plus · MIT · 1,860 stars · repo ACTIVE
WHAT YOU’LL NEED
- Electronic parts — full list with part numbers in the repo BOM
- Dev board / microcontroller — runs the project firmware
Partner
COMPAREE VERDICT
ElatoAI is a complete voice AI toy platform that streams OpenAI's Realtime API through a 10 dollars ESP32-S3 board, giving any plushie or toy real-time conversational intelligence with 100+ voices and custom characters. The maker open-sourced the entire stack — firmware, mobile app, and backend — after running it as a product. Everything you need to replicate the electronics is here: the BOM names exact components, the firmware flashes via PlatformIO, and the app builds in React Native. What is missing is the toy part: there is no enclosure STL, no guide to cutting a seam in a plushie and hiding the board inside, no battery holder design. You are expected to solve that. The real friction is not the hardware — it is the server and API setup. You need an OpenAI API key, you need to deploy the Node.js relay server somewhere (the README suggests Render or Heroku), and every conversation costs you per-token. The author does not quote a per-hour figure, but Realtime API pricing is not negligible; this is not a set-and-forget project. If you have built ESP32 audio projects before and you are comfortable managing a live API backend, this is a remarkably complete handoff of a working product. If you have never deployed a websocket relay or dealt with Expo app signing, expect an extra weekend just getting the infrastructure running. The one thing most likely to go wrong is underestimating the ongoing cost: this is not open-hardware in the traditional sense, it is open-source firmware for a platform that requires a paid API to function.
IN THE REPO
NOT IN THE REPO
- —MIT license, full commercial use allowed.
- —Complete firmware for ESP32-S3, React Native mobile app source, and Node.js server code all present.
- —Hardware BOM specified: ESP32-S3-WROOM-1 module with 8MB PSRAM, INMP441 microphone, MAX98357A amplifier, speaker.
- —Setup requires an OpenAI API account and ongoing per-use costs — this is not a one-time purchase.
- —Documentation covers board setup, server deployment, app build, but assumes you are comfortable with PlatformIO, npm, and Expo Go.
- —No 3D-printable enclosure or plushie integration guide — you design that part yourself.
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Partner · KickstarterBluHub reads and burns Blu-ray/DVD/CD, adds USB-C, USB-A, SD/TF and 10 Gbps data — plug and play, grand-piano finish.
Videos
Build Conversational AI Voice Clones with ElevenLabs on ESP32 Arduino | Elato
Gallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the full README (covers all three components: firmware, server, app)
- 2.Order the ESP32-S3 module and audio components(exact part numbers listed; PSRAM is required)
- 3.Set up OpenAI API account and budget alerts(Realtime API pricing is per-token; set a spending cap before you test)
- 4.Deploy the relay server (Node.js app; README suggests Render or Heroku)
- 5.Flash firmware via PlatformIO(configure WiFi and server URL in the code before you flash)
- 6.Build the React Native app(use Expo Go for testing, then follow standard signing for production)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
Partner · KickstarterCORE POWER BANK S: 0.2" thin, 2.8 oz, 5000 mAh with 22.5W fast charging. Semi-solid battery, carbon fiber, IPX7 waterproof.
KNOWN ISSUES
- OpenAI Realtime API costs per token, and there is no per-conversation estimate in the docs — set a spending cap on your API key before you test or you will be surprised.
- The ESP32-S3 module must have 8MB PSRAM — the non-PSRAM variant will not work, and the model number alone does not always tell you which you are buying.
- The firmware embeds your WiFi credentials and server URL at compile time — if you flash first and configure later, you will reflash.
- There is no enclosure design or plushie integration guide — you are expected to figure out how to hide the board, speaker, and battery inside a toy without a hot-glue disaster.
- The relay server is a single point of failure — if it goes down or rate-limits, every toy stops working; plan for monitoring and restarts.
- Battery size and runtime are not specified — you pick the capacity, but more capacity means more weight and bulk inside the toy.
Does this work offline?
No. Every conversation streams through the relay server to OpenAI's Realtime API. No internet, no conversation.
Can I use a different LLM?
Not without rewriting the server and firmware. The websocket protocol and audio format are built for OpenAI's Realtime API; switching to another provider means implementing a new relay layer.
How much does each conversation cost?
The README does not give a per-conversation figure. OpenAI charges per audio token, and Realtime API pricing is higher than text. Set a spending cap and monitor usage for your first few days.
What battery should I use?
The BOM says 'battery and holder' but does not specify capacity or chemistry. A 1000mAh LiPo is a safe starting guess for a few hours of runtime, but measure it yourself.
Can I run multiple toys from one server?
Yes — the relay server is designed to handle multiple concurrent websocket connections, one per toy. Each toy gets its own OpenAI session.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
The entire stack is MIT-licensed and the firmware names every component — but there is no enclosure STL and no runtime-per-mAh estimate. What would you hide yours inside first?
akdeb
The creator built ElatoAI as a startup product, then open-sourced the entire stack — firmware, app, and server — after deciding to release it. The project reached the front page of Hacker News as a Show HN.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.

CompareeTEAM27d agoedited
Practical notes from our verification: the repository is active and well-documented, with separate READMEs for firmware, server, and app. The hardware BOM is explicit, but the battery choice is left to you and there is no 3D model for an enclosure. The biggest practical gap is cost transparency — the README does not estimate API spend per conversation, and Realtime API pricing is high enough that you need to monitor it. If you have deployed websocket servers before, this is a remarkably complete handoff. If you have not, budget an extra weekend for the server setup and at least one evening debugging why the app cannot reach your relay.