站内搜索
发作品签到
专业版

STM/APM32F405RGT6 键盘测试板/主控板

工程标签

130
0
0
0

简介

适用于LQFP-64封装,STM/APM32 F405 RGT6或APM32F407RGT6系列的QMK键盘开发测试板或主控板。

简介:适用于LQFP-64封装,STM/APM32 F405 RGT6或APM32F407RGT6系列的QMK键盘开发测试板或主控板。

开源协议

CC BY-NC-SA 4.0

创建时间:2026-02-08 13:36:10更新时间:2026-03-18 10:03:12

描述

针对QMK键盘开发用的,适用于LQFP-64封装,STM/APM32 F405 RGT6或APM32F407RGT6系列的QMK键盘开发测试板或主控板。
本工程附带两块PCB,分为:

开发阶段测试功能用的全功能测试板,引出了全部IO接口,可用于F405RGT6/APM32F407RGT6(STM没有这个对应封装)
此测试板只适合开发前期测试,不适合作为产品,所有IO均已2.54间距引出,USB接口二选一。

产品阶段的最小主控板,引出了大部分能使用的全部IO,可用于F405RGT6/APM32F407RGT6(STM没有这个对应封装)
一般来说由于此项目引脚是以2.0间距引出,USB接口通过一个PH2.0贴座引出,只适合测试完成之后用作实际产品,已进行高强度测试可正常使用。建议本PCB以1.0版层厚度制作。

-------------------------------------------------------------------------------------------------------------------------------

关于此项目说明内容如下:

0,F405默认适配12Mhz晶振!!!!!!与F401/411不一致!!!!!!

1,目前测试确认兼容的型号有:
STM32 F405 RGT6

APM32 F405/407RGT6

2,考虑到F4xx系列不太可能需要通过串口救砖,并且IO数量足够,所以A13/A14不作为IO引出,这样方便通过STM32CubeProgrammer救砖。

另外APM32以及STM32的固件实际上是通用的,区别在于在Keyboard.json中有这么一个配置:

"bootloader": "stm32-dfu",
or
"bootloader": "apm32-dfu",

如果使用QMK ToolBox烧录固件,ToolBox会根据这个设置去找对应设备的Bootloader。

比如固件设置为stm32-dfu,使用APM32F405主控的时候,通过QMK Toolbox是无法烧录固件的,它会提示类似如下的内容:

Attempting to flash, please don't remove device
> dfu-util.exe -a 0 -d 314B:0106 -s 0x08000000:leave -D "E:\QMK_Keyboard\f405r_110_stmspi_default.bin"
> dfu-util 0.11

> Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
> Copyright 2010-2021 Tormod Volden and Stefan Schmidt
> This program is Free Software and has ABSOLUTELY NO WARRANTY
> Error: File ID 0483:df11 does not match device (314b:0106 or 314b:0106)
> Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

> Opening DFU capable USB device...
> Device ID 314b:0106
> Device DFU version 011a
> Claiming USB DFU Interface...
> Setting Alternate Interface #0 ...
> Determining device status...
> DFU state(2) = dfuIDLE, status(0) = No error condition is present
> DFU mode device DFU version 011a
> Device returned transfer size 2048
Flash complete

QMK ToolBox是会严格检查F4xx系列自带DFU的VID PID,如果不对是无法烧录固件的(哪怕真的通用)

但STM32CubeProgrammer,或者DAP-LINK这类离线烧录器,是不受到这个限制的,

甚至假如有某种和STM/APM32F405 Pin-to-Pin替换的芯片,也可以如此直接烧录,但QMK Toolbox是无法使用的。

3,说明下部分引脚的情况:
A9是VBUS引脚,这个引脚根据惯例通过两个100K电阻分别连接到5V或者GND,使得他能维持一个2.5V的电平。

这两个电阻不可省略,这个引脚也不可复用为矩阵,因为这个引脚直接关系到设备是否被正常检测到系统连接。

A10是OTG_FS_ID引脚,虽然大部分时候这个引脚还好,但建议通过一个22K电阻连接到到3.3V,否则某些情况下键盘会无法正常确认他是主设备还是从设备。

B12,B13,B14,B15由于需要让B15作为SPI驱动WS2812,其余三个引脚全部不能作为矩阵IO使用。

B6/B7引脚有板载的外置EEPROM或FRAM,同样也可以外接I2C OLD,但有这么几个问题:
首先QMK对于ARM的I2C,只能使用I2C1(B6/B7)。

部分市场上的OLED I2C模块 是自带了那两个4.7K上拉电阻的,假设使用这类模块,EEPROM附近的那两个4.7K电阻便不需焊接。

除非你1,使用EEPROM/FRAM 2,不使用外挂OLED或者外挂OLED是自己设计的模块没有准备上拉电阻

否则千万别焊多上拉电阻会导致I2C总线初始化失败!

关于EEPROM/FRAM的设置如下:
rules.mk

EEPROM_DRIVER = i2c

config.h

// ========================== I2C EEPROM 设置 ==========================
//#define EEPROM_I2C_24LC256                        // 定义选择I2C接口的24LC256 EEPROM
#define EEPROM_I2C_MB85RC256V                       // 定义选择I2C接口的MB85RC256V FRAM
#define EXTERNAL_EEPROM_WP_PIN C0                   // 定义EEPROM写保护引脚

前两个选项根据选择芯片二选一,另外WP引脚建议确定保留而不是默认的接地。

在某些很极端的情况下,WP引脚接地会导致初始化出错,从而默认配置出现故障,我就遇到过默认CapsLock和LCtrl相反的BUG...我都懵了

临时解决方式为清空EEPROM。长期解决方式为WP接引脚。

-------------------------------------------------------------------------------------------------------------------------------
建议新手参考附件的参考固件,再另行改动测试,避免遇到各类奇怪BUG。
-------------------------------------------------------------------------------------------------------------------------------

关于复用供电的说明:

对于某些特殊需求的键盘,把VDD与VDDA混用会导致ADC精度起飞,某些需求的键盘会出现无法正常使用的BUG,所以按照VDD与VDDA分开设计了电路。

如果需要偷懒只使用VDD一路供电,那么不焊接VDDA相关的LDO以及电容,将A3.3V以及3.3V用一个0R电阻连接即可。

AGND以及GND一般也是一个0R电阻连接,特殊情况可考虑更换磁珠,这个另行考虑。

-------------------------------------------------------------------------------------------------------------------------------
为什么要F405?

根据我的测试,目前对于我个人使用的6x21矩阵+200RGB+OLED键盘。E103RET6的平均矩阵刷新率约为2368(PWM RGB)或2563(SPI RGB)hz。

F405RGT6能接近3900hz。

我的终极目标是完善并且复刻某位前辈的F407+USB3300,QMK 80000hz有线键盘计划。

这只是个开始。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航