ESP32 ESP-NOW Walkie Talkies

For full firmware, wiring details, documentation, and project files, see the GitHub repository: github.com/GuzziFlipFlops/ESP32-Walkie-Talkie

Overview

This project is a pair of custom digital walkie talkies built around ESP32 boards with external antennas, OLED displays, I2S audio hardware, and custom 3D-printed casings. They communicate directly with each other using ESP-NOW, so they do not need a router, hotspot, or cellular connection to work.

The goal was to build a real handheld communication system, not just a desk prototype. Each unit has its own screen, buttons, battery monitoring, volume control, and a menu-driven interface. The result is a compact embedded device that combines wireless communication, real-time audio, and custom hardware design into a fully self-contained build.

What it does

These walkie talkies send voice directly from one ESP32 to another using ESP-NOW. Audio is captured through an I2S microphone, processed in firmware, compressed, transmitted wirelessly, decoded on the receiving side, and then played through a speaker amplifier and internal speaker.

The system includes:

  • push-to-talk voice communication
  • 20 logical channels
  • OLED user interface
  • link detection
  • battery monitoring
  • signal indicator
  • volume control
  • menu-based apps and settings
  • onboard diagnostic logging

The same hardware can also be reused as a wireless controller for other ESP32 or Wi-Fi projects. Since each unit already has a screen, buttons, battery power, and radio capability, it can be adapted for robots, RC systems, lights, or other IoT devices.

What makes it work well

A basic wireless voice demo is not that hard. Making it work like a real handheld device is harder.

To improve usability, I added several firmware features that make the system much more robust:

  • audio compression so voice fits efficiently into ESP-NOW packets
  • jitter buffering so received audio plays more smoothly
  • packet-loss concealment to reduce harsh dropouts
  • heartbeat packets for link detection
  • weak-link redundancy that sends duplicate frames when signal conditions get worse
  • onboard telemetry logging for range testing and diagnostics

These details matter because wireless performance changes constantly with interference, antenna placement, and obstacles. Instead of guessing why the link gets worse, the firmware records data such as RSSI, link quality, jitter depth, duplicate packets, and missing-packet behavior.

Hardware

Each walkie talkie is built around an ESP32-U style development board with an external antenna. The supporting hardware includes:

  • SSD1306 OLED display
  • I2S microphone
  • I2S speaker amplifier
  • internal speaker
  • potentiometer for volume
  • six push buttons
  • LED
  • 3.3 V laser module
  • battery voltage monitoring
  • lithium battery power system
  • custom 3D-printed enclosure

The project has two physical versions, a black walkie and a grey walkie. They are wired slightly differently, so the firmware supports separate board profiles instead of forcing both devices to be identical. That made the system easier to maintain and much more practical to develop.

Design and build process

The electronics were first tested outside the enclosure, subsystem by subsystem. After confirming the power system, display, microphone, buttons, amplifier, and battery measurement were working, everything was arranged into the printed casing.

One of the biggest lessons from this build was that internal layout matters almost as much as the circuit itself. The second unit has cleaner routing, thinner wiring, and better internal placement than the first version. That made it easier to close, easier to debug, and much easier to improve.

This project ended up being a combination of several disciplines at once:

  • embedded firmware
  • wireless protocol work
  • digital audio handling
  • power and battery integration
  • user interface design
  • 3D enclosure design

Challenges

Audio over ESP-NOW

ESP-NOW is fast and convenient, but it is not a complete voice-radio solution on its...

Read more »