ESP32-Audio-Kit
ESP32-Audio-Kit is een kleine audio development board gebaseerd op ESP32-A1S module. Meest audio randapparatuur zijn verdeeld over beide zijden van de ontwikkeling boord, ondersteuning TF card, hoofdtelefoon uitgang, twee microfoon ingangen en twee speaker uitgangen. Het is handig voor ontwikkelaars ontwikkelen snel. Geschikt voor thuis slimme apparaten, smart speaker oplossingen, kinderen verhaal machine prototypes, enz., is een ideale oplossing voor IoT toepassingen.
Voordelen
Makkelijk te koppelen doormiddel van ESPHome
Goede prijs
Leuk formaat
Werkt goed
Werkt met Home Assistant en ESPHome
Nadelen
Geen behuizing
Iets kennis nodig , ivm esphome.
Bad color combination
Als u op mijn affiliates/adverteerderslinks klikt, ontvang ik een kleine commissie. EN… Meestal ontvangt u een aanbieding. Winnen/winnen! De producten waarvoor ik reclame maak, zijn de producten waarin ik geloof.
ESP32-Audio-Kit
Binnenkort komt op deze website een leuke handleiding om hem te koppelen aan home assistant. voor het gebruik als tts en multiroom audio. en dit bord werkt ook met esphome ( voor de assist functie) Code voor esphome staat hieronder.
Deze werkt ook perfect als software op dit bord https://github.com/sle118/squeezelite-esp32
Kenmerken;
- Low-power dual-core 32-bit CPU voor toepassing processors
- Belangrijkste frequentie tot 240MHz, rekenkracht tot 600 DMIPS
- Ingebouwde 520 KB SRAM, 8M
- Ondersteunt interfaces zoals UART/SPI/I2C/PWM
- Hoofdtelefoon poort: Insert 3.5mm hoofdtelefoonaansluiting om ondersteuning linker en rechter kanaal
- Links en rechts kanaals luidsprekers: ondersteuning output 4Ω 3W luidspreker uitgang, en ondersteuning dual channel output
- Twee analoge microfoons, respectievelijk als audio-ingang; ondersteuning voor headset microfoon ingang
- Ondersteuning 3.7V lithium batterij-ingang; ondersteuning 5V 2A power input, ondersteuning gelijktijdige lithium batterij opladen
- Ondersteuning 64G sd-kaart lezen en schrijven
- Ondersteuning meerdere slaapstand
- Embedded Lwip en FreeRTOS
- Ondersteuning STA/AP/STA + AP werkmodus
- Ondersteuning Smart Config/AirKiss Een klik distributie netwerk
Esphome code:
esphome:
name: esp32-audio-kit
esp32:
board: esp-wrover-kit
framework:
type: arduino
logger:
api:
ota:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "esp32-audio-kit Fallback Hotspot"
captive_portal:
web_server:
port: 80
i2c:
sda: GPIO33
scl: GPIO32
external_components:
- source: github://pr#3552
components: [es8388]
refresh: 0s
- source: github://pr#4775
components: [adc, i2s_audio, microphone]
refresh: 0s
es8388:
media_player:
- platform: i2s_audio
name: "ESPAudioKit"
id: AudioKit
i2s_dout_pin: GPIO26
dac_type: external
mode: stereo
i2s_audio:
i2s_lrclk_pin: GPIO25
i2s_bclk_pin: GPIO27
microphone:
- platform: i2s_audio
i2s_din_pin: GPIO35
id: mic1
adc_type: external
pdm: false
switch:
- platform: gpio
pin: GPIO21
name: "AMP Switch"
restore_mode: ALWAYS_ON
voice_assistant:
microphone: mic1
binary_sensor:
- platform: gpio
pin:
number: GPIO39
inverted: true
mode:
input: true
name: "Jack Status"
- platform: gpio
pin:
number: GPIO036
inverted: true
name: "Key 1"
filters:
- delayed_off: 10ms
- platform: gpio
pin:
number: GPIO013
inverted: true
name: "Key 2"
filters:
- delayed_off: 10ms
- platform: gpio
pin:
number: GPIO019
inverted: true
name: "Key 3"
filters:
- delayed_off: 10ms
- platform: gpio
pin:
number: GPIO023
inverted: true
mode:
input: true
pullup: true
name: "Key 4"
filters:
- delayed_off: 10ms
- platform: gpio
pin:
number: GPIO018
inverted: true
mode:
input: true
pullup: true
name: "Key 5"
filters:
- delayed_off: 10ms
- platform: gpio
pin:
number: GPIO005
inverted: true
mode:
input: true
pullup: true
name: "Key 6"
filters:
- delayed_off: 10ms
on_press:
- voice_assistant.start:
on_release:
- voice_assistant.stop:
on_click:
- media_player.toggle: AudioKit
light:
- platform: binary
name: "Test LED 1"
output: light_output_1
- platform: binary
name: "Test LED 2"
output: light_output_2
output:
- id: light_output_1
platform: gpio
pin: GPIO22
inverted: true
- id: light_output_2
platform: gpio
pin: GPIO19
inverted: true
Met Sendspin voor music assistant
# ESP32-A1S Audio Kit - Sendspin Configuration
# Working config for ESPHome 2026.3.x with Music Assistant Sendspin support
# Board: AI-Thinker ESP32-A1S Audio Kit (ES8388 codec)
#
# GitHub: https://github.com/el-bakkali/esp32-a1s-sendspin
#
# Requirements:
# - ESPHome 2026.3.x or later
# - Music Assistant 2.7.0 beta 19 or later
#
# Setup:
# 1. Copy secrets.yaml.example to secrets.yaml
# 2. Fill in your WiFi and API credentials
# 3. Flash with: esphome run esp32-a1s.yaml
esphome:
name: esp32-a1s
friendly_name: ESP32-A1S
on_boot:
priority: -100
then:
- select.set:
id: dac_output_select
option: "BOTH"
esp32:
board: esp-wrover-kit
framework:
type: esp-idf
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp32-A1S Fallback Hotspot"
captive_portal:
psram:
# ===== ES8388 Audio Codec Configuration =====
# Reference: https://esphome.io/components/audio_dac/es8388/
i2c:
sda: GPIO33
scl: GPIO32
frequency: 100kHz
id: bus_a
audio_dac:
- platform: es8388
id: es8388_dac
select:
- platform: es8388
es8388_id: es8388_dac
dac_output:
id: dac_output_select
name: "DAC Output"
adc_input_mic:
name: "ADC Input MIC"
i2s_audio:
id: i2s_output
i2s_lrclk_pin: GPIO25
i2s_bclk_pin: GPIO27
i2s_mclk_pin: GPIO0
# ===== Amplifier Control =====
switch:
- platform: gpio
pin: GPIO21
id: mute_switch
name: "AMP Switch"
restore_mode: ALWAYS_ON
# ===== Microphone =====
microphone:
- platform: i2s_audio
i2s_din_pin: GPIO35
id: mic1
adc_type: external
pdm: false
sample_rate: 16000
bits_per_sample: 16bit
# ===== Hardware Buttons & Sensors =====
binary_sensor:
- platform: gpio
pin:
number: GPIO39
inverted: true
mode:
input: true
name: "Jack Status"
- platform: gpio
pin:
number: GPIO036
inverted: true
name: "Key 1"
filters:
- delayed_off: 10ms
- platform: gpio
pin:
number: GPIO013
inverted: true
name: "Key 2"
filters:
- delayed_off: 10ms
- platform: gpio
pin:
number: GPIO019
inverted: true
name: "Key 3"
filters:
- delayed_off: 10ms
- platform: gpio
pin:
number: GPIO023
inverted: true
mode:
input: true
pullup: true
name: "Key 4"
filters:
- delayed_off: 10ms
- platform: gpio
pin:
number: GPIO018
inverted: true
mode:
input: true
pullup: true
name: "Key 5"
filters:
- delayed_off: 10ms
- platform: gpio
pin:
number: GPIO005
inverted: true
mode:
input: true
pullup: true
name: "Key 6"
filters:
- delayed_off: 10ms
# ===== Status LED =====
light:
- platform: status_led
name: "Red LED"
pin:
number: GPIO22
inverted: true
# --- SendSpin & Media Player Logic (Standard) ---
# ===== Sendspin External Components =====
external_components:
- source: github://pr#14933
components: [const, generic_image, media_source, sendspin]
refresh: 1h
# ===== Speaker Configuration =====
speaker:
- platform: i2s_audio
i2s_audio_id: i2s_output
sample_rate: 48000
id: i2s_speaker_output
i2s_dout_pin: GPIO26
bits_per_sample: 16bit
dac_type: external
channel: stereo
timeout: never
buffer_duration: 100ms
audio_dac: es8388_dac
# ===== Sendspin Configuration =====
sendspin:
id: sendspin_hub
task_stack_in_psram: true
media_source:
- platform: sendspin
id: sendspin_source
media_player:
- platform: speaker_source
id: sendspin_media_player
name: Sendspin Media Player
media_pipeline:
speaker: i2s_speaker_output
sources:
- sendspin_source
# ===== Track Metadata (Optional) =====
text_sensor:
- platform: sendspin
type: title
name: Track Title
- platform: sendspin
type: artist
name: Artist
- platform: sendspin
type: album
name: Album
- platform: sendspin
type: year
name: Year
- platform: sendspin
type: track
name: Track Number
# Only necessary for sensor metadata
sensor:
- platform: sendspin
type: track_duration
id: sendspin_track_duration