English
English
简体中文
日本語

Voice Pyramid ESPHome Component

Voice Pyramid provides the hardware required for audio input, audio output, and voice applications. Use it with a compatible M5Stack controller.

1. Component Overview

Item Information
Product Name Voice Pyramid
SKU A167
Main Functions Hardware interfaces for audio input, audio output, and voice applications
Communication Interfaces I2C, I2S
ESPHome Components i2s_audioes8311es7210microphonespeakerpi4ioe5v6408 and aw87559, si5351, pyramidrgb, pyramidtouch (external components)
ESPHome Version 2025.11.3 or later

2. Component Details

Official Component Integration

External Component Integration

Some Voice Pyramid hardware drivers are provided by the M5Stack ESPHome external component repository:

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

I2S Audio Configuration

Configure the I2S audio bus to provide data channels for the microphone and speaker:

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

Audio Hardware Initialization

The PI4IOE5V6408 expander, AW87559 amplifier, and SI5351 clock generator use the base-side I2C bus. All three declarations are required to initialize the Voice Pyramid audio hardware:

pi4ioe5v6408:
  - id: audio_io_expander
    i2c_id: ext_bus
    address: 0x43

aw87559:
  id: audio_amp
  i2c_id: ext_bus
  address: 0x5B

si5351:
  id: clock_gen
  i2c_id: ext_bus
  address: 0x60

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

Touch Input Sensor

The pyramidtouch platform provides four touch channels and slide events. The basic configuration can create only the touch entities; add slide actions as needed in the application logic.

sensor:
  - platform: pyramidtouch
    i2c_id: ext_bus
    address: 0x1A
    update_interval: 50ms
    touch1:
      name: "Touch 1"
    touch2:
      name: "Touch 2"
    touch3:
      name: "Touch 3"
    touch4:
      name: "Touch 4"

RGB Lighting Output

The two Voice Pyramid light strips are driven by the pyramidrgb hub and output platform. Map the red, green, and blue outputs for each strip separately, then combine them into an RGB light. The following example configures the first strip:

pyramidrgb:
  - id: pyramid_rgb1
    i2c_id: ext_bus
    address: 0x1A
    strip: 1
    brightness: 80

output:
  - platform: pyramidrgb
    id: pyramid_rgb1_red
    pyramidrgb_id: pyramid_rgb1
    channel: 0
    color: red
  - platform: pyramidrgb
    id: pyramid_rgb1_green
    pyramidrgb_id: pyramid_rgb1
    channel: 0
    color: green
  - platform: pyramidrgb
    id: pyramid_rgb1_blue
    pyramidrgb_id: pyramid_rgb1
    channel: 0
    color: blue

light:
  - platform: rgb
    name: "Pyramid RGB 1"
    red: pyramid_rgb1_red
    green: pyramid_rgb1_green
    blue: pyramid_rgb1_blue

3. Example

Page Tools
PDF
On This Page