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 has built-in Wi-Fi. Its interfaces include a USB Type-A port (with OTG support), one Grove connector, and a 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), IO control, and similar scenarios.
2026.3.x for compilation and upload. If you encounter build or upload issues, consider switching ESPHome to this version.NEW DEVICE button in the bottom right.
CONTINUE in the popup.
Empty Configuration.
EDIT on the newly created configuration.
api:
encryption:
key: "Your_Encryption_Key" 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.
Download the firmware via ESPHome Builder's Manual download in Factory Format.
Use the web tool to flash the firmware:
Open your browser and visit ESPHome Web to upload the firmware.
Connect Atom to the host, hold down RESET to enter download mode, click CONNECT, and select the device.
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