I've spent more than fifteen years watching makers turn clever ideas into boards that actually survive daily use. Every so often a project walks in that still makes me grin. TechTalkies' free internet radio is one of those.
The video starts with a compact little device that streams more than thirty thousand stations, needs zero subscriptions, and is controlled by a single rotary encoder. No cloud lock-in, no proprietary keys—just the open Radio Browser API and a handful of carefully chosen parts. What began as a classic "wire it up and see if it sings" prototype quickly became something people leave playing on their desk all day. That leap only happens when the hardware stops fighting the idea.
The Simple Desire That Started Everything
TechTalkies wanted a radio that felt like an old analog set but lived entirely on the internet. Spin the knob to change stations, filter by country or genre, watch the track title update live from ICY metadata, and never pay a monthly fee. The XIAO ESP32S3 was the natural choice for its tiny size and dual-core power. Audio lived on Core 0 through a MAX98357A I2S amplifier driving an 8 Ω 2 W speaker. The interface ran on Core 1, pushing a 1.8-inch ST7735 (160 × 128) with GFXcanvas16 double buffering so the screen never flickered. A KY-040 rotary encoder handled volume, browsing, and long-press menus, decoded with proper gray-code logic for clean direction sensing.
Figure: Internet Radio Hardware
The first version was pure maker joy—Dupont wires, two external 5 V barrels, and a breadboard that looked like a colorful spider. It worked. Comments flooded in from people who finished the build and left it running for hours. But wires wiggle, connectors loosen, and audio paths love to pick up noise. The next logical step was a proper printed circuit board that would turn the prototype into something you could hand to a friend without saying "please don't touch the wires."
What Actually Makes This Little Radio Feel Special
The finished device looks deceptively simple from the outside — a small screen, one rotary knob, and a clean 3D-printed case. Inside, however, several smart decisions work together to make the experience feel polished and genuinely enjoyable rather than like a typical maker project.
Here are the key features that turn daily listening into something people actually keep using:
● Dual-core FreeRTOS architecture — Audio decoding and streaming run exclusively on Core 0 while the entire user interface lives on Core 1. The result is a responsive screen and encoder even while a high-bitrate stream is playing.
● GFXcanvas16 double buffering — The 1.8" ST7735 (160×128) never tears or flickers when station names or live ICY metadata update.
● Smart KY-040 rotary encoder — Single control for volume, station browsing, and tuning. Short presses change values; long presses open country and genre filter menus. Gray-code decoding keeps direction detection reliable.
● On-device country + genre filtering — You can narrow 30,000+ stations without ever leaving the radio or opening a phone.
● Automatic dead-stream skipping — Unreachable or silent stations are quietly dropped so the radio keeps playing instead of freezing on a dead link.
● Live ICY metadata display — Current song or show titles appear on the screen in real time.
● Clean custom PCB layout — Short I2S traces and a solid ground plane keep the MAX98357A amplifier quiet, while the compact board lets the 3D enclosure close properly without wire mess.
These features work together so the radio feels closer to a commercial product than a weekend experiment. The dual-core split and double buffering remove the usual "maker lag," while the single-knob interface and automatic stream handling remove daily friction.
Why the XIAO ESP32S3 Was the Perfect Brain for This Radio
When TechTalkies chose the Seeed XIAO ESP32S3, it wasn't just about picking the smallest ESP32 board on the market. It was a deliberate decision that shaped both the user experience and the final manufacturability of the radio.
Figure: XIAO ESP32S3 Overview
The ESP32-S3's dual-core Xtensa LX7 processor running at up to 240 MHz gave the project exactly what FreeRTOS needed: one core dedicated to continuous audio decoding and streaming, the other free to handle the display and rotary encoder without any lag. The onboard 8 MB of PSRAM and 8 MB of Flash provided the breathing room required for smooth double-buffered graphics and reliable audio buffering — something many smaller ESP32 boards simply cannot offer.
At only 21 × 17.8 mm, the XIAO's classic form factor kept the entire radio compact enough to fit inside a clean 3D-printed enclosure. Even more important for a production-minded build, the board uses standardized stamp-hole edges. This makes it trivial to design a proper custom PCB around it — no awkward headers, no extra connectors, just a clean surface-mount footprint that assembles like a real product.
The strong 2.4 GHz Wi-Fi performance also proved essential. Internet radio depends on stable connections when switching between distant stations, and the XIAO delivered consistent streaming without external antennas in normal home environments. Combined with excellent Arduino support, it let the creator focus on features rather than fighting the platform.
In short, the XIAO ESP32S3 struck the rare balance of being small enough for a neat final device, powerful enough for dual-core real-time audio + UI, and production-ready enough that turning the prototype into a custom PCB felt natural rather than forced.
The Board Specs That Quietly Solved the Hard Parts
Once the decision was made to leave the breadboard behind, the board parameters settled around real constraints rather than theoretical perfection.
|
Parameter |
Specification |
Why It Mattered for This Build |
|---|---|---|
|
Layers |
4-layer FR-4 |
Continuous ground and power planes for quiet I2S and SPI |
|
Board thickness |
1.6 mm |
Rigid enough for a handheld or desk radio |
|
Copper weight |
1 oz outer / 0.5 oz inner |
Enough current for the amp without driving cost up |
|
Surface finish |
ENIG |
Reliable contact for the encoder and display FPC |
|
Min trace / space |
0.15 mm / 0.15 mm |
Comfortable for the XIAO footprint and short I2S runs |
|
Via strategy |
Through-hole + selective microvias |
Clean escape from the dense module pads |
|
Impedance control |
50 Ω single-ended on critical clocks |
Kept BCLK and SPI edges clean |
|
Silkscreen |
Designators + polarity marks |
Friendly for both hand soldering and small-batch assembly |
The layout kept the MAX98357A close to the speaker terminals with short, wide traces. I2S lines were length-matched and guarded by ground pours. Decoupling capacitors sat within a few millimeters of every power pin. The KY-040 got local pull-ups and a small RC filter right at the connector so mechanical bounce never reached the MCU.
The Potential Friction Waiting Beyond the Prototype
The video itself shows a clean, carefully built modular radio that works well. That success is real. At the same time, anyone who has moved similar ESP32 + I2S + encoder projects off the bench knows a set of potential issues that tend to appear once the design leaves the creator's controlled setup.
Audio is the most common pressure point. The MAX98357A is a capable Class-D amplifier, yet it is sensitive to its power and ground environment. When the 5 V rail for the amplifier shares long jumper wires with the ESP32's 3.3 V domain, switching noise can couple into the digital lines. Viewers who tried the same parts on different ESP32 boards occasionally reported perfect Wi-Fi and a working display but no sound, or intermittent drop-outs. These symptoms almost always trace back to power integrity and return-path length rather than a faulty module.
The rotary encoder is another area where potential problems surface. Gray-code decoding in software is solid, but long Dupont wires act like antennas. Light touches or imperfect mechanical mounting can produce double counts, missed steps, or occasional freezes. On a floating breadboard the encoder shaft also rarely lines up cleanly with a front panel, so the physical feel never quite matches the polished software interaction.
Mechanical and aesthetic issues complete the picture. A successful one-off prototype still looks temporary when it is held together by jumper wires and two separate power barrels. Once someone wants to put the radio in a case or leave it on a desk permanently, the tangle of modules becomes the limiting factor. Several comments under the video already pointed in this direction, noting that a custom PCB would make the same excellent software feel far more finished.
None of these potential friction points invalidate the original build. They simply describe the natural next set of problems that appear when a working modular prototype is asked to become a reliable everyday object. That is exactly the moment a well-designed PCB starts to matter.
How AIVON's Custom PCB Quietly Made the Radio Feel Finished
This is the part of the story I enjoy most as a factory engineer. TechTalkies already had a working schematic and a clear bill of materials. What was missing was a board that would be quiet, compact, and easy to assemble in small batches—exactly the kind of problem AIVON is built to solve.
We started with a focused DFM review of the original modular layout. Several long I2S runs and a shared ground were asking for trouble. Moving to a four-layer stackup with a continuous ground plane under the audio section and a solid 5 V pour for the amplifier eliminated the noise-floor problems that had plagued the jumper-wire version. Trace widths on the speaker output were widened to handle peak current without voltage drop. The encoder received its own local ground island with stitching vias so mechanical noise stayed local.
AIVON's engineering team also tightened the mechanical side. Mounting holes were adjusted to match common 3-D-printed enclosures. The USB-C connector was moved to the board edge for easy programming. The display connector was positioned so the FPC folded cleanly without stress. Silkscreen polarity marks and clear component outlines made hand assembly almost foolproof—important when a maker is soldering the first five boards at the kitchen table.
Once the design rules were locked, manufacturing was straightforward. ENIG finish gave reliable contact on the encoder and display connectors. Controlled impedance on the clock lines kept the SPI display and I2S audio free of edge-rate issues. Because the board was compact, panelization stayed efficient and unit cost remained friendly for a hobby project. The whole process—from design feedback to finished boards—felt like a genuine partnership rather than a simple order.
The result was a single AIVON-manufactured board that replaced a tangle of modules and wires. Audio became consistently clean. The encoder felt precise. The whole radio dropped into a compact enclosure without a single flying lead. That is the quiet magic of good DFM support: the same software, the same stations, the same user experience—only now the hardware stops being the limiting factor and the idea can finally live as a finished product.
Practical DFM Checklist for This Exact Style of Internet Radio Board
|
Check Item |
Target / Rule |
Why It Matters Here |
|---|---|---|
|
I2S length matching |
< 5 mm difference between BCLK / LRCLK / DIN |
Prevents audio glitches and clock skew |
|
Amplifier power delivery |
Solid 5 V pour, ≥ 1 mm wide to speaker pads |
Avoids voltage sag under Class-D peaks |
|
Local decoupling |
100 nF + 10 µF within 3 mm of every VDD pin |
Keeps digital noise out of the audio path |
|
Encoder signal conditioning |
100 Ω + 100 pF RC right at the connector |
Stops mechanical bounce from resetting the MCU |
|
Ground stitching density |
Via every 5–8 mm under I2S and SPI regions |
Maintains clean return paths |
|
Speaker trace current capacity |
Calculate for 2 W into 8 Ω + 50 % margin |
Prevents heating and voltage drop |
|
Display FPC isolation |
Keep high-speed SPI away from speaker return |
Reduces audible digital noise in the audio |
|
Panelization & tooling |
Match final enclosure mounting holes |
Board drops straight into the case |
The Quiet Satisfaction of a Finished Radio
TechTalkies began with a simple desire: a radio that cost nothing to run and felt good to use. The modular prototype proved the concept. The custom PCB turned that proof into a device you can leave on the kitchen counter without apology. Clean power, short audio paths, and a layout that respects both the silicon and the human hand made the difference.

