English
English
简体中文
日本語

Voice Pyramid Home Assistant Integration

This tutorial explains how to integrate the Voice Pyramid voice base into Home Assistant.

1. Preparation

Environment Setup

  1. Install Home Assistant by following the official Home Assistant documentation.
  2. Install the ESPHome Device Builder add-on by following the official ESPHome documentation. This tutorial uses ESPHome 2026.1.2.

Hardware Products

2. Firmware Build & Flash

This section explains how to rebuild the Voice Pyramid project from its yaml configuration for secondary development, feature changes, or new functionality.

Build Time
The first build may take some time, depending on the performance of the Home Assistant host and network quality.

Create Device

  1. Click the green button in the bottom right corner to create a new device.
  1. Click CONTINUE.
  1. Click New Device Setup.
  1. Enter the device name, then click NEXT.
  1. Select ESP32-S3.
  1. Click SKIP.

Modify Configuration

  1. Click EDIT to customize device functions via the YAML file.

Below are the core parts of the configuration. Reference links and descriptions are provided later.

PSRAM Configuration

Add PSRAM component:

psram:
  mode: octal
  speed: 80MHz

External Components

Add External components:

external_components:
  - source: github://m5stack/esphome-yaml/components
    components: [aw87559, si5351, lp5562, pyramidrgb, pyramidtouch]
    refresh: 0s

I2C Bus Configuration

Add I2C component:

i2c:
  - id: bsp_bus
    sda: GPIO45
    scl: GPIO0
    scan: true
  - id: ext_bus # For Atomic Voice Base
    sda: GPIO38
    scl: GPIO39

I2S Audio Configuration

Add I2S Audio component:

i2s_audio:
  - id: i2s_audio_bus
    i2s_lrclk_pin: GPIO8
    i2s_bclk_pin: GPIO6

Audio DAC Configuration

Add Audio DAC component:

audio_dac:
  - platform: es8311
    id: es8311_dac
    i2c_id: ext_bus
    bits_per_sample: 16bit
    sample_rate: 16000

Audio ADC Configuration

Add Audio ADC component:

audio_adc:
  - platform: es7210
    id: es7210_adc
    i2c_id: ext_bus
    address: 0x40
    bits_per_sample: 16bit
    sample_rate: 16000

Microphone Configuration

Add Microphone component:

microphone:
  - platform: i2s_audio
    id: i2s_mic
    sample_rate: 16000
    i2s_din_pin: GPIO5
    bits_per_sample: 16bit
    adc_type: external
    channel: stereo

Speaker Configuration

Add Speaker component:

speaker:
  - platform: i2s_audio
    id: i2s_speaker
    i2s_dout_pin: GPIO7
    dac_type: external
    bits_per_sample: 16bit
    sample_rate: 16000
    channel: mono
    audio_dac: es8311_dac
  1. After modifying the configuration, click SAVE and INSTALL in the upper right corner, then select Manual Download from the pop-up window.

Flash Firmware

  1. Once the firmware compilation is complete, click download and select Factory format(Previously Modern).
Tip
Click Voice Pyramid to view the full example configuration. The first compilation may take a long time, depending on the performance of the Home Assistant host and the network status.
  1. Connect the device to the host using a USB Type-C cable. Open ESPHome Web, and click CONNECT to connect to the device.
  1. Locate the corresponding serial port number.
  1. Click INSTALL.
  1. Select the compiled firmware to upload.
  1. After flashing is complete, restart the device.

3. Getting Started

  1. In Home Assistant, click Settings > Devices & Services to check the device.
  1. The corresponding device can be found in the Discovered section.
  1. After adding the device, you will see that the relevant data is displayed correctly.

Finally, users can configure various controllable hardware on the Voice Pyramid through the control panel and use the custom wake word (Echo-Pyramid Wake Word) to activate the device, enabling intelligent voice interaction functions such as querying weather, time, and date.

Page Tools
PDF
On This Page