English
English
简体中文
日本語

AtomS3U Home Assistant Integration

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.

1. Preparation

Environment Setup

  1. Refer to the official Home Assistant documentation to install Home Assistant.
  2. Refer to the official ESPHome documentation to install the ESPHome Device Builder add-on. (Note: This tutorial is based on ESPHome 2026.3.x. If compilation errors occur, switch to this version for verification.)

Hardware Products

2. Firmware Compilation & Flashing

This section explains how to recompile the project from the yaml configuration file for secondary development, feature modifications, or new functionality.

Compilation Time
Compiling firmware through HA is resource-intensive. The first compilation may take a long time to download resources, depending on the device running the HA service and network quality.

Create Device

  1. Open ESPHome Builder in Home Assistant and click the NEW DEVICE button in the bottom right to create an empty configuration.
  1. Click CONTINUE in the popup.
  1. Select Empty Configuration.
  1. Name the file if desired.

Modify Configuration

  1. Click EDIT on the newly created configuration.
  1. Copy the contents of atoms3u.factory.yaml into the configuration.
  1. Modify network or API settings as needed, for example create an API Encryption Key for authentication:
api:
  encryption:
    key: "Your_Encryption_Key"
API Encryption Key
If you need a key, visit the Native API page to generate one under 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.

  1. Click SAVE and INSTALL in the top right, then choose Manual download.

The code will be generated and the project compiled.

  1. After compilation completes, choose Factory format and download the firmware.

Flash Firmware

  1. Confirm that the Factory format firmware has been downloaded through ESPHome Builder's Manual download option.

  2. Open ESPHome Web in a browser.

  3. Connect AtomS3U to the computer, hold down RESET to enter download mode, click CONNECT, and select the corresponding device port.

  1. Click INSTALL, select the downloaded firmware, then click INSTALL again to flash it to the device.
  1. After flashing finishes, press RESET to reboot.

3. Getting Started

  1. After reboot, the device should automatically connect to the configured network. It should appear under Settings -> Devices & services.
  1. Click 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:

4. Peripheral Overview

This section explains the peripherals used in the configuration.

I2C and I2S

Mainly I2C and I2S pins:

i2c:
  sda: GPIO2
  scl: GPIO1

i2s_audio:
  i2s_lrclk_pin: GPIO39

Infrared Transmitter

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

RGB Light

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

PDM Microphone

The device includes a PDM microphone:

microphone:
  - platform: i2s_audio
    id: echo_microphone
    i2s_din_pin: GPIO38
    adc_type: external
    pdm: true
Page Tools
PDF
On This Page