---
title: "iRadioPico"
url: "https://maker.wiznet.io/Hannah/projects/iradiopico/"
markdown_url: "https://maker.wiznet.io/Hannah/projects/iradiopico/md"
type: "UCC: User Created Content"
author: "radiolab"
author_url: "https://github.com/radiolab81/iRadioPico"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "radiolab"
original_url: "https://github.com/radiolab81/iRadioPico"
published: "2025-11-27"
language: "en"
likes: 0
views: 397
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# iRadioPico

> Internetradio / Webradio on Raspberry Pico / Pico W , RP2040

Original author: radiolab (source: https://github.com/radiolab81/iRadioPico)

## Article

#### 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.

![u8g2](https://github.com/radiolab81/iRadioPico/raw/main/pics4www/ssd1306.jpg)

> **iRadioPico(W5500 Edition)** 는 Raspberry Pi Pico / Pico W(RP2040)를 기반으로 제작된 프리미엄 인터넷 라디오 시스템이다.
>
> Wi-Fi 또는 W5500 Ethernet을 통해 인터넷 라디오 스트림을 재생하며, VS1053 또는 I2S DAC로 고음질 오디오를 출력한다.
> 아날로그 라디오 느낌의 튜너 다이얼, 제스처 인식, 웹 제어, 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 제스처 인식**
>
> - 자동 재연결 및 버퍼 기반 안정적 재생

[![httpd](https://github.com/radiolab81/iRadioPico/raw/main/pics4www/httpd.jpg)](https://github.com/radiolab81/iRadioPico/blob/main/pics4www/httpd.jpg)

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

[![몸짓](https://github.com/radiolab81/iRadio/raw/master/pics4www/Gestenerkennung.jpeg)](https://github.com/radiolab81/iRadio/raw/master/pics4www/Gestenerkennung.jpeg)

***PAJ7620U2 gesture recognition***

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 데모 애플리케이션**이 제공된다.

[![클락라디오1](https://github.com/radiolab81/iRadioPico/raw/main/pics4www/standbyscreen.jpg)](https://github.com/radiolab81/iRadioPico/blob/main/pics4www/standbyscreen.jpg) [![클락라디오2](https://github.com/radiolab81/iRadioPico/raw/main/pics4www/httpd_alarms.jpg)](https://github.com/radiolab81/iRadioPico/blob/main/pics4www/httpd_alarms.jpg)

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 성능 극대화

---

Source: https://maker.wiznet.io/Hannah/projects/iradiopico/
