RobustPhone - ESP32 Walkie Talkie in the Style of a Candlestick Telephone

by RobustTeam in Circuits > Microcontrollers

170 Views, 3 Favorites, 0 Comments

RobustPhone - ESP32 Walkie Talkie in the Style of a Candlestick Telephone

IMG_20250713_031851.jpg
WhatsApp Image 2025-07-14 at 18.30.34.jpeg

The Robustringphone is our (three person) semester project that we made for our university course Interactive Prototyping. We started out feeling inspired by the simplicity of the old 2 cans and a string type "telephones", wanting to bring that idea into the digital age by making it wireless. In the end we decided for the look of vintage candlestick telephones instead, because the design would be a lot more fun and had more character than two 3D printed cans.

So we ended up with a robust, refined and recognisable right away design. But instead of just copying the past, we combined it with some modern ideas:

  1. Push-to-talk button for a walkie-talkie–style experience
  2. NeoPixel rings that visualize the speaker’s volume with colour and light as well as a second one on the receiver visualizing the incoming volume
  3. Pitch control using a potentiometer to playfully distort the incoming voice
  4. Rechargable battery and a USB-C port for easy and convinient charging

We built two different versions during the semester: one entirely 3D-printed, and another with hand-crafted parts from a wood lathe mixed in with 3D-printed parts. Both versions still have the same inner parts and communication between them is possible without any delay. In this instructable we will mainly focus on the 3D printed one.

They will become part of a permanent exhibition at our university, where they aim to spark curiosity in potential future students who will see what's possible at RheinMain University of Applied Sciences.

Supplies

Pin Connectors.jpg

Electronic parts

(links for each part are in the table in the PDF (some for german websites only)):

Main Controller & Power

  1. ESP32: ESP-WROOM-32D module. This is the main microcontroller with wireless connectivity.
  2. Battery: 3.7V 1200mAh LiPo. This is the power supply for the entire system.
  3. Charger Board: TP4056 DEBO1 3.7LI 1.0A. Handles charging of the LiPo battery.

Audio Components

  1. Microphone: MAX9814 Electret Mic Amp with Auto Gain Control.
  2. Amplifier: PAM8302A Adafruit Mono 2.5W Class D Audio Amplifier. Amplifies the audio signal for the speaker.
  3. Speaker: LSM-45F, 8Ohm, 0.2 watt, Ø= 45 mm.

User Controls & Interface

  1. Toggle Switch: 1-pin, 10 A - 125 V AC. Used for switching the system power on and off.
  2. Rotary Potentiometer: Logarithmic, 6 mm, mono, 10 kOhm. For adjusting the pitch of the incoming voice.
  3. Round Push Button: 0.2 A - 250 VAC, Ø 12 mm. The user input button to activate transmission.
  4. NeoPixel Ring (12 LED): 12 x 5050 RGBW LEDs, ~4500K. Provides visual feedback for incoming audio.
  5. NeoPixel Ring (24 LED): 24 x 5050 RGBW LEDs, ~4500K. Provides visual feedback for the recorded voice.

Hardware & Connectivity

  1. Printed Circuit Board: 4x6 cm, Double-Sided. For mounting electrical components and connections.
  2. Pin Connectors: (Please see the image). These create stable plug connections to keep parts modular and easy to assemble.
  3. 3 XH-4A and XH-4Y
  4. 2 XH-2A and XH-2Y
  5. 4 XH-5A and XH-5Y
  6. 1 XH-3A and XH-3Y


Software


Arduino IDE to write the code for the ESP32-Microcontrollers. We used the following libraries to help us with this:

  1. Library: Adafruit NeoPixel - To access the RGB(W)-LED-Rings
  2. Library: ESP-NOW – To help with wireless data transmission
  3. Library: WiFi – WiFi communication available within ESP32-Core

To design the circuits for our hardware we used Fritzing.

We used Fusion360 to design the casing to fit the parts in properly. The final design also provided the basis for the woodturning project.


3D Print


To prepare the STL files for 3D printing we used Prusa-Slicer

The 3D printers used to print were Anycubic i3 Mega S and a Creality K1C with the filament PLA

Base Circuit for Soldering the Components

fritz2.png

The circuit above diagram serves as the foundation for assembling the hardware components.

Tip: Use as many connector sockets as possible to keep the build modular and easy to maintain.

More Information are in Step 2 to Step 4


Solder the Wires to the Terminals of the Following Parts:

WhatsApp Image 2025-07-01 at 17.34.35.jpeg
WhatsApp Image 2025-07-08 at 17.35.41.jpeg

NeoPixel Ring (Adafruit 2852)

  1. V+ / 5V → Power supply +
  2. GND → Ground
  3. DIN (Data In) → ESP32 (digital output pin)

Speaker (LSM-45F, 8 Ω, 0.2 W, Ø 45 mm)

  1. + terminal → ESP32 (output pin)
  2. – terminal → Ground

Toggle Switch (1-pin, 10 A / 125 V AC)

  1. Common terminal → Battery positive lead
  2. Switched terminal → Power input of the circuit (goes to charger/ESP32)

Rotary Potentiometer (10 kΩ)

  1. VCC (outer pin 1) → 3.3 V supply
  2. GND (outer pin 2) → Ground
  3. Wiper (middle pin) → ESP32 analog input (used to read pitch control value)

Round Push Button (Ø 12 mm, 0.2 A / 250 V AC)

  1. One side → ESP32 GPIO (digital input pin)
  2. Other side → Ground

