sonocotta / esparagus-echo

Voice assistant edge device for your Home Assistant voice controlled automation
GNU General Public License v3.0
18 stars 0 forks source link

Esparagus Echo

Open Source Hardware Open Source Software

I sell on Tindie

Dev Chat

DSC_0030

Esparagus Echo is a series of two ESP32-S3-based voice control edge devices. They are designed to work with ESPHome as an edge part of the voice control pipeline. Both devices are enclosed in a neat-looking aluminum case and expose feedback LEDs on the front panel where it is easy to spot them, leaving power and speaker connectors on the backside.

Table of Contents

Why Esparagus

The Esparagus Echo design shares a lot with the earlier Esparagus series of devices, using similar parts and the same pinout whenever possible. I see this as a side branch of the series, therefore.

Motivation

I'm a big fan of Alexa. I'm using it around the house, and my family is using it all the time, including 2 years old. However, I do not need to mention privacy concerns, these are quite common. My biggest pain point is the inability to integrate Alexa into the Home Assistant setup that I have at home. I'm a big fan of automation around the house and want to trigger complex flows based on the specific sensors and devices that I have. I think the freedom of the implementation is a bit like the magic of the Home Assistant. Why not have voice control, since everyone around the house is used to it already?

Esparagus Solo

Esparagus Solo has all the basic necessities, a Mic on the front panel, a couple of feedback LEDs, and a speaker at the back. Onboard is a simple and well-known MAX98357 DAC with a reasonable 5W of output audio. It uses a built-in antenna for simplicity. And that's pretty much it.

DSC_0006

Esparagus Duo

On top of Solo capabilities, Esparagus Duo uses a dual Mic setup, extra LED, and most importantly 2-channels MAX98357 channels to deliver quality stereo-audio (and thus can be used as a media player device). To make sure it would stream audio without a hiccup it uses an external Wifi antenna (much-improved perception) and has SPI Ethernet for the most robust networking.

DSC_0015

Features

Esparagus Solo Esparagus Duo
Image DSC_0005 DSC_0031_1
MCU ESP32-S3-WROOM-1-N16R8 module ESP32-S3-WROOM-1U-N16R8 module
MIC Single TDK InvenSense ICS-43434 I2S MEMS Mic Dual TDK InvenSense ICS-43434 I2S MEMS Mic
DAC Single I2S DAC (MAX98357) with built-in D-Class amp Dual I2S DAC (MAX98357) with built-in D-Class amp
Power 5V from USB-C (Up to 1.5A) 5V from USB-C (Up to 2.5A)
Output, 4Ω 3W 2x 3W
Output, 8Ω 5W 2x 5W
PSRAM 8MB PSRAM 8MB PSRAM
Peripheral 2x XL1615 RGB LED 3x XL1615 RGB LED
Wireless Connectivity WiFi + BLE WiFi + BLE
Ethernet none Wizznet W5500 SPI Ethernet
Size (excl. antenna) 45 x 18 x 52mm 70 x 24 x 88 mm

Boards Pinout

Peripheral - Common

I2S CLK I2S DOUT I2S DIN I2S WS DAC CE RGB LED
Echo Solo 14 16 21 15 17 42
Echo Duo 14 16 21 15 17 42

Peripheral - W5500 Ethernet

SPI CLK SPI MOSI SPI MISO LAN RES LAN CS LAN INT
Echo Duo 12 11 13 5 10 6

Software

Since both devices are designed to be primarily used within the Home Assistant setup, the software folder contains ESPHome configurations for both devices.

Home Assistant - media player

One simple way Esparagus Echo can be used in the Home Assistant is a media player device. Yaml config will get you started. Below are configuration steps that you need to do in the HA itself.

Step Screenshot
Add ESPHome Addon

Navigate to HA Settings > Addons > Add Addon
Search for SSH and install it.
Enable Show in sidebar switch while you there
image
Prepare Esparagus Echo for ESPHome onboarding

Use Web Flasher to flash stock ESPHome into device
image
Onboard Esparagus Echo ESPHome device into HA

Go to the HA ESPHome page and you should be able to find a new device. You need to onboard it with the below config (feel free to change names)
This will take a moment or two
image
Validate device in the ESPHome image
Add ESPHome Integration

Navigate to HA Settings > Devices & services > Integrations. Click the big + ADD INTEGRATION button, look for ESPHome, and click to add it.
It should discover and add ESPHome media devices based on the previous step
image
Use your media device in the HA image
Use your media device in the MA

Add Music Assistant HA MediaPlayers provider to discover new Media device
image

Home Assistant - voice assistant

I will update this section as soon as I get the VA part working.

Hardware

Please visit hardware section for board schematics and PCB designs. Note that PCBs are shared as multi-layer PDFs as well as Gerber archives.

Boxed

Esparagus Solo Esparagus Duo
image image
image image

PCB

Esparagus Solo Esparagus Duo
image image

Where to buy

You may support our work by ordering this product at Tindie (soming soon)