开源收音机开发技术调研
技术路线
为了开发一款 DIY 收音机,非嵌入式开发者通常可以选择以下任意一种技术路线。
三种技术路线
- 技术路线一:模块化开发(推荐起点)
- 怎么做:购买调频(FM)收音机模块(如 RDA5807、TEA5767)或网络收音机模块,用 Arduino 或 ESP32 这类开发板通过 I2C 等简单接口控制,甚至可以用树莓派做网络收音机。
- 学习重点:基础的电子连接、Arduino IDE 的使用、调用现成的库函数。
- 优点:最快出成果,能建立信心,适合所有初学者。
技术路线二:基于开源项目二次开发(平衡学习与成果)
- 怎么做:在 GitHub 等平台找到开源收音机项目(例如,搜索 “Open Source Radio ESP32”)。下载其原理图、PCB 文件、源代码进行研究、焊接、烧录,并尝试修改功能(如增加显示屏、改变 UI)。
- 学习重点:阅读和理解他人代码、学习使用 PCB 设计软件(如 KiCad)、掌握基本的焊接和调试技能。
- 优点:在真实项目中高效学习,是成为合格开发者的最佳途径。
技术路线三:从零开始(不推荐新手直接尝试)
- 涉及内容:从芯片 DataSheet 开始设计收音机高频头、中放电路;为微控制器编写底层寄存器代码驱动音频解码芯片;实现复杂的用户界面和网络协议栈。
- 挑战:需要深厚的模拟 / 射频电路知识和嵌入式系统开发能力,极易因调试困难导致项目流产。
技术路线推荐
对于绝大多数个人开发者,强烈推荐从路线一或者路线二开始。尤其是路线二,它让你在一个高起点上站上巨人的肩膀,既能做出有成就感的作品,又能通过实践快速学习嵌入式开发中最实用的部分。一个有效的行动思路是:
- (1) 明确核心:先想清楚最想要的是 “一台自己做的收音机”,还是 “深入掌握嵌入式开发全过程”。如果是前者,绝对不要从零开始。
- (2) 寻找项目:立刻去 GitHub 等平台,用 “open source radio pcb” 或 “arduino radio” 等关键词搜索,找一个 star 数多、文档齐全的项目。
- (3) 动手复刻:按照项目指导,购买现成的 PCB(或打样)、采购元件、焊接、烧录程序,这个过程本身就是最好的学习。
- (4) 迭代升级:成功运行后,再尝试修改代码、增加功能,逐步深入到嵌入式开发中。
技术路线总结
| 项目目标 | 推荐技术路线 | 嵌入式开发需求 | 难度评估 | 核心工作重心 |
|---|---|---|---|---|
| 快速实现一个能用的收音机,验证想法 | 使用现成模块 / 开发板(如 ESP32 + 网络模块) | 极低。主要进行拼接和配置,类似搭积木。 | ★☆☆☆☆(入门) | 软件配置、外壳设计、系统集成 |
| 制作一个功能完整、有学习价值的收音机 | 基于成熟开源项目进行修改和优化 | 中等。需要理解、修改现有代码和硬件。 | ★★☆☆☆(进阶) | 代码阅读与调试、电路调试、功能增删 |
| 从晶体管 / 芯片级打造,追求极致控制或学术研究 | 从零设计电路并编写底层驱动 | 极高。需精通电路设计、MCU 架构、通信协议、嵌入式 C 语言。 | ★★★★★(专业) | 芯片选型、原理图 / PCB 设计、固件开发 |
开源固件项目
提示
在 GitHub、Gitee 等代码托管平台,使用 SI4732、ESP32、mini radio 等关键词组合搜索,能找到更多优秀的开源收音机项目。
ATS MINI
项目简单介绍
- 在开源硬件与软件领域,ATS MINI 项目无疑是一个值得关注的技术瑰宝。它是一款专为 SI4732(ESP32-S3)Mini/Pocket Receiver 设计的固件,旨在为用户提供一个高度集成、易于使用的收音机解决方案。
- ATS MINI 项目的核心是一个功能齐全的收音机固件,它基于多个开源项目的经验与智慧,例如 Volos Projects、PU2CLR、Ralph Xavier、Goshante 以及 G8PTN 等。这些开源项目的合并,使得 ATS MINI 在性能与稳定性上有着坚实的基础。
项目主要特点
- 高度集成
- ATS MINI 项目将 ESP32-S3 与 SI4732 模块的优势高度集成,用户无需担心复杂的硬件兼容性问题,只需关注于功能的实现和优化。
- 灵活配置
- 项目支持多种硬件配置,用户可以根据自己的需求自由搭配,实现个性化定制。
- 开源共享
- ATS MINI 项目遵循开源协议,用户可以自由使用、修改和分发,促进了技术的交流与共享。
- 完善文档
- 项目提供了详细的硬件、软件以及刷机文档,即使是新手也能快速上手,降低了使用门槛。
项目技术分析
ATS MINI 项目采用 ESP32-S3 芯片作为主控制器,结合 SI4732 收音机模块,实现了 AM/FM/DAB+ 等多种广播信号的接收。其技术亮点如下:
- 高性能处理器:ESP32-S3 提供了强大的处理能力和丰富的接口,使得收音机在处理信号和用户交互时游刃有余。
- 模块化设计:项目支持多种硬件配置,用户可以根据自己的需求选择不同的硬件模块,实现个性化定制。
- 丰富接口支持:ESP32-S3 的丰富接口使得 ATS MINI 能够支持屏幕显示、按键输入等多种交互方式。
项目应用场景
ATS MINI 项目不仅适用于个人爱好者进行 DIY 创作,也适用于教育、科普等领域。以下是几个典型的应用场景:
- 个人娱乐:用户可以自定义收音机的外观和功能,打造独一无二的个人娱乐设备。
- 教育工具:ATS MINI 可以作为一个教学工具,帮助学生了解无线信号传输原理,提高实践操作能力。
- 科普展示:在科技馆、展览馆等场所,ATS MINI 可以作为展示无线信号传输技术的展品,供参观者体验。
项目开源地址
上游开源项目
| 名称 | GitHub 地址 | 描述 |
|---|---|---|
| Volos Projects — TEmbedFMRadio | https://github.com/VolosR/TEmbedFMRadio | 一个围绕 SI473x 系列芯片的嵌入式 FM 收音机示例项目,主要实现基础 FM 收音功能,是多个 ATS MINI 及相关固件项目参考和借鉴的早期实现之一。 |
| PU2CLR SI4735 Library for Arduino | https://github.com/pu2clr/SI4735 | 面向 SI473x 系列收音芯片的 Arduino 库与 Radio 实现,支持 AM、FM、SSB 等多种模式,接口设计清晰,是 SI473x 生态中被广泛引用的基础项目。 |
| Goshante — ats20_ats_ex | https://github.com/goshante/ats20_ats_ex | 面向 ATS-20 接收机的增强固件项目,基于 SI4732 / SI4735 芯片,对界面和功能进行了扩展,是 ATS MINI 系列固件的重要参考来源之一。 |
下游开源项目
调频收音机
ATS MINI 原始版本 / 老版本固件:G8PTN/ATS_MINI
G8PTN/ATS_MINI是最早的原始 ATS MINI 固件来源之一。- 这是由作者 Dave (G8PTN) 发布的最初或早期的 ATS MINI 固件代码,围绕 ESP32-S3 + SI4732 搭建的固件实现。
- 该项目包含基础的功能、菜单扩展、电池电压显示等,可作为项目的一个核心实现版本。
ATS MINI 社区 Fork 版本 / 发展版本固件:esp32-si4732/ats-mini
esp32-si4732/ats-mini是一个 “ATS MINI Firmware Fork(ATS MINI 固件派生版)”,基于包括G8PTN/ATS_MINI在内的多个开源项目来开发,例如 Volos Projects、PU2CLR、Ralph Xavier、Goshante 以及 G8PTN 自己的 ATS_MINI。- 该项目围绕 ESP32-S3 + SI4732 搭建的固件实现,它集成了更多贡献者的改善、修复、特性扩展和新功能,代码更活跃、更新频率更高,并且形成了自己的版本体系(比如
v2.x系列)。
SI4732 Radio 固件:si4732-radio
si4732-radio是基于G8PTN/ATS_MINI的派生实现,偏向个人维护 / 定制化方向,围绕 ESP32-S2 + SI4732 搭建的固件实现。- 该项目由 Joaquim Org 维护,定位更偏向 通用型 / 工程示例型固件,适合作为 SI4732 芯片的软件参考实现与二次开发基础。
SI4732 / SI4735 Radio 固件:ralphxavier/SI4735
ralphxavier/SI4735是一个面向 SI4732 / SI4735 收音芯片的开源固件与示例项目,旨在为基于这些芯片的收音机开发提供功能实现和驱动参考。- 该项目支持在 ESP32 系列 MCU(包括 ESP32-S2 / ESP32-S3)平台上运行,通过 I²C 接口控制 SI4732 / SI4735,实现 FM、AM、SW 等广播波段的接收与基础操作,并提供基本界面交互示例代码。
- 项目主要特点包括对硬件模块的收音控制逻辑封装、示例功能展示及对常见显示与按键硬件的支持,是一个适合作为 SI473x 系列芯片学习、移植与二次开发的基础实现仓库。
SI4732 Mini Radio 资源汇总:Ramsin/SI4732-Mini-Radio-Files
- SI4732 Mini Radio 的固件代码、硬件设计(PCB)、资源链接等汇总。
网络收音机
yoRadio / 网络收音机固件: e2002/yoradio
e2002/yoradio是一个基于 ESP32 + I2S DAC 或 VS1053 音频解码模块的网络互联网电台播放器固件项目,用于构建可播放网络电台流(Web Radio)的硬件网络收音机,不支持 FM 调频,完全依赖 Wi-Fi 网络流媒体。- 该项目定位为高度可定制的通用网络收音机固件,支持多种 ESP32 开发板和音频输出方案,适合 DIY 桌面网络收音机、智能音箱类设备。
- 功能特点包括:
- 支持 MP3、AAC 等常见网络电台流格式,通过 I2S DAC(如 PCM5102、ES9023 等)或 VS1053 输出音频。
- 支持多种显示屏(如 SSD1306、ST7735、ILI9341 等),可显示电台名称、播放状态、时间、菜单等信息。
- 内置 Web 管理界面,可通过浏览器配置 Wi-Fi、电台列表、系统参数,无需反复刷固件。
- 支持多种人机交互方式:按键、旋转编码器、触摸屏等,硬件适配性强。
- 支持 OTA 在线升级、电台列表导入导出、配置持久化存储。
- 可选支持 MQTT / Home Assistant 集成,适合智能家居场景使用。
ESP32 Radio Evo3 / 网络收音机固件: dzikakuna/ESP32_radio_evo3
dzikakuna/ESP32_radio_evo3是一个基于 ESP32-S3 + PCM5102A 音频 DAC 的网络互联网电台播放器项目,称为 Evo (Evolution 3),主要用于构建可播放全球在线电台流的硬件网络无线电设备,不支持 FM 调频,完全依赖 Wi-Fi 网络流媒体。- 该项目支持 MP3、AAC、VORBIS 和 FLAC(最高 1.5 Mbit/s)等多种流媒体格式,并集成了 OLED 显示、旋转编码器、IR 遥控等交互控制功能,让用户能方便进行调台、调音量等操作。
- 功能特点包括:
- 从预设的 “电台库” 文件获取网络电台流(支持 SD 卡或 GitHub 下载)。
- 使用 I2S 与 PCM5102A DAC 解码音频并输出。
- 内置完整的 Web 服务器,可通过浏览器在电脑或手机上控制电台、音量等设置。
- OLED 显示屏显示当前电台信息、音量、VU 表等。
- 使用单旋转编码器实现菜单操作(包括音量、台号、库切换等),同时支持 NEC 标准红外遥控器操作。
- 支持 OTA(网页直接更新)、SD 卡浏览、3 种显示模式、睡眠定时器、3 点均衡器 等扩展功能。
二合一收音机
开源硬件资源
硬件博客资源
| 资源名称 | 资源链接 | 描述 |
|---|---|---|
| esp32-si4732/ats-mini Documentation | https://esp32-si4732.github.io/ats-mini/hardware.html | esp32-si4732/ats-mini 项目的官方文档,包含硬件架构说明、引脚定义、参考设计等相关硬件资料。 |
| Xtronic - ESP32 S3 SI4732 Pocket Multiband Receiver | https://xtronic.org/circuit/rf/radio-receiver/esp32-s3-si4732-pocket-multiband-receiver/ | Xtronic 网站上的硬件资料,提供 ESP32 S3 SI4732 口袋多波段接收机相关电路说明、部件清单和设计参考。 |
| PCBWay - ESP32 S3 SI4732 Pocket Multiband Radio Receiver | https://www.pcbway.com/project/shareproject/ESP32_S3_SI4732_pocket_multiband_radio_receiver_40ce2b94.html | PCBWay 社区分享的 ESP32 S3 SI4732 项目,展示 PCB 设计截图、硬件资料及项目概览,可用于了解板子外观与布局。 |
| MakerWorld - SI4732 Project | https://makerworld.com/en/models/785921 | MakerWorld 上的 SI4732 项目模型,包含 3D 打印视图及硬件模型,有助于从机械和装配角度理解项目结构。 |
立创硬件资源
调频收音机
| 资源名称 | 资源链接 | 描述 | 开源固件源码 |
|---|---|---|---|
| OSHWHub - ESP32S3 + SI4732 多波段收音机 | sunnygold/esp32s3-si4732-shou-yin-ji | 基于 ESP32-S3 + SI4732,提供完整的原理图、PCB、BOM 等可下载资源,适合 DIY 和二次开发。 | ralphxavier/SI4735 |
网络收音机
| 资源名称 | 资源链接 | 描述 | 开源固件源码 |
|---|---|---|---|
| OSHWHub - ESP32 + Wi-Fi 网络收音机 | twist_66/i-can-listen-to-the-undamaged-in | 基于 ESP32 + PCM5102 的网络播放器开源项目,支持蓝牙、流媒体网络电台,可播放 FLAC / AAC / MP3 等格式,通过 Web 页面进行控制,兼具实用性与可玩性。 | dzikakuna/ESP32_radio_evo3 |
| OSHWHub - ESP32 + Wi-Fi 网络收音机 | https://www.szlcsc.com/info/16153.html | 基于 ESP32 + PCM5102 的网络播放器方案,定位为网络收音机 / 流媒体播放器,支持网页控制和多种音频流格式,常用于 Evo3 固件方案的硬件参考设计。 | dzikakuna/ESP32_radio_evo3 |
| OSHWHub - ESP32 + I2S DAC 网络收音机 | hodiesudie / 超级简单版网络收音机 | 极简 ESP32 网络收音机开源硬件项目,侧重 “低成本 + 易制作”,通常搭配 I2S DAC 使用,用于播放网络电台流,不包含 FM/AM 硬件。 | yoradio |
二合一收音机
| 资源名称 | 资源链接 | 描述 | 开源固件源码 |
|---|---|---|---|
| OSHWHub - ESP32S3 + SI4732 多波段 + 网络二合一收音机 | abcdef2022/full-band-network-2-in–1-radio | 在传统 SI4732 多波段收音机基础上,增加了 WiFi 网络功能,提供原理图、PCB、BOM 等完整硬件资料。其 v2.2 版本增加了网络收音机解码和 PCM5102 音频部分等改进。 | |
| OSHWHub - ESP32S3 + SI4732 多波段 + 网络二合一收音机 | yaobaling/yoradio-radio | 基于 ESP32-S3 和 SI4732 的开源多波段 / 网络收音机项目,在 SI4732 多波段收音机设计上增加了耳放和网络收音机相关元件,并适配了网络收音机功能(固件需另行配合)。 |
