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 entryaudio_dac: - platform: es8311Configuration variables
Section titled “Configuration variables”- bits_per_sample (Optional, enum): The bit depth of the audio samples. One of
16bit,24bit, or32bit. Defaults to16bit. - 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 to42DB. - 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.
Automations
Section titled “Automations”All Audio DAC Automations are supported by this platform.
Configuration Examples
Section titled “Configuration Examples”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