R4 Radio
A small internet radio in the spirit of Dieter Rams' Braun T3, with a square perforated grille, one big station dial, an e-ink screen and an alarm. Built around an ESP32.
- Part no.
- LAB-06
- Status
- idea
- Platform
- ESP32 · 3D printed
- Year
- 2026
- Stack
- ESP32I2S amp2.13" e-inkRotary encodersParametric CAD3D printing
Smart speakers are covered in lights, listen all the time and want an account. I wanted a radio that does one thing beautifully, on my bedside table, with physical controls.
A modern take on the Braun T3: turn it on, turn the dial, and Radio 4 plays. The e-ink screen shows the station, volume, Wi-Fi and the next alarm without glowing in the dark, and the alarm is set from your phone. Everything is open: printable case, standard parts, open firmware.
A one-off for my bedside. If it works, the case files and firmware go open source, and a parts kit is a possibility.
- ESP32 board + I2S amp + 2" driver≈ 250 kr
- +2.13" e-ink + two encoders + slider≈ 200 kr
- +USB-C breakout, screws, inserts, wires≈ 100 kr
- +Printed case (filament)≈ 30 kr
- =Parts for one radio≈ 550–600 kr
- −vs a design-led internet radio in the shops≈ 1,500–3,000 kr
- Streaming
- free
- Power
- a USB-C charger, ~1–2 W
- Servers
- none
One radio is a weekend. As a kit, parts are cheap but support isn't. Every builder's Wi-Fi, board version and wiring is different, so clear guides and one recommended board matter more than margins.
Worth building for the joy of it. As a product, a kit with a printed case could sell to makers, but it's not a business.
- 01Wi-Fi streamInternet radio, including BBC Radio 4 (HLS with AAC audio, the harder kind of stream).
- 02ESP32 decodesAn open-source audio library decodes the stream on the board.
- 03I2S ampA MAX98357A class-D amp drives a 2-inch full-range driver behind the grille.
- 04ControlsA big station dial on the front, a volume thumbwheel on the side, and a power slider.
- 05E-inkStation, volume, Wi-Fi and the next alarm, updated only when something changes.

Designed like Braun
The left half is a perfectly square grille of 13 × 13 round holes, T3-style. A single station dial sits flush in a well, the volume is a thumbwheel in the side, and the power is a slider underneath. Nothing else on the front.
CAD as code
The case is a parametric Python model that exports STEP for CAD tools and STLs for printing, plus dimensioned drawings and exploded views. Ten iterations (grille, display position, controls, a smaller body) were each a parameter change and a re-run.
Radio 4 vs Bluetooth: which board?
BBC Radio 4 is an HLS/AAC stream, best handled by an ESP32-S3 with extra memory. But the S3 has no classic Bluetooth, so it can’t be a Bluetooth speaker. The original ESP32 (WROVER) can, but may struggle with HLS. Both boards are in the test basket to settle it on the breadboard.
One sketch
Firmware for both test boards from one file: pick the board at the top, Radio 4 is preset one, and holding the volume wheel at power-on starts it as a Bluetooth speaker on the WROVER.
Idea stage. The CAD is at rev J and a breadboard guide and first-draft firmware exist. Parts are in a basket but not ordered yet. Next is breadboarding both boards, picking the winner, updating the case's mounting posts and printing it.