Skip to content

Instantly share code, notes, and snippets.

@andras-tim
Last active January 9, 2026 22:20
Show Gist options
  • Select an option

  • Save andras-tim/1b7facf019250f503cc86d331c1e933f to your computer and use it in GitHub Desktop.

Select an option

Save andras-tim/1b7facf019250f503cc86d331c1e933f to your computer and use it in GitHub Desktop.
ESP32 S3 Box 3 with sensors
---
# Official config doesn't support the sensor dock, and once you extend the
# https://github.com/esphome/wake-word-voice-assistants/blob/main/esp32-s3-box-3/esp32-s3-box-3.yaml you will face with some
# audio incompatibility too.
packages:
esphome.voice-assistant: 'github://esphome/wake-word-voice-assistants/esp32-s3-box-3/esp32-s3-box-3.yaml@main'
#########
# This part of the config focus on adding the sensor dock's bus without collision + adding some sensors too.
i2c:
# explicitly define the internal bus as "bus_a"
- id: bus_a
sda: GPIO08
scl: GPIO18
scan: false
sda_pullup_enabled: true # Essential
scl_pullup_enabled: true # Essential
frequency: 100kHz # Required by ES7210/ES8311
# define the sensor dock's bus
- id: bus_b
sda: GPIO41
scl: GPIO40
scan: false
sda_pullup_enabled: true
scl_pullup_enabled: true
frequency: 50kHz
audio_adc:
- id: !extend es7210_adc
i2c_id: bus_a # explicit assign to the appropriate bus
audio_dac:
- id: !extend es8311_dac
i2c_id: bus_a # explicit assign to the appropriate bus
#########
# Add temperature, humidity and presence sensors, but you can find more at
# - https://github.com/AlmostInteractive/ESP32-S3-Box-3-Voice-Assistant-Sensor-Dock/blob/8e8bb77246b4f2342e7d574f6cac0311690f44b5/esp32-s3-box-3.yaml#L476
# - https://github.com/AlmostInteractive/ESP32-S3-Box-3-Voice-Assistant-Sensor-Dock/blob/8e8bb77246b4f2342e7d574f6cac0311690f44b5/esp32-s3-box-3.yaml#L1024
sensor:
- platform: aht10
variant: AHT20
i2c_id: bus_b
temperature:
name: "Temperature"
humidity:
name: "Humidity"
id: s3humid
update_interval: 60s
binary_sensor:
- id: radar_sensor
platform: gpio
pin: GPIO21
name: "Presence Detection"
device_class: "occupancy"
filters:
- delayed_off: 15s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment