Skip to content
MCU Atlas
ESP32ESP32Draft

ESP32 walkie-talkie over UDP or ESP-NOW

Push-to-talk walkie-talkies made from ESP32s, an I2S mic and amp, talking over Wi-Fi or ESP-NOW.

Difficulty:IntermediateCost:Source available

Photos

ESP32 walkie-talkie over UDP or ESP-NOW photo 1

Photos: atomic14/esp32-walkie-talkie

Key Facts

  • Chip: ESP32
  • Audio in: INMP441 I2S mic
  • Audio out: MAX98357 I2S amp
  • Link: ESP-NOW or UDP broadcast

About This Project

Chris Greening (atomic14) built a pair of walkie-talkies using ESP32 boards, INMP441 I2S microphones and MAX98357 I2S amplifiers. Audio is captured, sent as UDP broadcast or ESP-NOW packets, and played on the other unit while a button is held. It is a compact, well-explained demo of real-time audio on the ESP32 and the ESP-NOW protocol, with an accompanying YouTube video.

Source & Attribution

Source: GitHub
License: MIT
Last verified: 10/16/2026
ESP32 walkie-talkie over UDP or ESP-NOW
How to Build It
A pair of ESP32 walkie-talkies that send audio over ESP-NOW, which needs no router, or over UDP broadcast on your Wi-Fi. Each unit uses an I2S MEMS microphone, an I2S amplifier and a speaker, and everything wires up on a breadboard.

Parts Needed

  • 2x ESP32 dev boards
  • 2x INMP441 I2S microphones (or the author's mic board)
  • 2x MAX98357 I2S amplifiers
  • 2x 4Ω speakers
  • 2x push-to-talk buttons
  • Breadboard and jumper wires

Steps

  1. 1

    Wire each unit

    Connect the mic and amp to the ESP32's I2S pins, plus a push-to-talk button. Everything is digital I2S, so jumper wires are fine. The pins are defined in src/config.h.

  2. 2

    Choose the transport

    ESP-NOW is the default and needs no Wi-Fi network. For UDP broadcast, comment out #define USE_ESP_NOW in src/config.h.

  3. 3

    Set Wi-Fi (UDP only)

    If you use UDP, enter WIFI_SSID and WIFI_PSWD in config.h.

  4. 4

    Build and upload

    Open the project in PlatformIO, connect each ESP32 in turn, then build and upload.

  5. 5

    Talk

    Hold the button on one unit to talk, and the other plays the audio. You can switch to the ESP32's built-in ADC or DAC in config.h if you want analog parts.

Parts List (BOM)
Parts list inferred by MCU Atlas — check the original
inferred
PartQtyRoleEst. PriceBuy
2main board$5–$10View
2mic$2–$5View
2amp$3–$6View
2speaker$2–$5View
2button$1–$3View
Estimated Total$26–$58 USD

Not included: 3D-printed case, wire, solder, USB cable

Download CSV

Related Projects

Watchy: open-source ESP32 e-ink smartwatch
Illustration
ESP32Draft
An open-source smartwatch with a 1.54in e-paper screen and ESP32, hackable watch faces in Arduino.
Beginner·Under $15·Code
2 parts listed
Low-power ESP32 e-paper weather display (7.5in)
Illustration
ESP32Draft
A wall-mounted 7.5in e-paper weather display on an ESP32 that runs for months on one battery charge.
Intermediate·Cost varies·Code
5 parts listed
OpenEPaperLink: reuse e-ink shelf labels with an ESP32 access point
Illustration
ESP32ESP32-S3Draft
Turns cheap second-hand electronic shelf labels into a Wi-Fi-managed e-ink display fleet via an ESP32 access point.
Advanced·Under $15·Code
3 parts listed