iotta codec-board audio IO — ES8311 DAC + ES7210 mic-array ADC over a shared full-duplex I2S bus (esp_codec_dev). Optional Build-B voice backend for the iotta device SDK; wire via Esp32Platform::set_audio().
iotta device SDK — ESP-IDF binding. Runs the portable iotta core (session/protocol state machine, provisioning, MCP, audio pipeline, OTA) on ESP32-S3 by implementing the PAL with ESP-IDF APIs: control plane, voice over I2S, and A/B OTA. Add this component and wire it from your app's app_main (see example/ and sdk/docs/PORTING_NEW_CHIPSET.md).
This is an ACME client for ESP (ESP32, etc) devices, so your IoT can fetch their own certificate for secure communication. ACME is a protocol (see <a href="https://tools.ietf.org/html/rfc8555">RFC8555</a>) for automatic certificate management. Sites such as letsencrypt.org allow you to obtain free (no charge) certificates in an automated way using the ACME protocol. Now also supporting the ARI protocol, to learn about when to renew a certificate. Also works with Google ACME, next to Letsencrypt.
iotta Opus voice codec — libopus (xiph/opus pinned by commit sha) plus the shared iotta make_opus_encoder/decoder factories. Optional: only needed by firmwares that enable the voice path (CONFIG_IOTTA_ENABLE_VOICE).