DIY Projects

Retro Brick Bluetooth Handset Built with ESP32 and an HFP Module

Plenty of makers are building screen-free gadgets as a quiet protest against the black rectangle in every pocket. Kevin Noki’s version is a retro brick handset that pairs with your real phone over Bluetooth, so calls happen on a chunky 1980s-style body instead of a glass slab. It is not a cellular phone, since there is no modem inside, and that is exactly why a hobbyist can build it legally.

The build itself

Noki started with an ESP32 because one was already on his bench. The ESP32 has Bluetooth Classic, so a Hands-Free Profile (HFP) link looked easy on paper. In practice the audio came out crunchy. HFP carries voice at 8 kHz with the CVSD codec, or 16 kHz with mSBC on wideband links, and squeezing that through a general-purpose chip’s audio path while also running a display and buttons did not sound good. He swapped in a dedicated HFP Bluetooth module built for this one job, and the voice quality improved. The full story is on Hackaday, with Noki’s video embedded.

What to steal from it

The electronics lesson is simple: when a microcontroller can do something, that does not mean it should. A purpose-built codec or Bluetooth audio module saves you from debugging I2S timing at 2 a.m. If you stay with an ESP32, remember that only the original ESP32 supports Classic Bluetooth; the S3 and C3 variants are BLE only, so HFP will not work on them. The enclosure process is also worth copying. Noki mocked up the shape in XPS foam with a hand-held hot wire cutter, then made one final print instead of a dozen iterations. He bent black LED acrylic over the display with a homemade jig, which is a cheap trick for a flush window.

What to try next

This fits the wider trend of single-purpose devices, which makes a good thesis or capstone angle for ECE students: a Bluetooth handset, a dedicated walkie-talkie, or a one-button emergency caller. Start by getting a clean 3.3 V supply, a microphone, a small speaker and an HFP module on a breadboard, and check the module’s datasheet for the UART command set before you design any PCB. Browse breakout boards and OLEDs in the Arduino and modules sections at circuit.rocks, then compare the module’s audio against a plain ESP32 on the same call.

Frequently Asked Questions

Is this a real cellular phone?

No. It is a Bluetooth handset that connects to your smartphone using the Hands-Free Profile. There is no cellular modem, which avoids the regulatory approval a real phone needs.

Why did the ESP32 audio sound crunchy?

Voice over HFP is narrowband, 8 kHz with CVSD or 16 kHz with mSBC, and a general-purpose chip handling the display and buttons too gave poor quality. A dedicated HFP module fixed it.

What will I learn if I build this?

You learn how Bluetooth Classic HFP works, why dedicated audio modules beat DIY firmware, UART command control, and enclosure prototyping with foam and a hot wire cutter before a single 3D print.

This article was inspired by reporting from Hackaday. Find the parts and modules to build it at Circuitrocks.

// written by Ann Arandia

Ann Arandia covers community projects and maker events for the Circuitrocks blog. She writes about local workshops, kid-friendly electronics, and the Philippine maker scene — the people, the meet-ups, the projects that come out of them.