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

FULL CAD BOM FIRMWARE DOCS

AIHome

difficulty
●●●○○
time
a weekend
license
MIT
repo
repo ACTIVE1,696 stars

WHAT YOU’LL NEED

  • 3D printer + filamentprintable parts — files are in the repo
  • 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
3

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.

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?

PrintRear cover STL (optional, the original clips back on if you are careful)
BuyUsed Google Nest Mini ($15–20), bare PCB from PCBWay or your own fab, ESP32-S3 module, supporting passives and connectors per BOM, USB-C cable for flashing
ToolsSoldering iron, solder, tweezers, spudger or guitar pick to open the Nest Mini, multimeter if you want to check continuity, computer running ESPHome or the Arduino IDE
SkillsSurface-mount soldering, basic YAML editing for Home Assistant, patience with ribbon cable connectors—this is not a beginner's first ESP32 project
TimeA weekend: one afternoon to order and wait for the PCB, one evening to solder and test, one morning to disassemble the Nest Mini and connect everything, then an hour or two configuring Home Assistant and the OpenAI function calling
Cost$$—used Nest Mini is $15–20, PCB fabrication for five boards is around $30 shipped (so $6 per board if you order a batch), ESP32-S3 module and passives add another $15–20 per unit, so expect $40–50 all in if you build one, less per unit if you build several
SafetyUSB-C power only, no mains voltage on the board itself. The Nest Mini's original power supply is 15V 1.8A barrel jack; if you reuse that instead of USB-C, treat it as low-voltage DC but verify polarity before connecting. Soldering fumes—use ventilation.

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

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

https://opengraph.githubassets.com/3a4d38cd5656b01e1f2ec22b0c25e027b6f8f8a64de2cc1e5e8ad9664b931225/justLV/onju-voice
https://img.youtube.com/vi/m_cP53UGB8M/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 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. 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. 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. 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. 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.

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

  • 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?

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.

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.

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.