
STM32F446VETx 双 USB 开发板
简介
支持 USB Slave/Host 双端接口的 STM32F446VETx 开发板。主要用于 USB 的实验以及相关原型开发。含有一个截取 USB 音频流,计算 RMS、频谱的 demo。
简介:支持 USB Slave/Host 双端接口的 STM32F446VETx 开发板。主要用于 USB 的实验以及相关原型开发。含有一个截取 USB 音频流,计算 RMS、频谱的 demo。开源协议
:MIT License
描述
update 2026/6/23:更新了面板图纸
彩色丝印实拍图(画师链接:狮子城恋路的个人空间-狮子城恋路个人主页-哔哩哔哩视频):


最近打算给我的 usb 耳机做一个灯效,要求能够转发 USB Audio 流数据,然后 MCU 能从 USB Audio 流中截取数据计算一些东西,再做一些显示效果。
于是做了个双 USB 开发板,用于原型机的开发验证。Demo中的程序效果如下:
屏幕使用四线 SPI,MCU 使用 Transmit Only Master,屏幕链接:0.96寸OLED显示屏12864液晶屏串口屏ssd1306 12864OLED串口屏-淘宝网
Demo 见附件。
STM32F446 的 USB 外设有 OTG_FS 和 OTG_HS 两个,HS 硬件上 MCU 内部 PHY 还是 FS,不过对于音频完全足够了。板上 OTG_FS 对应的是 Type-C,为板子的 Slave(Device) 端,从 pc 接收数据;OTG_HS 对应 Type-A,为 Host,输出音频给耳机。
USB Slave 端是 pc 供电,顺手做了一些保护。
由于裸机的 USB 一整套转发流程,需要在 while (1) 中不停调用 Host 服务函数,不然状态机会饿死,也就是说做不了别的事情了。我没想到别的办法,最后使用 FreeRTOS,总体用 CubeMX 配置还算方便,不需要手动移植。
在 FreeRTOS 开了一个 AudioProc 任务,用于 USB Host 处理之余抽空执行,主要计算 RMS(音量)和 Mel 频谱,然后通过 OLED 显示。
代码很多是 AI 搞定的,不得不说现在 AI 真好用啊,只需要把握项目的思路和方向就好了,细节和驱动就让 AI 搞定了。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










