适合初学者系列之ESP-全波段收音机基于ESP32-S3与SI4735的DIY开源项目全解析最近有不少朋友问我想入门嵌入式开发有没有什么好玩又实用的项目可以练手今天我就给大家分享一个我最近在玩的“大玩具”——一个基于ESP32-S3和SI4735芯片的全波段收音机。这不仅仅是一个收音机更是一个集成了MCU控制、射频接收、显示、传感器和电源管理的综合性嵌入式学习平台。如果你是电子爱好者或者嵌入式新手想通过一个完整的项目来学习硬件设计、软件编程和系统集成那这个项目再合适不过了。这个项目完全开源从电路板设计、程序代码到3D打印外壳文件你都能找到。下面我就带你从零开始把这个收音机“拆解”明白让你不仅能做出来更能理解背后的原理。1. 项目核心硬件平台与芯片选型这个收音机的“大脑”和“耳朵”是关键。咱们先来看看它的核心硬件构成。1.1 主控芯片ESP32-S3项目的主控芯片选择了乐鑫的ESP32-S3-WROOM-1U-N16R8模块。为什么选它对于初学者来说ESP32系列有两大好处开发环境友好它完美支持Arduino IDE这意味着你可以用熟悉的C/C语言和大量的开源库来编程不用从零开始啃晦涩的芯片手册。功能强大且集成度高这个模块自带Wi-Fi和蓝牙虽然在这个收音机项目里主要用不上但它意味着你的作品未来有无限的扩展可能比如网络电台、蓝牙音频。模块化设计也省去了你单独设计射频电路和天线的麻烦直接焊上就能用。1.2 收音机核心SI4735全波段接收芯片收音机的灵魂是那颗SI4735-D60-GU芯片。这是一颗数字调谐收音机芯片功能非常强大全波段接收它能覆盖从长波到短波的广阔频率范围。具体来说AM调幅 SSB单边带模式150 kHz 到 30 MHz。这个范围包含了中波广播、短波广播以及业余无线电爱好者常用的单边带通信。FM调频模式64 MHz 到 108 MHz。覆盖了普通的FM广播波段。数字控制所有功能调台、切换波段、设置音量都通过I2C总线由ESP32-S3控制编程非常简单不需要复杂的模拟电路知识。高集成度芯片内部集成了从天线输入到音频输出的几乎所有关键电路大大简化了外围设计。简单来说ESP32-S3负责“思考”和“指挥”SI4735负责“收听”和“解码”两者通过I2C总线“对话”完美配合。1.3 项目硬件构成主板与扩展板整个项目由两块核心电路板组成这种模块化设计非常利于学习和调试。主板这是收音机的核心功能板。它集成了ESP32-S3主控模块SI4735收音机芯片音频功放芯片TC8002D用来驱动喇叭控制按键和旋转编码器用于调台、调音量必要的电源电路和接口如耳机插口PJ-320B、天线SMA插座扩展板这是增强功能板需要插在主板上方能使用。它提供了实时时钟RTC使用RX8025T芯片和32768Hz有源晶振用于显示时间和日期。温湿度传感器SHT30可以显示环境温湿度。电池管理与充电使用IP5306芯片支持锂电池供电、充电并实现了单击开机、双击关机的智能电源管理。还增加了一个自锁开关确保充电时可以完全关机。提示扩展板上的SHT30传感器是可选的。如果你不焊接它程序会正常跳过温湿度显示功能不影响收音机核心功能。2. 手把手组装与焊接要点拿到PCB空板和一堆元器件后该怎么下手呢这里分享一些我的焊接和组装经验。2.1 元器件准备与焊接顺序项目大部分电阻电容都使用了嘉立创的基础库元件容易采购。需要特别注意的非基础库关键器件有器件型号/规格作用注意音频功放TC8002D放大SI4735输出的音频信号驱动喇叭注意散热液晶屏1.47寸12针焊接式显示频率、模式、时间等信息焊接时注意对位避免虚焊装饰LEDWS2812B-B 5050RGB彩灯用于装饰和状态指示注意数据流方向实时时钟晶振32768有源晶振为RX8025T时钟芯片提供精准时钟源有源晶振有方向别焊反耳机插座PJ-320B贴片式插入耳机后自动断开喇叭贴片式焊接要牢固天线插座SMA母座连接外接天线推荐购买配套的SMA接口天线磁棒线圈中波磁棒天线专门用于接收AM中波信号焊接时注意线圈引脚收音机芯片SI4735-D60-GU (SSOP-24)核心收音机芯片引脚细密建议用热风枪或拖焊主控模块ESP32-S3-WROOM-1U-N16R8主控制器模块化直接焊接排母或焊上时钟芯片RX8025T-UC提供精确时间和日期I2C接口注意地址温湿度传感器SHT30检测环境温湿度I2C接口可选焊充电管理芯片IP5306管理锂电池充电、放电和开关机配置好才能实现单击开/关机焊接建议先贴片后直插先焊接电阻、电容、芯片等贴片元件再焊接排针、插座、磁棒等直插元件。先低后高先焊接高度低的元件如电阻电容再焊接高的元件如电解电容、芯片座。SI4735焊接要小心SSOP-24封装引脚间距小。我的方法是先用烙铁给焊盘上一点锡然后用镊子对准芯片放好用热风枪均匀加热焊接。没有热风枪的话可以多用助焊剂采用拖焊技术。检查电源焊接完电源部分特别是IP5306后先别接电池用万用表测一下各路输出电压如3.3V是否正常避免短路烧芯片。2.2 外壳组装项目提供了非常酷的“精灵球”风格外壳设计文件可以在嘉立创三维猴进行3D打印。材料前壳和后壳建议使用树脂材料3D打印前壳还可以按潘通色号1795C进行喷漆。前面板是PET材质带背胶后面板是全透明亚克力板。组装按照作者提供的B站视频教程链接在文末一步步安装即可。注意螺丝规格新版说明建议使用M*15mm的螺丝。3. 软件烧录与功能使用硬件组装好后就需要把“灵魂”——程序烧录进去了。3.1 软件环境与烧录安装Arduino IDE如果你还没安装先去Arduino官网下载安装。安装ESP32开发板支持在Arduino IDE的“文件-首选项”的“附加开发板管理器网址”中添加https://espressif.github.io/arduino-esp32/package_esp32_index.json。然后在“工具-开发板-开发板管理器”中搜索并安装“esp32”。下载项目固件从作者提供的百度网盘链接https://pan.baidu.com/s/1UT2vRgS8FM4i_OaY9g8Cfg?pwdwfm8下载最新的固件文件如FW_ESP32S3_Radio_v231004.bin。烧录固件使用USB线连接ESP32-S3的Type-C口到电脑。在Arduino IDE中选择开发板为“ESP32S3 Dev Module”正确选择端口。如果需要烧录已编译好的.bin文件可以使用乐鑫官方的Flash Download Tools工具选择正确的下载地址进行烧录。或者你也可以下载作者开源的Arduino源代码在IDE中编译并上传。3.2 核心功能操作指南程序烧录成功后开机就能用了。这里以最新的“精灵球版本”固件v231004为例说明一下常用操作。板子上的按键布局上排左到右为键1-4下排左到右为键5-8和编码器是主要输入设备。一、调台模式LIVE模式屏幕中间显示【LIVE】这是收听已保存电台的模式。音量调节旋转编码器即可调节音量。短按编码器可以开启或关闭静音。切换已保存频道短按**键2UP切换到上一个保存的频道短按键3DOWN**切换到下一个。开关AGC自动增益控制长按键2可以开启或关闭AGC。AGC能自动调整信号强度使弱台和强台听起来音量接近。二、调频模式手动/自动搜台通过按键可以进入不同的子模式进行搜台和设置。进入手动搜台FREQ模式短按键8。此时旋转编码器可以以一定步进如0.1MHz手动调整频率。短按编码器可以切换步进值1/5/10/20/100等。进入自动搜台SEEK模式短按键7。此时旋转编码器或短按键2/键3可以控制向前或向后自动搜索有信号的电台。切换调制方式MODE模式短按键6。在此模式下长按键2或键3可以在AM、FM、AIR航空波段几种调制模式间切换。当模式为AM时短按键2/键3还可以在更细分的AM波段如MW1, SW1等间切换。保存电台无论在FREQ还是SEEK模式下当你找到一个想保存的电台频率时长按键3可以将其新增为一个频道。或者短按键2/键3切换到你想覆盖的旧频道位置然后长按键2将当前频率保存到该频道。返回收听模式在任何模式下短按键1即可回到LIVE模式收听当前选中的频道。注意根据固件版本不同操作逻辑可能略有差异。最新的V4 Mini版操作更集中主要靠编码器和三个按钮但核心功能LIVE收听、FREQ/SEEK搜台、MODE切换的思想是一致的。务必以你使用的固件版本说明为准。4. 项目进阶与版本迭代这个开源项目一直在持续更新优化作者根据社区反馈推出了功能更强的V4 Mini版。了解这些演进对你理解系统设计很有帮助。V4 Mini版的主要改进结构整合将主板和扩展板合二为一PCB升级为4层板布局更紧凑抗干扰能力更强。芯片变化主控从ESP32-S3模块改为ESP32裸芯片并提供了SI4732和SI4735两个收音机芯片版本可选。音频方案采用了完整的数字音频方案I2S输出音质理论上更好。但SI4732版本因为引脚限制去掉了SSB单边带功能。天线改进用SMA接口的外置天线替代了内置磁棒天线并增加了Bias-T供电电路。这是个很专业的改进Bias-T可以透过同轴电缆为有源天线比如需要供电的放大天线供电省去单独拉电源线。新增电路增加了带通滤波和频段选择电路建议使用PE4283电子开关能进一步过滤掉非接收频段的干扰信号提高接收质量。功耗优化专门针对待机功耗进行了优化。关于“航空波段”和“前置变频电路”在早期的更新中作者增加了一个接收航空波段108-137MHz的改装方案。这超出了SI4735的直接接收范围。方案是增加了一个由SI5351频率合成器 NE602混频器 10.7MHz陶瓷滤波器构成的“前置变频电路”。它的原理是将航空波段信号通过混频搬移到SI4735能接收的中频比如10.7MHz再进行解调。这是一个经典的射频电路设计有兴趣深入学习的同学可以研究一下这部分原理图。重要提示如果你复刻的是早期带NE602的版本请注意作者曾发现的一个BugNE602芯片的第8脚Pin8需要飞线连接到VCC。不过在后续的PCB版本中这个错误已经修复了。这个ESP32全波段收音机项目从核心芯片选型、模块化硬件设计、基于Arduino的友好编程到持续迭代的社区更新都非常适合初学者作为第一个综合性项目。它不仅让你做出一个实实在在可用的设备更带你走完了嵌入式开发的全流程原理图设计、PCB布局、焊接调试、固件开发、外壳设计。过程中遇到的每一个问题比如焊接SI4735、调试I2C通信、理解射频前端电路都是宝贵的经验。希望这篇解析能帮你顺利开启自己的DIY之旅。