使用 Arduino Nano 和 RDA8057M 制作紧凑型 FM 收音机
零部件与材料
- Arduino Nano R3 × 1
- ElectroPeak 0.96" OLED 64×128 显示模块 × 1
- RDA Microelectronics RDA8057M FM 收音机模块 × 1
所需工具
- 3D 打印机(通用)
项目简介
最近我发现了 RDA5807 模块,这是一个体积极小的 FM 收音机调谐器。它价格低廉,通过 I2C 协议通信,仅需两根导线即可与单片机交互,大大简化了接线。
我母亲以前每天做饭时都听收音机,直到收音机坏了。我想亲手制作一个收音机送给她作为惊喜。
本教程将展示如何将 RDA5807M 芯片与 Arduino 连接,并设计、3D 打印一个外壳使其外观精美。我是 3D 设计新手,因此外壳设计简洁实用,没有花哨装饰。
开始制作吧!
准备工作
- 1× Arduino Nano
- 1× RDA5807M FM 收音机调谐器 IC
- 1× I2C OLED 显示屏
- 1× 3W 扬声器
- 1× PAM8403 音频放大器模块
- 2× 6×6 轻触开关
- 1× 100k 电位器
- 1× DC 电源插座
- 可选: 3D 打印机
步骤 1:设计思路
保持简洁整洁,不追求花哨功能。
- 使用 Arduino Nano 作为主控板。与模块通信的库已现成,请安装
Radio库,它提供丰富功能。注:该库也支持 SI4703、SI4705 和 TEA5767。 - 前面板一个按钮进入“选台模式”,另一个按钮确认选台。电位器用于在预设台列表中滚动选择(可在代码中根据当地电台频率设置)。
- OLED 显示屏显示当前调谐频率。
- 收音机模块音频输出极弱,无法直接驱动扬声器,需用 PAM8403 放大。我选用带音量电位器和开关的版本。
步骤 2:制作 FM 模块转接板
模块极其微小,焊盘间距不适合面包板或万用板。需自制转接板:
- 剪一小块万用板,每侧至少留 5 个焊盘孔。
- 按图焊接排针。
- 将模块放置在板上,用细线(如元件引脚剪余)将模块焊盘与排针连接。

步骤 3:3D 打印外壳
外壳在 Fusion 360 中设计,于 Creality Ender 3 打印。所有 STL 文件已附在项目中。
- 前面板喷涂白色(仅有一色耗材)。
- 用烙铁将 M3 螺纹嵌件压入外壳本体安装孔。
- 用强力胶将内框粘入外壳本体。
- 后板需额外钻 6mm 孔(放大器旋钮)和 2mm 孔(天线),设计时遗漏。

步骤 4:制作电路板
需制作两块电路板:主板(Arduino + FM 模块)和前面板按钮板。使用公母排针连接器便于拆卸,可省略直接焊接。按原理图接线。

步骤 5:编写代码
代码文件 FMRadio_final.ino 已附在项目中。上传前需修改两处:
- 根据当地电台频率修改
stations[]数组。去掉小数点,如 91.10 MHz 写作 9110,101.10 MHz 写作 10110。同时修改数组长度,如 12 个电台则写stations[12]。 - 将电台总数减 1 填入代码对应位置(示例中为 11)。

步骤 6:组装整机
- 热熔胶固定 OLED 显示屏和扬声器于前面板。
- 放入 3D 打印按键帽,在轻触开关滴胶水,对齐按键板粘贴。
- 拧紧电位器于前面板。
- 内框涂胶,将前面板组件粘贴到位。
- 连接所有元件至主板,音频输出接放大器(安装于后板)。
- 连接器周围热熔胶加固防拉脱。
- M3 螺丝固定后板。
- 热熔胶棒切 2-3mm 厚圆片 4 个粘底部作防滑脚。

步骤 7:享用成果
接入 5V 供电即可使用。若无 5V 电源,可用 7805 稳压模块从 12V 降压。
感谢阅读,希望你喜欢这个项目并学到新知识。欢迎分享你的制作成果,订阅我的 YouTube 频道获取更多项目!
代码仓库
3D 打印文件
- Face Plate.stl
- Back Plate.stl
- Button.stl
- Inner Rim.stl
- Knob.stl
- Outer Body.stl
原理图
原理图文件见项目附件。
制造工艺
- 基于 Arduino 与 Python 的可靠 RFID 考勤系统
- 基于 Arduino、1Sheeld 与红外控制的万能安卓遥控器
- Arduino UNO 驱动 16x2 LCD 实现动画与小游戏
- 树莓派 + Arduino 联手打造 Wi-Fi 网络收音机,畅听全球电台
- Arduino 与智能手机打造智能电压表——简单易做的 DIY 项目
- 智能物联网罐:ESP8266 + Arduino + 超声波传感器实时监测罐内物位
- 基于Arduino UNO的精准频率与占空比测量
- Firmata + Xbox 手柄无线遥控 Arduino 小车:UWP 应用桥接方案
- Arduino 声纳实时测距与 Processing 可视化
- Bolt IoT + Arduino UNO 实现 6 路 LED 无级调光
- DIY 智能 Arduino 机械臂:主从控制与动作记忆教程
- Arduino 实时数字罗盘:HMC5883L + Processing 可视化教程