← documentación

Cableado de audio I2S

micrófono INMP441 + amplificador MAX98357A

Referencia de cableado del equipo de Voz para el ESP32-S3, y el estado real de la conversión voz ↔ texto de punta a punta.

mic + parlante verificados en placa handshake TLS sin medir (#25) eventos voice.* sin implementar (#9 / #26)

Un solo bus I2S, half-duplex a propósito

El micro y el parlante nunca transmiten a la vez, así que comparten reloj de bit (BCLK) y selector de canal (WS), y cada uno se queda con su propia línea de datos: 4 pines en vez de 6.

ESP32-S3 un puerto I2S INMP441 (micro) MAX98357A (amp) BCLK · GPIO 15 (compartido) WS / LRC · GPIO 16 (compartido) datos · GPIO 17 · habla el micro datos · GPIO 18 · habla el buddy
El reloj y el selector de canal son un solo par de cables para ambos módulos; solo las líneas de datos son exclusivas.

Esquema completo de cableado

ESP32-S3 GPIO15 GPIO16 GPIO17 GPIO18 GPIO2 5V 3V3 INMP441 VDD3V3 SCKGPIO15 WSGPIO16 SDGPIO17 L/R → GND MAX98357A Vin5V BCLKGPIO15 LRCGPIO16 DINGPIO18 SD (mute)GPIO2 PARLANTE salida en puente (BTL) + − ningún cable a GND reloj / canal (compartido) datos I2S alimentación / control
⚠

La salida del MAX98357A es en puente (BTL). Ni + ni − del parlante es masa. Conectar cualquiera de los dos a GND cortocircuita media etapa de salida y quema el chip. Usa el conector JST-PH del parlante tal cual, o un latiguillo hembra con cables sueltos.

Tablas de referencia

Micrófono INMP441

PinVa aNota
VDD3V3nunca 5 V
GNDGND—
SCKGPIO 15compartido con el amp
WSGPIO 16compartido con el amp
SDGPIO 17datos: habla el micro
L/RGNDnunca al aire — causa nº1 de "grabo y hay silencio"

Amplificador MAX98357A

PinVa aNota
Vin5Va 3V3 suena más flojo
BCLKGPIO 15compartido con el micro
LRCGPIO 16compartido con el micro
DINGPIO 18exclusivo
SDGPIO 2mute por hardware, no solo apagado
GAINal aire9 dB por defecto

Pipeline texto–voz–texto: qué está armado

La mitad local (capturar, mutear, reproducir) ya corre en hardware. La mitad de nube tiene proveedor decidido pero ningún evento del bus la conecta todavía al firmware.

EtapaProveedorEstado
Captura + mute (I2S)INMP441 + MAX98357Averificado en S3
Cerebro (LLM)Claude Haiku 4.5contrato brain.ask/brain.reply en código
STTOpenAI gpt-4o-mini-transcribedecidido, sin cablear (#9/#26)
TTSOpenAI gpt-4o-mini-ttsdecidido, sin cablear (#9/#26)

Cómo probarlo

# tono de prueba de 440 Hz por el parlante source ~/.espressif/tools/activate_idf_v6.1.sh git fetch origin spike/i2s-audio git checkout spike/i2s-audio cd spikes/i2s-audio idf.py set-target esp32s3 idf.py -p /dev/ttyACM0 flash monitor

Qué falta