Battery (3.7 V LiPo)

  1. Toggle switch → Charger board VIN
  2. Ground

Charger Board (TP4056)

  1. B+ → Battery +
  2. B– → Battery –
  3. OUT+ → Toggle switch output
  4. OUT– → Ground

Amplifier (PAM8302A)

  1. VIN → 5V
  2. GND → Ground
  3. A+ → ESP32 DAC / PWM pin (audio input)
  4. A– → GND
  5. SPK+ → Speaker + terminal
  6. SPK– → Speaker – terminal

Circuit Board and ESP32:

esp2.png
hard3.jpg
hard4.jpg
BoardPin.png

Now it’s time to solder the components and connectors onto the custom PCB.

Use the connector table together with the reference images to make sure every JST connector is wired to the correct ESP32 pin and supply rail.

  1. Start by placing the ESP-WROOM-32D module in the center of the board.
  2. Carefully solder the JST connectors around the module according to the pin mapping in the table.
  3. Double-check the orientation of each connector before soldering – this ensures the cables plug in correctly later.
  4. Make sure all GND lines are connected to the common ground rail and that power rails (3.3 V / 5 V) are distributed properly.
  5. Keep your solder joints clean and avoid solder bridges between neighboring pins.

Once complete, you will have a plug-and-play control board where every external part (NeoPixels, potentiometer, button, amplifier, battery, charger) connects directly via JST connectors.

Hardware Complete

hardalles.png

If everything has been assembled correctly, the final result should look like the last picture.

Software

As preparation, all required libraries should be installed in the Arduino IDE.

The program code is then uploaded to the ESP32 board via the USB connection.

The MAC address must be adjusted according to the board in use – each board requires the MAC address of the other in order to establish a connection. The project includes the code in the file robust.ino.

Downloads

3D Printing the Case

WhatsApp Image 2025-07-08 at 19.54.38.jpeg
base.png
mund.png
ohr.png

3D print files in STL format are available for the enclosure shown in the photos.

You can open the files in any slicer software (e.g. PrusaSlicer or OrcaSlicer) and prepare them for your 3D printer. Once sliced, simply print the parts and assemble them with the electronics as described in Step 7.

Tip: Do not use a resin printer for this project because the threads will not thread properly and the entire case will warp.

Assembly

WhatsApp Image 2025-07-14 at 18.30.33.jpeg

In the following steps, the hardware components will be gradually placed into the enclosure.

Mounting the Speaker

spc.png

Insert the speaker into its designated holder and carefully screw on the earpiece.

Make sure the speaker sits firmly in place and that the earpiece is tightened evenly without stressing the plastic housing. The Wire goes through the designated hole. Do not glue the holder (top of the image) in place yet.

Installing the NeoPixel Rings

neo.png

Place the NeoPixel rings into their designated slots in the enclosure.

Make sure the connectors remain accessible and that the rings are secured firmly so the LEDs are clearly visible from the outside.

The enclosure includes small holes for routing the wires. For extra stability, it’s best to hot glue the rings in place once aligned.

Once you've carefully gotten the wires through the speaker holder, you can hot glue it in place as well.

Installing the Microphone

mic.png
IMG_20250713_0235211.jpg

Insert the microphone with the connectors into its slot in the enclosure.

For a secure fit, it is best to hot glue it in place.

Final Assembly

base.png
red.png

Mount the remaining components – insert the switch, potentiometer, and push button into the enclosure.

Place the rest of the electronics into the base, route all cables through the openings, and connect them to their corresponding JST connectors.

Do not glue the main PCB in place, as the base will be screwed shut and holds it securely.

However, make sure to glue the charging board (TP4056) in position so it does not move inside the enclosure.

The top part of the enclosure is secured with four screws.

Be careful when screwing the base shut, we totally didn't learn this the hard way and had to solder a bunch of connections again.

Bonus - Woodturning Part 1

signal-2025-07-14-181947_002.jpeg
signal-2025-07-14-181947_004.jpeg

So, because we were feeling fancy and one of us had a woodturning lathe, we decided to make one of the phones partially out of wood.

The wood in question is yew, because it is robust and lovely to look at. The measurements are all the same except for the base, that wound up a little smaller, but we recommend making it as broad as the 3D printed one.

Bonus - Woodturning Part 2

signal-2025-08-25-203201.jpeg
signal-2025-08-25-203201_003.jpeg

The Base is basically being turned like a bowl, turn your tenon and throw it in a chuck. Use a 25mm Forstner drill to drill as deep as you can go, basically you want the hole where the cables come through later pre drilled so when you remove the tenon later you don't have to remove much more material. Just be careful not to drill into your tenon.

IMG-20250709-WA0039.jpg

The shaft is pretty straightforward. Just pretend you're turning a candlestick. You still want a tenon though because you need to drill a very deep hole through the center. Depending on how thick your thickest drill is, the cables will be easier to get through. Aim for minimum 20mm for the hole and adjust the thickness of the end for the base so you can press fit it.

Bonus - Woodturning Part 3

WhatsApp Image 2025-07-14 at 18.30.32.jpeg
IMG-20250709-WA0041.jpg

The finish on all turned pieces is the same. Sanded from 80 - 600 grit, two layers of boiled linseed oil (each layer left 24 hours to dry) and a polish with some beeswax.

Assembly is very similar, except that you need to drill the holes for the buttons.