ESP32 · BEGINNER FRIENDLY

The Weekend ESP32 Internet Radio: A Full Build Guide

Build a streaming internet radio from a $9 ESP32 in one weekend. Complete parts list, wiring diagram, working code, and honest Amazon part picks — beginner friendly.

Photo

Hector Neal

PUBLISHED JUN 28, 2026 · UPDATED JUN 28, 2026 · 18 MIN READ

BUILD GUIDE
The Weekend ESP32 Internet Radio: A Full Build Guide
The Weekend ESP32 Internet Radio: A Full Build Guide

The complete parts list

Total damage: about $32 if you’re starting from zero, under $20 if you already own an ESP32 and a breadboard. Every link below goes to the exact listing I ordered from.

PARTQTYNOTESLINK

ESP32 DevKit V1 (2-pack)1Dual-core original ESP32 — not S2~$14 →

MAX98357A I2S amp1DAC + 3W amp on one board~$8 →

3W 4Ω speaker1Any 3W 4–8Ω works fine~$7 →

Rotary encoder w/ knob1Volume + station select~$6 →

Breadboard + jumper kit1Skip if you own one~$9 →

PRICES CHECKED JUN 28, 2026 · AMAZON LISTINGS CHANGE — LINKS GO TO CURRENT EQUIVALENTS

Why the ESP32 is perfect for this

An internet radio needs to do two hard things at once: keep a Wi-Fi stream alive and decode compressed audio in real time. The ESP32’s two cores split that work naturally — core 0 babysits the network buffer while core 1 chews through MP3 frames. A $9 board doing what used to take a dedicated decoder chip is still, frankly, ridiculous.

The other half of the magic is the MAX98357A. It takes clean digital audio (I2S) straight from the ESP32 and drives a speaker directly — no fuzzy analog output, no separate amplifier, three signal wires total.

Amp board photo

★ BENCH-TESTED PICK

MAX98357A I2S Amplifier Breakout

The part that makes this build sound good. DAC and 3W amp on one board, powered straight from the ESP32’s 5V pin. I’ve used the same one in four projects.

Check price on Amazon → ~$8 AT TIME OF WRITING

Wiring it up (breadboard first)

Five wires between the ESP32 and the amp, two to the speaker. That’s the whole electrical build. Here’s the map:

ESP32 PINMAX98357AWHAT IT CARRIES

GPIO 26BCLKBit clock

GPIO 25LRCLeft/right select

GPIO 22DINThe audio itself

5V / GNDVIN / GNDPower

Breadboard wiring layout for the ESP32 internet radio

My breadboard layout. Keep the speaker wires short — long ones pick up hum.

BENCH NOTE: If you hear a faint tick-tick-tick, your DIN wire is too close to the Wi-Fi antenna end of the board. Move it one row down. Ask me how many hours that one cost me.

The code: streaming in 40 lines

We’re standing on the shoulders of the excellent ESP32-audioI2S library. Install it from the Arduino Library Manager, paste this in, add your Wi-Fi credentials, and flash:

#include <WiFi.h>
#include "Audio.h"

Audio audio;

void setup() {
  WiFi.begin("YOUR_SSID", "YOUR_PASSWORD");
  while (WiFi.status() != WL_CONNECTED) delay(200);

  audio.setPinout(26 /*BCLK*/, 25 /*LRC*/, 22 /*DIN*/);
  audio.setVolume(12);            // 0–21
  audio.connecttohost(
    "http://ice1.somafm.com/groovesalad-128-mp3");
}

void loop() {
  audio.loop();                   // keep the stream fed
}

That’s genuinely it. Power it up, wait three seconds, and Groove Salad comes out of your speaker. The full sketch on my GitHub adds the rotary encoder for volume and a five-station preset list — but get this version working first. Small wins keep projects alive.

// FREE DOWNLOAD

Get the wiring diagram + full sketch as a PDF

The printable wiring diagram, the complete 5-station sketch, and my part-substitution notes — straight to your inbox. Then one email when a new build goes live. No spam, ever.

Send me the PDF →

Upgrades worth doing

  • An OLED display for station name and volume — see my OLED wiring guide for the four-wire hookup.
  • A printed case. Any small speaker-box STL works; front-mount the knob and it stops looking like a science fair project.
  • A second speaker and a second MAX98357A gets you true stereo — the boards have a channel-select pin for exactly this.

OLED photo

★ THE UPGRADE I’D DO FIRST

0.96“ SSD1306 OLED Display (2-pack)

Four wires, instant “now playing” screen. The 2-pack matters — you will want one in your next project too.

Check price on Amazon → ~$10 AT TIME OF WRITING

FAQ

Do I need soldering experience to build this ESP32 internet radio?

No. The core build works entirely on a breadboard with jumper wires. Soldering is only needed for the optional permanent version at the end — and that's five joints.

How much does the ESP32 internet radio cost to build?

Around $32 in parts if you're starting from zero, or under $20 if you already own an ESP32 and a breadboard.

Can it play Spotify?

Not directly — Spotify requires a licensed client. It plays any open internet radio stream (MP3/AAC), which covers thousands of stations worldwide.

Which ESP32 board is best for audio projects?

Any ESP32 DevKit with the original dual-core chip works. Avoid the single-core ESP32-S2 — decoding MP3 while streaming Wi-Fi needs both cores.