Skip to content
Get started

ES8311

The es8311 platform allows your ESPHome devices to use the ES8311 low power mono audio codec. This allows the playback of audio via the microcontroller from a range of sources via Speaker or Media Player.

The I²C bus is required in your configuration as this is used to communicate with the ES8311.

# Example configuration entry
audio_dac:
- platform: es8311
  • bits_per_sample (Optional, enum): The bit depth of the audio samples. One of 16bit, 24bit, or 32bit. Defaults to 16bit.
  • sample_rate (Optional, positive integer): I2S sample rate. Defaults to 16000.
  • use_mclk (Optional, bool): Use the MCLK signal to control the clock. Defaults to True.
  • use_microphone (Optional, bool): Configure the codec’s ADC to use PDM microphone input instead of analog. Defaults to False.
  • mic_gain (Optional, enum): The gain applied to the ADC microphones. One of 0DB, 6DB, 12DB, 18DB, 24DB, 30DB, 36DB, 42DB. Defaults to 42DB.
  • address (Optional, int): The I²C address of the driver. Defaults to 0x18.
  • i2c_id (Optional): The ID of the I²C bus the ES8311 is connected to.
  • All other options from Audio DAC.

All Audio DAC Automations are supported by this platform.

ESP32 S3 Box 3:

audio_dac:
- platform: es8311
id: es8311_dac
bits_per_sample: 16bit
sample_rate: 16000
i2s_audio:
- id: i2s_output
i2s_lrclk_pin: GPIO45
i2s_bclk_pin: GPIO17
i2s_mclk_pin: GPIO2
speaker:
- platform: i2s_audio
i2s_audio_id: i2s_output
id: speaker_id
i2s_dout_pin: GPIO15
dac_type: external
sample_rate: 16000
bits_per_sample: 16bit
channel: left
audio_dac: es8311_dac
switch:
- platform: gpio
name: "Speaker Enable"
pin: GPIO46
restore_mode: RESTORE_DEFAULT_ON