AtomS3U is a USB flash drive-shaped ESP32-S3 multifunction development board. It uses the Espressif ESP32-S3 main controller with a dual-core Xtensa LX7 processor running at 240 MHz and supports Wi-Fi. Its interfaces include a USB Type-A port with OTG support, one Grove connector, and one 6-pin 2.54mm female header with 4 GPIOs. Peripherals include a PDM microphone, an infrared transmitter, and a programmable RGB LED. This product is suitable for IoT human-machine interaction, voice input/recognition (STT), I/O control, and similar scenarios. This tutorial explains how to integrate AtomS3U into Home Assistant through ESPHome.
ESPHome 2026.3.x. If compilation errors occur, switch to this version for verification.)
This section explains how to recompile the project from the yaml configuration file for secondary development, feature modifications, or new functionality.
NEW DEVICE button in the bottom right to create an empty configuration.
CONTINUE in the popup.
Empty Configuration.
EDIT on the newly created configuration.
api:
encryption:
key: "Your_Encryption_Key" encryption.Or use SSID and password defined in secrets:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password If not provided, you can use improv_serial, BLE, or AP for network setup.
SAVE and INSTALL in the top right, then choose Manual download.
The code will be generated and the project compiled.
Factory format and download the firmware.
Confirm that the Factory format firmware has been downloaded through ESPHome Builder's Manual download option.
Open ESPHome Web in a browser.
Connect AtomS3U to the computer, hold down RESET to enter download mode, click CONNECT, and select the corresponding device port.
INSTALL, select the downloaded firmware, then click INSTALL again to flash it to the device.
Settings -> Devices & services.
Add to integrate AtomS3U into Home Assistant. If you set an API Encryption Key, you may need to enter it during integration.AtomS3U dashboard example:
This section explains the peripherals used in the configuration.
Mainly I2C and I2S pins:
i2c:
sda: GPIO2
scl: GPIO1
i2s_audio:
i2s_lrclk_pin: GPIO39 The infrared LED is connected to GPIO12:
remote_transmitter:
pin: GPIO12
carrier_duty_percent: 50%
non_blocking: true
rmt_symbols: 48 You can add an IR Remote Climate component for air conditioner control, for example:
# Example IR Remote Climate
climate:
- platform: coolix
name: "Default AC"
visual:
min_temperature: 18
max_temperature: 30
temperature_step: 1 A single RGB LED is connected through WS2812 on GPIO35:
light:
- platform: esp32_rmt_led_strip
rgb_order: GRB
pin: GPIO35
num_leds: 1
chipset: ws2812
name: "Light"
rmt_symbols: 48 The device includes a PDM microphone:
microphone:
- platform: i2s_audio
id: echo_microphone
i2s_din_pin: GPIO38
adc_type: external
pdm: true