Live Audio Streaming

439
Live Audio Streaming

Components Used

  • ESP32

    × 1

    Main controller of the system

  • max98357A

    × 1

    Digital to Analog Converter

  • INMP441

    × 1

    I2S Microphone

Video

DigiKey My-list

https://www.digikey.in/en/mylists/list/X3HV4BFFNM

I built this project by creating a complete live audio streaming system using two ESP32 boards. One ESP32 works as the transmitter with an INMP441 I²S microphone, and the other ESP32 works as the receiver with a MAX98357A I²S DAC and a speaker. Below is the step-by-step process I followed:

  1. Planned the Objective
    My goal was to transmit live audio from a microphone to another device using Wi-Fi with low latency. I selected ESP32 because it supports I²S audio and Wi-Fi in one chip.
  2. Collected All Components
    I used two ESP32 development boards, an INMP441 microphone, a MAX98357A DAC module, a small speaker, jumper wires, and USB power cables.
  3. Designed the System Workflow
    The transmitter captures sound → converts it to digital using INMP441 → ESP32 sends the audio packets over Wi-Fi → receiver ESP32 gets the packets → MAX98357A converts them to analog → speaker plays the sound.
  4. Made the Wiring Connections
    I connected the INMP441 microphone to the transmitter ESP32 using I²S pins (WS, SCK, SD).
    On the receiver side, I connected the MAX98357A DAC to the ESP32 using I²S pins (BCLK, LRC, DIN) and connected the speaker to the DAC.
  5. Configured the Transmitter Code
    On the first ESP32, I initialized the I²S microphone, set the sample rate, read audio data, and sent it continuously to the receiver’s IP address using UDP over Wi-Fi.
  6. Configured the Receiver Code
    On the second ESP32, I opened a UDP socket, received incoming audio packets, and fed them into the MAX98357A DAC using I²S output to play audio on the speaker.
  7. Connected Both Devices to Wi-Fi
    I connected both ESP32 boards to the same Wi-Fi network and set the receiver’s IP address inside the transmitter code.
  8. Flashed and Tested the Setup
    I uploaded the transmitter and receiver programs, powered both boards, spoke into the INMP441 microphone, and verified that the speaker played the live audio with low delay.
  9. Improved Stability
    I adjusted buffer sizes and packet lengths to reduce glitches and maintain smooth real-time audio streaming.
  10. Documented the Final System
    I prepared wiring diagrams, explanation notes, and testing results to complete the project submission:

Schematic

 

PCB Planning

Final Outcome 

 

Credits

Built by 1 contributor

Comments0

Join the discussion — share a question or tip.

Be the first to share your thoughts on this project.