pdf-icon

Echo Pyramid Home Assistant Integration

Introduction

Echo Pyramid is a professional voice development base designed for Atom/Atom-Lite/AtomS3/AtomS3R By simply plugging in an ATOM controller, developers can quickly build smart voice devices.The ATOM module handles audio processing, wireless connectivity, and IoT control. A dedicated STM32 microcontroller manages touch buttons and RGB lighting for responsive interaction and visual feedback.With a high-quality audio codec, Single Microphone, and built-in speaker amplifier, Echo Pyramid enables clear far-field voice capture and playback, making it ideal for voice assistants, smart speakers, and IoT voice applications.

Preparation

Tip
In this tutorial, the firmware is compiled and uploaded with ESPHome 2026.1.2. If you encounter compile/upload issues, consider switching ESPHome to this version.

Step 1. Create New Device — Click the green button in the lower right corner to create a device.

Step 2. Create Device Name — Click CONTINUE.

— Click New Device Setup.

— Enter the name of the device and Click NEXT.

Step 3. Choose Device Type

— Click ESP32-S3.

— Click SKIP.

Step 4. Start Edit YAML File — Click EDIT. We can customize device functionality through YAML files.

Device Setup

The following is the core part of the code. Relevant references and explanations are provided below.

PSRAM Configuration

psram:
  mode: octal
  speed: 80MHz

External Components

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

I2C Bus Configuration

  • Add the I2C component
i2c:
  - id: bsp_bus
    sda: GPIO45
    scl: GPIO0
    scan: true
  - id: ext_bus # used on atomic echo base
    sda: GPIO38
    scl: GPIO39

I2S Audio Configuration

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

Audio DAC Configuration

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

Audio ADC Configuration

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

Microphone Configuration

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

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

Firmware Build

— Click INSTALL again to flash and wait for it to complete.

— After making changes, click SAVE and INSTALL in the top-right corner, then choose Manual Download in the popup.

— After the firmware compilation is complete, click Download and select Factory format(Previously Modern)

Tip
Click Echo Pyramid to view the complete example configuration. The first build may take a while, depending on the performance of the Home Assistant host and network quality.

Firmware Upload

— Connect the device to your host via a USB Type‑C cable. Open ESPHome Web and click CONNECT to connect to the device.

— Locate the corresponding serial port number

— Click INSTALL

— Select the previously compiled firmware to upload.

Tip
Please note that after the download is completed, the device must be reset.

Home Assistant Integration

— Click Settings -> Device & services to check the device.

— We can find the corresponding device in the Discover section.

— After adding the device, the data will be displayed correctly.

— Ultimately, users can configure the various controllable hardware components of the Echo Pyramid through the control panel and activate the device using a custom voice wake word (Echo-Pyramid Wake Word) to perform smart voice interactions such as checking the weather or obtaining the time and date.

On This Page