ESP32 • Voice • Dad jokes by definition

DADLEXA

My son wanted Alexa. I gave him Dadlexa instead.

Say “Hi ESP,” ask a question, and it goes straight to me. I answer with a Telegram voice message and the little speaker plays my response back for him. No synthesized dad required.

$24.95

THE WHOLE HARDWARE STARTING POINT

A surprisingly capable part from Amazon

Dadlexa runs on a Waveshare ESP32-S3 AI Smart Speaker board. For about twenty-five bucks it already has the processor, dual microphones, audio codec, speaker, SD card slot, Wi-Fi, buttons, and a seven-pixel RGB ring. I just had to make it useful.

ONE WAKE WORD, TWO PATHS

What happens after “Hi ESP”

01

Play a song

If the recording matches a phrase in the music manifest, Dadlexa streams the matching MP3 from its SD card and plays it locally.

The useful part: I do not have to pull the SD card. Dadlexa hosts its own web server, so I can upload another song and its voice command remotely from a browser on the local network.
02

Ask Dad anything

If it is not a song request, Dadlexa records the question, encodes it as Ogg/Opus, and sends it to me through a Telegram bot.

I answer in my own voice. The device polls for my reply, downloads it, decodes it on the ESP32, and plays it through the speaker. The demo below shows this whole loop.

THE TELEGRAM LOOP

A question in. Dad’s voice out.

The ring gives him feedback while Dadlexa records, uploads, waits, and plays the reply. The clever technology is mostly there to make the interaction feel simple: ask the little cylinder a question and eventually Dad answers.

  1. Wake detected and recording
  2. Voice uploaded to Telegram
  3. Waiting for Dad’s reply
  4. Reply received and playing

BUILT-IN CONTENT MANAGEMENT, BASIC ON PURPOSE

New songs without touching the SD card

Dadlexa local web interface for uploading songs

The ESP hosts a small admin page that lists every phrase-to-song mapping and every MP3 on the card. I enter a phrase, choose a file, and hit Upload and reboot.

The server writes the new file, appends it to the manifest, and restarts. It is not fancy. It means that when my son asks for a new song, I can add it without opening the device—which is much better than fancy.

UNDER THE LITTLE CYLINDER

Technical details

FirmwareNative ESP-IDF
Wake wordESP-SR WakeNet · “Hi ESP”
CommandsESP-SR MultiNet
ProcessorDual-core ESP32-S3 · 240 MHz
Memory8 MB PSRAM · 16 MB flash
Audio inputDual mic array · ES7210 codec
Audio outputES8311 codec · onboard speaker
Voice transportTelegram Bot API · Ogg/Opus
MusicSD card · streamed MP3 decode
Feedback7-pixel WS2812 RGB ring
Recording16 kHz mono · silence detection
ControlsK1/K2 replay buttons

OPEN SOURCE

One of my more silly projects, for sure.

But it works, it cost about $25, and now Telegram is quietly collecting voice recordings of my son asking me questions. That might end up being the best feature of all.

Back to All Projects