cross-posted from: https://lemmit.online/post/225981
This is an automated archive made by the Lemmit Bot.
The original was posted on /r/homeassistant by /u/janostrowka on 2023-07-19 12:49:02.
Hopefully this will come in handy for our Year of the Voice.
TL;DR: Justin Alvey replaces Google Nest Mini PCB with ESP32 custom PCB which heās open-sourcing. Shows demo of running LLM voice assistant paired with Beeper to send and receive messages.
Tweet text thread (I would also highly recommend checking out the video demos on Twitter):
I ājailbrokeā a Google Nest Mini so that you can run your own LLMās, agents and voice models. Hereās a demo using it to manage all my messages (with help from @onbeeper) š· on, and wait for surprise guest! I thought hard about how to best tackle this and why
After looking into jailbreaking options, I opted to completely replace the PCB. This letās you use a cheap ($2) but powerful & developer friendly WiFi chip with a highly capable audio framework. This allows a paradigm of multiple cheap edge devices for audio & voice detectionā¦
& offloading large models to a more powerful local device (whether your M2 Mac, PC server w/ GPU or even ātinyboxā!) In most cases this device is already trusted with your credentials and data so you donāt have to hand these off to some cloud & data need never leave your home
The custom PCB uses @EspressifSystemās ESP32-S3 I went through 2 revisions from a module to a SoC package with extra flash, simplifying to single-sided SMT (< $10 BOM) All features such as LEDās, capacitive touch, mute switch are working, & even programmable from Arduino (/IDF)
For this demo I used a custom āMaubotā with my @onbeeper credentials (a messaging app which securely bridges your messaging clients using the Matrix protocol & e2e encryption) which runs locally serving an API
Iām then using GPT3.5 (for speed) with function calling to query this
Fro the prompt I added details such as family & friends, current date, notification preferences & a list additional character voices that GPT can respond in. The response is then parsed and sent to @elevenlabsio
Iāve been experimenting with multiple of these, announcing important messages as they come in, morning briefings, noting down ideas and memos, and browsing agents. I couldnāt resist - hereās a playful (unscripted!) video of two talking to each other prompted to be AIās from "Her
Iām working on open sourcing the PCB design, build instructions, firmware, bot & server code - expect something in the next week or so. If you donāt want to source Nest Miniās (or shells from AliExpress) itās still a great dev platform for developing an assistant! Stay tuned!
This is so cool! Especially for reviving old Miniās.
Yeah Iām super keen to gut some old minis. Hopefully it works with the Google Home Minis as well.
Yeah, I have a Nest Mini that randomly died and is now just sitting in a box. This might be the perfect project, assuming whateverās broken would get swapped out.