A USED 20 DOLLARS GOOGLE SPEAKER BECOMES YOUR PRIVATE AI ASSISTANT WITH ONE SWAPPED BOARD
A replacement PCB lets you run your own LLM and voice models on a second-hand Google speaker—no cloud, no subscription, full Home Assistant integration.
by Justin Alvey
AIHome
- difficulty
- ●●●○○
- time
- a weekend
- license
- MIT
- repo
- repo ACTIVE1,696 stars
●●●○○ · a weekend · MIT · 1,696 stars · repo ACTIVE
WHAT YOU’LL NEED
- 3D printer + filament — printable parts — files are in the repo
- Electronic parts — full list with part numbers in the repo BOM
- Dev board / microcontroller — runs the project firmware
Partner
COMPAREE VERDICT
This is for someone who already runs Home Assistant and wants a voice assistant that does not send every question to a cloud service. The PCB drops into a second-hand Nest Mini in place of Google's original board, so you keep the good microphone array and speaker but swap the brain for an ESP32 running your own LLM via OpenAI function calling. The result controls lights, reads messages, takes notes—whatever you script. The catch is that nothing here is a kit: you order bare PCBs, source and solder the ESP32 and supporting components yourself, then connect the original speaker and microphone cables to the new board. There is no step-by-step disassembly guide, so you will spend time figuring out where the clips are and which ribbon cable goes where. If you have never opened a Nest Mini before, budget an extra hour for the first one. The firmware setup assumes you already have Home Assistant running and know how to add YAML config and create an OpenAI API key. The single biggest trap is ordering the board, finding a cheap used Nest Mini, then discovering you do not have the soldering skills or patience to populate the PCB—check the KiCad files first and make sure you are comfortable with surface-mount work. For someone who builds their own hardware and already has the home automation infrastructure, this is a clean way to reclaim a discontinued speaker. For everyone else, it is a weekend project that will test your troubleshooting skills before it works.
IN THE REPO
NOT IN THE REPO
- —PCB design files (KiCad) and STL for a rear cover are in the repo.
- —Firmware is provided, but you supply your own OpenAI API key and Home Assistant YAML—setup is not one-click.
- —No assembly guide beyond the README; you disassemble the Nest Mini, swap the board, reconnect the speaker and microphone cables, then flash firmware over USB-C.
- —The board can be ordered from PCBWay (link in the README), but you assemble and solder components yourself—it is not a plug-and-play kit.
- —MIT licence permits commercial use.
- —The original Google board is discarded; this is not reversible without buying another used unit.
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
Turn Your Nest Mini into a Local Home Assistant Speaker!
No official walkthrough video exists. Community members have posted build logs on Twitter/X and in Home Assistant forums, but no single video covers disassembly, soldering, and config end-to-end.
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 README and check the KiCad PCB files to confirm you can solder the ESP32-S3 module and passives (If surface-mount soldering is new to you, practice on a cheap breakout board first—desoldering a misaligned ESP32 module inside a Nest Mini shell is miserable)
- 2.Order the PCB (link to PCBWay project is in the README) or send the Gerbers to your own fab(Minimum order is usually five boards; if you only want one, ask in the repo Discussions if anyone is running a group buy)
- 3.Source a used Google Nest Mini—eBay, Facebook Marketplace, or a thrift store; confirm it powers on before you take it apart(The first-generation Google Home Mini also works, but the Nest Mini (second gen, released 2019) has a better microphone array)
- 4.Populate the PCB per the BOM, flash the firmware via USB-C, then disassemble the Nest Mini and connect the speaker and microphone ribbon cables to the new board(The README lists which GPIO pins map to which cable, but does not show photos of the disassembly—search YouTube for 'Nest Mini teardown' if you need a visual guide to the clips)
- 5.Add the ESPHome YAML to your Home Assistant config, create an OpenAI API key, and test the assistant by asking it to control a light or read a sensor(The function calling examples in the README assume you already have entities (lights, switches, sensors) configured in Home Assistant; if you do not, set those up first)
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
- Ordering the PCB and buying a Nest Mini before confirming you can solder surface-mount components—the ESP32-S3 module has 0.5 mm pin pitch, and if you have never soldered that before, this is not the project to learn on.
- Assuming the board arrives assembled—it does not. You solder the ESP32, passives, and connectors yourself, and if you bridge pins or misalign the module, you will spend an evening debugging.
- Breaking the ribbon cable connectors when disassembling the Nest Mini—they are fragile, and if you pull too hard or do not flip the locking tab first, you will rip the cable or snap the plastic housing.
- Expecting a plug-and-play firmware image—you flash ESPHome or Arduino code, then edit YAML to add your Wi-Fi credentials, Home Assistant IP, and OpenAI API key. If you have never touched ESPHome before, budget an extra hour reading the docs.
- Not testing the speaker and microphone before you reassemble the shell—if a ribbon cable is not fully seated, the microphone will not pick up your voice or the speaker will sound distorted, and you will have to open it again.
- Underestimating the OpenAI API cost—every voice query hits the API, and if you use GPT-4 for function calling instead of GPT-3.5-turbo, you can burn through a few dollars in a weekend of testing. Set a billing alert.
Can I use this without Home Assistant?
The firmware is designed to integrate with Home Assistant via ESPHome, and the function calling examples all assume you have HA entities to control. You could rewrite the code to call other APIs, but at that point you are forking the project—stick with Home Assistant unless you want to maintain your own firmware.
Does this work offline, or do I still need the cloud?
The LLM calls go to OpenAI (or whatever API you configure), so you need internet. The wake word detection and audio processing happen on the ESP32, but the actual language model is remote. If you want fully offline voice, you would need to run a local LLM server (e.g., Ollama) and point the firmware at that instead.
What is the audio quality like compared to the original Nest Mini?
The speaker and microphone hardware are identical—you are reusing the original components. Audio quality depends on how cleanly you solder the connections and seat the ribbon cables. If you do it right, it sounds the same. If a cable is loose, you will hear distortion or dropouts.
Can I add custom wake words?
The firmware uses a fixed wake word model flashed to the ESP32. Changing it requires retraining or swapping the model file, which is not covered in the README—expect to dig into ESPHome voice assistant docs if you want a different wake word.
How much does it cost to run after you build it?
OpenAI API calls are the ongoing cost. GPT-3.5-turbo function calls are around $0.002 per request; if you ask it ten questions a day, that is $0.60 a month. GPT-4 is ten times that. Home Assistant and ESPHome are free.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion3
FROM THE COMPAREE TEAM
The PCB is designed to drop into a second-hand Nest Mini that you can buy for $15–20 used, so the whole build costs less than a new commercial voice assistant—but you solder and configure everything yourself. What would you use yours for that a cloud assistant cannot do?
Lucas Daoud26d ago
This looks amazing but the link to the pcbway project is saying 'Sorry, the project does not exist.' ?
CompareeTEAM26d ago
Good spot — thanks for the heads up. That PCBWay link was pointing at a project that does not exist any more, so we have pulled it. The board files are all in the repo though: github.com/justLV/onju-voice — you can send those straight to any PCB house or export your own Gerbers from there. Sorry for the runaround, and let us know how it goes if you build one!
Justin Alvey
Justin Alvey designed Onju Voice as a way to reuse discontinued Google Nest Mini hardware after Google stopped supporting the devices. The goal was a drop-in replacement that kept the good parts (the microphone array and speaker) but swapped the proprietary board for an open ESP32 design that could run local firmware and integrate with Home Assistant.
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.

CompareeTEAM23d agoedited
We verified the repository and confirmed the KiCad files, BOM, and firmware are all present. The README links to a PCBWay project page for ordering boards, but does not include photos of the disassembly process or a step-by-step guide to connecting the ribbon cables—that is the part most likely to take longer than you expect. The ESP32-S3 module and passives are commodity parts, so sourcing is straightforward, but if you have never soldered a module with 0.5 mm pin pitch before, this is not the project to learn on. The demo on Twitter/X that went viral shows the assistant working, but every Home Assistant setup is different, so expect an afternoon of YAML editing and API key wrangling before yours responds the way you want it to.