usb 转 usb 转换器

489871548.jpg

19年初看到老莱频道剪辑师介绍的 Hasu u2u 转换器非常心动,可惜已售罄。
在geekhack上找到 Hasu 的帖子USB to USB keyboard converter build log,但完全不知道怎么制作。
这是第一次了解到 Hasu 和他的 TMK,后来在看Yang的HHKB蓝牙双模改装方案时发现也有 Hasu 的贡献。

20年8月看到50元成本自制转换器,正好ERGO88进展不顺,打算试试QMK换换心情。
结果是反复尝试进DFU都失败,一度以为运气不好,买到的 Arduino pro micro 板子没法刷固件。
纠结半天,曾打算买ISP工具重新烧录bootloader,最后担心花费太多时间精力还是放弃了。

21年初完成ERGO88后,重买 pro micro,这次以防万一,买了16MHz-5V版本。
16MHz u2u运行正常,换到8MHz发现去年买的板子竟然烧录正常。
问题应该是出在第一次进DFU上,尝试在插入USB前就短接,插入后放开再短接一次就能顺利进入。

原理图

20210421155504.png
如果买的是3.3V版本的pro micro,就不用再接U2线性稳压元件

50元成本自制转换器 里面包板线序没有很清晰的标注出来,原理图参考 USB Host Shield Library, For Connecing Other USB Devices

Shield

20210421163704.jpg
usb hub的外接设备供电,需要和板子断开,如图中红圈所示断开线路。
飞线shield的raw针至图中箭头所示焊盘,使用 pro micro 的raw针为设备供电。

20210421163804.jpg
外接设备供电飞线,3.3V和RST针飞线。

线路参考: 在 Arduino Min (3.3V,8MHz) 上使用 Usb Host Shield Mini

130850.jpg

Arduino

20210422153200.jpg
旋转180度,层叠在一起。
右上第三针如果插接会短接VCC,这里我掰掉了 pro micro 的第三针GND脚。

固件

解决好供电,晶振频率的问题可以通过固件适配。

8Mhz https://config.qmk.fm/#/converter/usb_usb/pro_micro/LAYOUT_all

16MHz https://config.qmk.fm/#/converter/usb_usb/hasu/LAYOUT_all

如果键盘是非标键盘,或是有宏定义的需求,可以自行编译。
https://github.com/qmk/qmk_firmware/tree/master/keyboards/converter/usb_usb

keymaps 下新增映射表,并编译
./bin/qmk compile -kb converter/usb_usb/pro_micro -km default

烧录

  1. 下载hex固件文件
  2. 下载 qmk_toolbox,注意安装驱动
  3. 短接两次RST脚和GND脚,进入bootloader,该状态会维持8秒。
  4. 选择好hex固件文件,在DFU状态点击烧录按钮,等待界面升级日志提示成功。
  • 如果arduino插入toolbox没反应,检查驱动是否安装
  • 如果arduino两次短接没法进入DFU,尝试先短接RSTGND再连接电脑,放开再短接一次。

在 Arduino Min (3.3V,8MHz) 上使用 Usb Host Shield Mini
我修我自己——Arduino充当ISP烧录器修复Arduino记录
【HIDuino】 — 超迷你的USB-HID开发板
https://www.arduino.cn/thread-6001-1-1.html
Arduino串口调试助手(2013.12.28更新)


https://1upkeyboards.com/shop/controllers/usb-to-usb-converter/
USB Host Shield Library, For Connecing Other USB Devices
USB to USB keyboard converter build log(Pro Micro 3.3v with mini host shield)
50元成本自制转换器——普通键盘变全键可编程键盘键盘什么值得买
【官方双语】打鸡血的键盘-Hasu USB到USB键盘控制器转换器#linus谈科技