English
English
简体中文
日本語
pdf-icon

AtomS3U Kit

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.

Requirements

  • A Home Assistant host.
  • Install and enable ESPHome Builder in Home Assistant.

Notes

  • This guide uses ESPHome 2026.3.x for compilation and upload. If you encounter build or upload issues, consider switching ESPHome to this version.

Create the Device

  1. Open ESPHome Builder in Home Assistant and create an empty configuration.
  • Click the NEW DEVICE button in the bottom right.
  • Click CONTINUE in the popup.
  • Select Empty Configuration.
  • Name the file if desired.
  • 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"
Tip
If you need a key, visit native api 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.

Tip
First-time builds may take longer depending on the Home Assistant host performance and network.
  1. After compilation completes, choose Factory format and download the firmware.

Download and Flash Firmware

  1. Download the firmware via ESPHome Builder's Manual download in Factory Format.

  2. 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.

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

Getting Started

Add the Device to Home Assistant Integration

  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:

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
On This Page