esp-adf  by espressif

Multimedia development framework for Espressif SoCs

Created 7 years ago
2,138 stars

Top 20.7% on SourcePulse

GitHubView on GitHub
Project Summary

Summary Espressif Advanced Development Framework (ESP-ADF) provides a comprehensive SDK for developing sophisticated audio and multimedia applications on Espressif's ESP32 series SoCs. It targets embedded systems engineers needing to integrate advanced audio playback, recording, voice recognition, and video streaming into IoT devices. The framework simplifies integration of diverse media formats, network protocols, and cloud services, accelerating feature-rich multimedia product development.

How It Works Built on Espressif's IoT Development Framework (ESP-IDF), ESP-ADF offers a layered approach to multimedia development. It abstracts complex hardware interactions and provides high-level APIs for audio codecs, streaming protocols, and peripheral management. Key features include support for numerous audio formats (MP3, AAC, FLAC, WAV, OPUS, etc.) and playback sources (HTTP, HLS, SDCARD, A2DP), alongside media protocols like DLNA and VoIP. This design enables efficient development of applications from simple music players to complex voice-controlled systems and video streaming devices.

Quick Start & Requirements Requires a compatible ESP-IDF version (v5.1-v5.5 for ADF Master) and specific Espressif audio development boards (e.g., ESP32-LyraT-Mini, ESP32-S3-Korvo-2, ESP32-C3-Lyra, ESP32-S3-Box Series). Official documentation and getting started guides for specific SoCs are available. The ESP-ADF master branch is recommended for the latest features and bug fixes.

Highlighted Details

  • Supports numerous audio formats: MP3, AAC, FLAC, WAV, OGG, OPUS, AMR, G.711.
  • Enables playback from HTTP, HLS, SPIFFS, SDCARD, A2DP (Source/Sink), and HFP.
  • Integrates media protocols: DLNA, VoIP, RMTP, ESP-RTC (SIP, RTSP, RTCP).
  • Facilitates voice recognition (Alexa, DuerOS), video calls, recording, and live streaming.

Maintenance & Community Documentation is available at https://docs.espressif.com/projects/esp-adf/. Community support and discussions are on the esp32.com forum (dedicated ESP-ADF section). Bug reports and feature requests should use GitHub Issues. A Contributions Guide is provided.

Licensing & Compatibility The specific open-source license is not detailed in the provided README. Compatibility is focused on Espressif's ESP32, ESP32-S2, ESP32-C3, ESP32-C6, ESP32-S3, and ESP32-P4 SoCs. ESP-ADF master is not supported on the ESP-IDF master branch due to potential feature conflicts.

Limitations & Caveats The framework does not support the ESP-IDF master branch due to potential conflicts. Several older audio boards (e.g., ESP32-LyraT, ESP32-S2-Kaluga-1 Kit) are end-of-life. Support for the ESP32-S3-Box series is limited to esp32-s3-box and esp32-s3-box-lite models.

Health Check
Last Commit

6 days ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
9
Star History
24 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.