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

FULL CAD BOM FIRMWARE DOCS

AIHome

difficulty
●●●●
time
a weekend-plus
license
MIT
repo
repo ACTIVE1,860 stars

WHAT YOU’LL NEED

  • Electronic partsfull list with part numbers in the repo BOM
  • Dev board / microcontrollerruns the project firmware

Partner

Run your scrapers in the cloudThis build needs data collection that runs 24/7. Apify's free plan includes $5 in credits every month — no card needed.Try Apify free
1

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.

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?

Printnothing required
BuyESP32-S3-WROOM-1 module (8MB PSRAM), INMP441 microphone, MAX98357A amplifier, 3W speaker, battery and holder (size not specified), toy or plushie of your choice
ToolsPlatformIO for firmware flash, Node.js for server, Expo Go for app build, soldering iron, OpenAI API account (paid), cloud server for websocket relay
Skillsembedded firmware (ESP-IDF), React Native, Node.js backend deployment, API key management, basic soldering — if you have not deployed a websocket server before, add a weekend
Timea weekend-plus — firmware flash is an hour, app build is an hour, server deployment and API wiring is a weekend if it is your first time, toy integration is however long it takes you to make it look good
Cost$$ — hardware is $15-25, but ongoing OpenAI API costs dominate; every conversation costs per-token, budget ongoing spend
Safetylithium battery if you use one — observe usual precautions around charging and never leave a coin cell where a child can reach it; audio playback volume is set in firmware, keep it reasonable if the toy is for a child

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Blu-ray drive, 10 Gbps hub and card reader in one boxPartner · Kickstarter
Blu-ray drive, 10 Gbps hub and card reader in one box

BluHub reads and burns Blu-ray/DVD/CD, adds USB-C, USB-A, SD/TF and 10 Gbps data — plug and play, grand-piano finish.

See the hub

Videos

Build Conversational AI Voice Clones with ElevenLabs on ESP32 Arduino | Elato

Gallery

https://opengraph.githubassets.com/1cfb7d67d625f39298555f388d27984be0a8e5a299555f68021c64a6453a2826/akdeb/ElatoAI
https://img.youtube.com/vi/o1eIAwVll5I/maxresdefault.jpg
https://img.youtube.com/vi/_zUBue3pfVI/maxresdefault.jpg
https://img.youtube.com/vi/7LKTIuEW-hg/maxresdefault.jpg

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Read the full README (covers all three components: firmware, server, app)
  2. 2.Order the ESP32-S3 module and audio components(exact part numbers listed; PSRAM is required)
  3. 3.Set up OpenAI API account and budget alerts(Realtime API pricing is per-token; set a spending cap before you test)
  4. 4.Deploy the relay server (Node.js app; README suggests Render or Heroku)
  5. 5.Flash firmware via PlatformIO(configure WiFi and server URL in the code before you flash)
  6. 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.

Ultra-thin power bank that fits anywherePartner · Kickstarter
Ultra-thin power bank that fits anywhere

CORE POWER BANK S: 0.2" thin, 2.8 oz, 5000 mAh with 22.5W fast charging. Semi-solid battery, carbon fiber, IPX7 waterproof.

Learn more

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?

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.

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.

GitHub

Star the project on GitHub

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.