아두이노 나노와 Si4730 모듈로 만드는 초저가 전대역 라디오 (LW/MW/SW/FM)
프로젝트 개요
알리익스프레스에서 약 $2에 구매 가능한 Si4730-D60 라디오 모듈을 아두이노 나노와 결합하여, 장파(LW, 200kHz~)부터 중파(MW), 단파(SW), 초단파(FM, ~108MHz)까지 전 대역 수신 가능한 라디오를 제작합니다. Ricardo Lima Caratti(PU2CLR)가 개발한 강력한 아두이노 라이브러리(SI4735)를 활용해 풍부한 기능(주파수 스텝, 대역폭, AGC, 디엠퍼시스, RDS 등)을 메뉴 시스템으로 구현했습니다. Si4735-D60 또는 Si4732-A10 모듈 사용 시 SSB(단일 측파대) 수신도 가능합니다.
하드웨어 구성
| 부품 | 수량 | 비고 |
| 아두이노 나노 R3 | 1 | 메인 컨트롤러, I2C로 Si4730 제어 |
| Si4730 라디오 모듈 (알리익스프레스) | 1 | I2C 인터페이스, 3.3V/5V 겸용, 안테나 입력 단자 보유 |
| 16x2 문자 LCD (백라이트, 흰색/파랑) | 1 | 주파수, 모드, 신호 강도 등 표시 |
| 페라이트 로드 안테나 (구형 AM 라디오 분해품) | 1 | LW/MW/SW 수신용, 모듈 ANT 핀에 연결 |
| 로터리 인코더 (푸시버튼 내장) | 1 | 주파수 조절, 메뉴 탐색, 모드 전환용 |
| D클래스 오디오 앰프 보드 (3+3W, 볼륨 노브 포함) | 1 | 스피커 구동용, 모듈 오디오 출력 연결 |
| 전원 (5V USB 또는 리튬 배터리), 케이스, 노브, 스피커 | - | 휴대용 케이스 제작 권장 |
Si4730 모듈 특징
- 주파수 범위: 200kHz ~ 108MHz (LW/MW/SW/FM 연속 커버)
- I2C 인터페이스 (기본 주소 0x11), 아두이노 5V 로직 호환 (내부 레벨 시프터 내장)
- 디지털 신호 처리(DSP) 내장: 자동 이득 제어(AGC), 소프트 음소거, 스테레오/모노 블렌딩
- FM RDS/RBDS 수신 지원 (방송국명, 프로그램 타입, 시간 등)
- SSB 수신: Si4735-D60 / Si4732-A10 칩셋 모듈에서만 지원 (Si4730-D60은 미지원)
- 소비 전류: 약 20~30mA (배터리 구동에 적합)
소프트웨어: PU2CLR SI4735 라이브러리
이 프로젝트의 핵심은 Ricardo Lima Caratti가 지속 업데이트 중인 SI4735 아두이노 라이브러리입니다. 라이브러리 예제 폴더에 SI47XX_02_for_Mirko_Pavleski_radio라는 본 프로젝트 전용 스케치가 포함되어 있습니다.
라이브러리 주요 기능
- 대역별 세부 설정: LW/MW/SW/FM 각 대역 독립적 주파수 스텝(1/5/9/10kHz 등), 대역폭(1.2/2.2/3/4/6/8kHz) 설정
- AGC 자동/수동, 신호 강도(RSSI) 및 SNR 읽기
- FM 스테레오/모노, 디엠퍼시스(50/75us), RDS 파싱
- SSB 모드 (지원 칩셋 한정): BFO 오프셋, 사이드밴드 선택(USB/LSB), CW 모드
- EEPROM에 마지막 청취 주파수/설정 저장/복원
- 로터리 인코더 + 버튼 기반 직관적 메뉴 시스템 구현 예제 제공
스케치 구조 개요 (예제 코드 기반)
#include
#include
#include
#include // 또는 I2C LCD 라이브러리
SI4735 rx;
LiquidCrystal lcd(...); // 핀 할당
// 로터리 인코더 핀, 버튼 핀 정의
// 메뉴 상태 머신 변수들
void setup() {
Wire.begin();
rx.setup(RESET_PIN, MW_BAND); // 리셋 핀, 초기 대역
rx.setVolume(45);
// LCD 초기화, 인코더 인터럽트 설정, EEPROM에서 마지막 상태 복원
}
void loop() {
// 인코더 회전/버튼 이벤트 처리 → 메뉴 상태 전이
// 메뉴에 따라 rx.setFrequency(), rx.setBandwidth(), rx.setAGC() 등 호출
// 주기적으로 RSSI/SNR 읽어 LCD 업데이트
// FM 모드 시 RDS 폴링 처리
}
전체 스케치는 라이브러리 예제에 포함되어 있으며, 다운로드만 가능합니다.
회로도

주요 연결: 아두이노 A4(SDA), A5(SCL) → Si4730 SDA/SCL. 로터리 인코더 A/B 상 디지털 핀, 버튼은 별도 핀. 오디오 출력은 앰프 보드 입력으로. 페라이트 로드는 Si4730 ANT/GND 단자에 직결.
제작 팁 및 주의사항
- 최신 라이브러리 필수: GitHub에서 최신 버전 다운로드 후 아두이노 라이브러리 매니저로 설치 (빈번한 업데이트로 기능 추가/버그 수정)
- 안테나: 페라이트 로드 품질이 LW/MW/SW 수신 감도에 결정적 영향. 구형 라디오 분해품 또는 전용 페라이트 안테나 키트 구매 권장
- 전원 노이즈: 스위칭 레귤레이터 노이즈가 수신에 악영향 → 리니어 레귤레이터 또는 배터리 구동, 모듈 VCC 근처에 100uF+0.1uF 바이패스 콘덴서
- SSB 수신 원할 시: Si4735-D60 또는 Si4732-A10 칩셋 모듈 구매 필수 (외관 동일, 칩 마킹 확인)
- 케이스 제작: 금속 케이스 사용 시 안테나 수신 방해 → 플라스틱/목재 케이스 또는 안테나 외부 노출 구조
확장 아이디어
- RDS 정보를 활용한 방송국명 자동 표시/저장
- 블루투스 모듈(HC-05 등) 추가로 스마트폰 앱에서 주파수/모드 제어
- GPS 모듈 연동으로 위치 기반 방송국 검색/로그
- ESP32로 교체하여 Wi-Fi/블루투스 스트리밍, 웹 인터페이스 구현
- 디지털 오디오 출력(I2S) 지원 모듈로 교체하여 외부 DAC 연결
참고 자료
- PU2CLR SI4735 라이브러리 GitHub: github.com/pu2clr/SI4735
- 원작자 유튜브 채널 (Mirko Pavleski): 지속적인 업데이트 동영상 공개
- Si473x 데이터시트 (Silicon Labs): 레지스터 레벨 제어 참고