开源收音机开发技术调研

技术路线

为了开发一款 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 等代码托管平台,使用 SI4732ESP32mini 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 — TEmbedFMRadiohttps://github.com/VolosR/TEmbedFMRadio 一个围绕 SI473x 系列芯片的嵌入式 FM 收音机示例项目,主要实现基础 FM 收音功能,是多个 ATS MINI 及相关固件项目参考和借鉴的早期实现之一。
PU2CLR SI4735 Library for Arduinohttps://github.com/pu2clr/SI4735 面向 SI473x 系列收音芯片的 Arduino 库与 Radio 实现,支持 AM、FM、SSB 等多种模式,接口设计清晰,是 SI473x 生态中被广泛引用的基础项目。
Goshante — ats20_ats_exhttps://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 Documentationhttps://esp32-si4732.github.io/ats-mini/hardware.htmlesp32-si4732/ats-mini 项目的官方文档,包含硬件架构说明、引脚定义、参考设计等相关硬件资料。
Xtronic - ESP32 S3 SI4732 Pocket Multiband Receiverhttps://xtronic.org/circuit/rf/radio-receiver/esp32-s3-si4732-pocket-multiband-receiver/Xtronic 网站上的硬件资料,提供 ESP32 S3 SI4732 口袋多波段接收机相关电路说明、部件清单和设计参考。
PCBWay - ESP32 S3 SI4732 Pocket Multiband Radio Receiverhttps://www.pcbway.com/project/shareproject/ESP32_S3_SI4732_pocket_multiband_radio_receiver_40ce2b94.htmlPCBWay 社区分享的 ESP32 S3 SI4732 项目,展示 PCB 设计截图、硬件资料及项目概览,可用于了解板子外观与布局。
MakerWorld - SI4732 Projecthttps://makerworld.com/en/models/785921MakerWorld 上的 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 多波段收音机设计上增加了耳放和网络收音机相关元件,并适配了网络收音机功能(固件需另行配合)。