DIY VoicePuck - A lightweight voice assistant

Here is my take on the voice assistant hype.

A ‘smaller then google home’ sized puck. I tried to make the yaml as light weighted as possible so it will compile on lower end systems. A second objective was to minimise the use of external code as much as possible. Other objectives where easy to make and using readily available parts that don’t cost much
All information and 3D files are found here
VoicePuck

UPDATE Version 2

While version 1 works it still suffered from stalls from time to time. The ESP32-S3-BOX version that I also have showed to be far more stable. Because of this I abandoned to ‘no external files’ concept and went for the full blown version and took the ESP32-S3-BOX version as start. I stripped everything that deals with the screen and the buttons on the box. I’ve added my own sensors and other tools. Things I like to see and control in HA such as diagnostics, request and response sensors and timer info. The hardware stayed the same so this installs directly on the VoicePuck. This version is a lot heavier when compiling. My advise is to start with cleaning your build files and start compiling. When it fails just restart again. File locks will occure but they will be cleared. Files that are already compiled will be skipped so the processor load on lower end systems will handle in the end a full compile.

UPDATE Version 3
With this version you can have continuous conversations without the need to say the wake word every time.

5 Likes

Thanks for the share, really neat :ok_hand:

UPDATE Version 2

While version 1 works it still suffered from stalls from time to time. The ESP32-S3-BOX version that I also have showed to be far more stable. Because of this I abandoned to ‘no external files’ concept and went for the full blown version and took the ESP32-S3-BOX version as start. I stripped everything that deals with the screen and the buttons on the box. I’ve added my own sensors and other tools. Things I like to see and control in HA such as diagnostics, request and response sensors and timer info. The hardware stayed the same so this installs directly on the VoicePuck. This version is a lot heavier when compiling. My advise is to start with cleaning your build files and start compiling. When it fails just restart again. File locks will occure but they will be cleared. Files that are already compiled will be skipped so the processor load on lower end systems will handle in the end a full compile.

Looks like a nice project!
Since im a cheapskate and dont want to invest 50+ bucks into the -box version I am going to try this…

Just to clarify and dumb it down: you just used the same core/essential-hardware like the S3-box version and used the bare minimum of the s3-box version in your V2, didn’t you?

looking at the schematics: Can a single LED be used instead to make wiring easier? If yes: how should that be conneced and if not: how does the wiring of the 3 WS2812B LEDs look like? Schematics are a little bit unclear in that case…

Yes, the V2 yaml is the same as the S3-Box version without all the screen elements. These are replaced for HA sensors for timer, request and response info.

You can drop the extra LEDs if you want and just use the on board RGB LED.
If you do then make sure you change this to the onboard LED gpio and the number of leds to 1

light:
  - platform: esp32_rmt_led_strip
    rgb_order: GRB
    pin: GPIO48 # On board light
    num_leds: 1
1 Like

New version available

UPDATE Version 3
With this version you can have continuous conversations without the need to say the wake word every time.