If you have a project that already works on a breadboard but still feels temporary, that is exactly the moment to talk to a manufacturing partner who understands makers. Upload the design, get the DFM notes, and watch the same idea become something solid. The stations are free. The board doesn't have to be an afterthought.
FAQ
Q1: Why choose a 4-layer stackup instead of a cheaper 2-layer board for this radio?
A1: Once you mix a Class-D amplifier, SPI display, and Wi-Fi on the same small board, a continuous ground plane becomes the lowest-cost way to keep noise out of the audio path. Most silent-speaker complaints disappear the moment the I2S and SPI lines sit over a solid ground plane. Two-layer boards can work for pure digital projects, but they force longer return paths and more compromise on power distribution.
Q2: What surface finish is actually worth the money on a board with a rotary encoder and FPC display?
A2: ENIG is the practical choice here. The encoder contacts and the display FPC both benefit from a flat, corrosion-resistant surface that stays reliable after repeated mating. HASL is cheaper but can leave uneven pads that make fine-pitch connectors harder to solder cleanly by hand. For a low-volume maker project the modest premium of ENIG pays for itself in fewer assembly headaches.
Q3: How critical is impedance control on the I2S and SPI clock lines?
A3: You do not need full 50 Ω differential pairs, but keeping the single-ended clock traces controlled and length-matched is worth the small design effort. Uncontrolled BCLK and SPI clocks produce edge-rate problems that show up as occasional audio glitches or display flicker under real Wi-Fi load. Most fabricators can hit ±10 % impedance on a 4-layer stackup without special materials.
Q4: What are the most common DFM mistakes when converting a modular ESP32 + MAX98357A design to a single PCB?
A4: Three issues appear repeatedly: (1) sharing the amplifier's 5 V return with the digital ground without enough stitching vias, (2) placing decoupling capacitors more than a few millimeters from the power pins, and (3) routing the speaker traces too narrow for the peak current. All three are easy to catch in a proper DFM review and almost impossible to fix after the boards are made.
Q5: How should power be distributed between the 3.3 V MCU domain and the 5 V amplifier on a compact board?
A5: Keep the two domains separate until they meet at a single star-point ground near the power entry. Use a solid 5 V pour for the MAX98357A and a clean 3.3 V plane or wide traces for the ESP32 and display. Place the bulk capacitor for the amplifier close to its VIN pin and never let the speaker return current share the same path as the digital ground. This simple discipline eliminates most of the "works on the bench, fails in the case" audio problems.