
基于 ESP32-P4 的 HID 设备拓展坞
简介
支持鼠标、键盘、翻页笔等 HID 设备,目前不支持CDC串口和存储设备,该项目是希望将电脑上的高速USB口留给存储设备等高速设备,并且消除传统USB拓展坞中的连接线,让桌面更加优雅。
简介:支持鼠标、键盘、翻页笔等 HID 设备,目前不支持CDC串口和存储设备,该项目是希望将电脑上的高速USB口留给存储设备等高速设备,并且消除传统USB拓展坞中的连接线,让桌面更加优雅。开源协议
:MIT License
(未经作者授权,禁止转载)描述
项目组成与工作链路
设备通过 ESP32-P4 的 USB Host 能力接入键盘、鼠标、手柄等 HID 外设,并将 HID 输入数据通过无线方式转发;屏幕与触摸界面负责端口状态、用电信息和参数设置。

核心功能亮点
围绕“多 HID 外设接入、低延迟无线转发、可视化管理、安全供电”四个目标设计。


硬件设计概览
PCB 集成 ESP32-P4 主控、ESP32-PICO 蓝牙/无线协处理、双 USB HUB、四路电流检测、端口电源开关、LCD 与触摸接口。


外壳与实物展示
项目配套定制外壳,正面保留屏幕、四个 USB-A 端口和 Type-C 接口开孔;背面内置磁铁,可磁吸在机箱、支架、金属桌架等不同角度位置,配合三个位置的供电接口,让设备可以随心摆放,不再被线缆方向限制。




关键物料清单
下表摘录主控、USB、检测、电源与显示相关关键器件,便于了解项目硬件组成与复刻采购重点。



固件烧录与上电验证
项目提供可直接烧录的固件包,无需搭建开发环境,按教程完成烧录后即可体验完整功能。


开源资料目录
页面内容围绕项目展示、硬件组成、固件烧录和制作过程整理,可直接用于开源项目介绍。
这是我第一次制作一个完整的项目,从项目设计、硬件选型、PCB 设计、样板验证,到软件开发,最后再到结构设计,完整跑了一遍从想法到成品的流程。整个过程中项目经历了三次大的版本调整:最开始使用的是 ESP32-S3 + USB/IP 的方案,等到基本实现完之后,才发现 USB/IP 在电脑开机但系统尚未启动之前无法使用;同时 S3 只有一个 USB 通道,触点只有 8 个,最多只能支持两个相对复杂的 HID 设备。
后续我把方案换成了 ESP32-P4。最初的设想是一个 P4 作为发送端,一个 S3 作为接收端,两端通过 ESP-NOW 通信;但后来又意识到,这并不符合项目初衷,因为接收端依然会占用电脑的一个 USB 接口。
于是我又重新制定了一次方案,改为 ESP32-P4 + 蓝牙。但做着做着又发现,P4 的官方底层并不支持高速 USB 经过拓展坞芯片后再转接全速/低速设备。当时真的有一种天塌了的感觉:如果不使用高速 USB 通道,触点数仍然只有 8 个;而高速 USB 通道的触点数有 16 个。后来查阅了大量资料,发现有一种叫 USB 隔离器的器件,可以约束两侧 USB 信号的速率。通过 USB 隔离器,我将高速 USB 约束到全速,从而实现了对全速和低速设备的兼容。
不过很快又遇到了新的难题:即便有 16 个触点,对于四端口 USB 来说依然非常紧张。我一开始甚至想降低项目目标,改成双端口。后来在查阅芯片手册时发现,P4 其实有两个 USB 通道,一个高速 USB,一个全速 USB。于是突发奇想:能不能让两边的 USB 通道各接入一个拓展坞芯片,各自管理两个下行端口?为此我做了验证板。制作过程中又发现乐鑫官方底层存在限制,借助 AI 工具,我最终成功突破了限制,实现了双 USB 拓展坞芯片的枚举,也算是勉强完成了最初的项目需求。
这次项目除了让我完整跑通了一遍产品开发流程,也让我学到了很多做产品时才会遇到的经验;同时也促使我学习了许多以前完全没有接触过的新技术。这次比赛让我受益匪浅,也让我对把一个想法真正做成作品这件事有了更深的理解。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。











