iRadioPico
Internetradio / Webradio on Raspberry Pico / Pico W , RP2040
Project Overview
iRadioPico is a premium Internet Radio system built on Raspberry Pi Pico / Pico W (RP2040).
It plays ShoutCast/IceCast streams via Wi-Fi or W5500 Ethernet and outputs high-quality audio through a VS1053 or I2S DAC.
The project integrates advanced features such as an analog-style tuning dial, VS1053 VU meter visualization, gesture control, web interface, and an NTP+RTC alarm clock, making it a complete and feature-rich audio platform.

iRadioPico(W5500 Edition) 는 Raspberry Pi Pico / Pico W(RP2040)를 기반으로 제작된 프리미엄 인터넷 라디오 시스템이다.
Wi-Fi 또는 W5500 Ethernet을 통해 ShoutCast/IceCast 스트림을 재생하며, VS1053 또는 I2S DAC로 고음질 오디오를 출력한다.
아날로그 라디오 느낌의 튜너 다이얼, VS1053 기반 VU 미터, 제스처 인식, 웹 제어, NTP+RTC 알람 시계 등
다양한 고급 기능을 통합한 완성형 오디오 플랫폼이다.
핵심 하드웨어 구성 (Core Hardware)
| Component | Purpose |
|---|---|
| RP2040 (Pico/Pico W) | Main MCU handling streaming and UI |
| WIZnet W5500 Ethernet | Hardware TCP/IP engine for wired communication |
| VS1053 / I2S DAC | Audio decoding and output |
| OLED/TFT display | Station info, tuner dial, VU meter |
| Rotary Encoder / Buttons | Channel switching and menu control |
| PAJ7620U2 Sensor | Gesture-based touchless control |
| PAM8403 Amplifier | Audio amplification for speakers |
주요 기능 (Main Features)
- Internet radio streaming (ShoutCast/IceCast)
- MP3/AAC/OGG decoding
- VS1053 VU meter live display
- Analog-style radio tuning dial simulation
- Remote control via built-in HTTPD web server
- Rotary encoder / buttons / potentiometer input
- PAJ7620U2 gesture recognition
- Stable playback with buffering and auto-reconnect
- 인터넷 라디오 스트리밍(ShoutCast/IceCast)
- MP3/AAC/OGG 디코딩
- VS1053 VU 미터 실시간 표시
- 아날로그 라디오 다이얼 UI 렌더링
- 웹 서버(HTTPD)를 통한 원격 제어
- 로터리 인코더/버튼/포텐셔미터 입력 지원
- PAJ7620U2 제스처 인식
- 자동 재연결 및 버퍼 기반 안정적 재생
iRadioPico supports various methods for switching programs (radio stations).
This can be done using (micro) push buttons, incremental rotary encoders/pulse generators,
or a potentiometer/preselector (Preomat).
Control is also possible through the built-in httpd web server.
iRadioPico는 다양한 방법으로 프로그램(방송국) 전환을 수행할 수 있다.
예를 들어 (마이크로) 푸시 버튼, 증분형 로터리 인코더/펄스 생성기,
또는 포텐셔미터/프리오매트(Preomat)를 사용할 수 있다.또한 기본적으로 포함된 httpd 웹 서버를 통해서도 제어할 수 있다.
데모 영상: https://youtube.com/shorts/Qq4KsmVGSnA

Another option is gesture control using the PAJ7620U2 sensor,
which enables completely touchless operation of the radio.
With the PAJ7620U2 sensor, iRadioPico can interpret several gesture types
and react with corresponding actions such as program switching, volume control, or power on/off.
또 다른 방법으로는 PAJ7620U2 제스처 센서를 통해
라디오를 비접촉 방식으로 조작할 수도 있다.PAJ7620U2 센서를 사용하면 iRadioPico는 여러 형태의 제스처를 이해하고,
프로그램 전환, 볼륨 조절, 전원 On/Off 등 특정 동작으로 반응할 수 있다.
By using the integrated RTC (Real-Time Clock) in the RP2040, iRadioPico can also be implemented as a radio alarm clock.
The RTC is synchronized via an NTP server, and wake-up alarms can bring the radio out of standby mode and start playback automatically.
iRadioPico includes a ClockRadio demo application that provides
NTP synchronization, a standby screen, and an alarm clock function.
RP2040에 통합된 RTC(실시간 시계)를 활용하면 iRadioPico를 라디오 알람 시계로 구현하는 것도 가능하다.
RTC는 NTP 서버를 통해 자동으로 동기화되며, 설정된 알람은 라디오를 대기 모드에서 자동으로 깨워 재생을 시작하게 할 수 있다.iRadioPico에는 NTP 동기화, 대기 화면, 알람 기능을 포함한
ClockRadio 데모 애플리케이션이 제공된다.
NTP+RTC 알람 시계
W5500 Ethernet의 역할 (Role of W5500 Ethernet)
- Hardware TCP/IP engine offloads the MCU
- Ensures stable, jitter-free streaming
- Significantly more reliable than Wi-Fi
- 12-hour test: zero reconnections
- Stable buffering leads to optimal VS1053 decoding
- 하드웨어 TCP/IP 엔진 제공
- MCU 부하를 줄여 안정적인 스트림 유지
- Wi-Fi 대비 지터·끊김 최소화
- 장시간 재생 테스트에서 0회 재연결
- 오디오 버퍼 안정성 향상 → VS1053 성능 극대화



