Internet Radio ESP32 adalah perangkat yang memungkinkan kita mendengarkan siaran radio melalui koneksi WiFi, tanpa menggunakan gelombang radio tradisional. Dengan ESP32, kita bisa mengakses stasiun radio online dan memutar audio melalui speaker eksternal.
🔧 Komponen yang Dibutuhkan
ESP32 board (disarankan versi dengan PSRAM seperti ESP32-S3)
VS1053 MP3 decoder module atau I2S amplifier (misalnya MAX98357A)
Speaker kecil (3W)
Potensiometer (untuk kontrol volume)
OLED display (opsional) untuk menampilkan nama stasiun
Power supply: baterai Li-ion + modul charger TP4056
🛠️ Langkah-Langkah Pembuatan
Instal library yang dibutuhkan di Arduino IDE:
ESP8266AudioAudioFileSourceICYStreamAudioGeneratorMP3AudioOutputI2SatauAudioOutputVS1053
Hubungkan ESP32 ke modul audio dan speaker.
Untuk I2S: gunakan pin
BCLK,LRCLK, danDOUTUntuk VS1053: gunakan SPI dan pin kontrol
Gunakan kode berikut sebagai contoh dasar:
#include <WiFi.h>
#include "AudioFileSourceICYStream.h"
#include "AudioGeneratorMP3.h"
#include "AudioOutputI2S.h"
const char* ssid = "Nama_WiFi";
const char* password = "Password_WiFi";
const char* streamURL = "http://yourstreamurl.com/stream.mp3";
AudioGeneratorMP3 *mp3;
AudioFileSourceICYStream *file;
AudioOutputI2S *out;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) delay(500);
file = new AudioFileSourceICYStream(streamURL);
out = new AudioOutputI2S();
mp3 = new AudioGeneratorMP3();
mp3->begin(file, out);
}
void loop() {
if (mp3->isRunning()) {
mp3->loop();
} else {
mp3->stop();
}
}
📱 Fitur Tambahan yang Bisa Ditambahkan
Pemilihan stasiun radio via tombol atau rotary encoder
Tampilan nama stasiun dan metadata lagu di OLED
Kontrol volume dan mute
Casing 3D printed untuk tampilan profesional
🎯 Manfaat dan Tujuan Proyek
Belajar tentang streaming audio dan protokol ICY
Eksplorasi komunikasi WiFi dan pemrosesan audio digital
Membangun perangkat IoT yang berguna dan menyenangkan