Introduction
After six and a half months, I am back with a new keyboard.
This time I bring a 15-key rotary numeric keypad based on QMK firmware design.
The reason for the delay is that the structure does not match, so I have to print seven versions of PCB and 3D print six versions of shell before it finally fits perfectly, which made me spend hundreds of dollars in vain.
The difficulty of this time is a bit higher than the last three-button keypad, but not much (dog head.
First of all, I would like to thank the inspiration for this project:
The most beggar 17Toutch mechanical numeric keyboard: https://oshwhub.com/yANgZEN/zui-gai-shuo-zi-jian-pan
Lao Xuan quit the pit keyboard_84 KEYS_1 ENCODER: https://oshwhub.com/Neilzx/zhong-ji-tui-shao-jian-pan
Next are the tutorials, projects, and tool links involved in this project:
QMK official manual: https://docs.qmk.fm
QMK tutorial recommended by me: B station up master——HiryKun https://space.bilibili.com/50496994
QMK compiler QMK MSYS: https://msys.qmk.fm/
QMK downloader qmk_toolbox: https://github.com/qmk/qmk_toolbox
That's basically it. If there is anything missing, I will add it later.
Just like the three-button keypad project, this time it is also written according to the overall process. If there are any mistakes or omissions, please point them out.
Major update
July 25, 2023: After six months of torture of multiple QMK updates, the code based on QMK0.21.6 is finally done. The source code and hex burning file have been updated to the project attachment! The figure below is a key map. (I'm too lazy to write two layers of buttons. If you need it, you can ask me to modify it or use the source code to modify it)
Please note: This code update is only applicable to QMK0.21.6 version! ! !

July 27, 2023: Vial online key change has been successfully implemented, the picture shows the vial interface. The vial version hex burning file and source code have been uploaded in the project attachment.
Update
March 26, 2023: Some of the code is missing, it is not a complete version of the code, and the emergency recovery version is being developed. Due to the multiple board errors mentioned above, the correct schematic and PCB only need to look at the fourth-generation power board and the mainboard.
The power board is designed with a 12p TYPE-C interface, which is connected to the SL2.1A USB2.0 HUB hub. The hub leads to two USB female sockets and an FPC terminal for connection to the mainboard. It should be noted here that: It is recommended to connect DP and DM signal lines in differential line form. The width of the power line should be greater than 12mil. Because the output voltage of the USB interface of the computer is 5-5.5V and the maximum current is 500mA, it is calculated that the required line width for 1oz copper thickness is about 12mil, and 15mil is recommended. Pay attention to the placement of the filter capacitor. Think about the position and size of the positioning hole in advance to avoid making many boards like me before finally succeeding. If the power indicator is placed next to TYPE-C, there may be a metaphysical problem that the light cannot be lit (anyway, I encountered it). It is recommended to place it away from TYPE-C. The main control of the motherboard uses the very common ATMEGA32U4-AU, and the external circuit is also very simple. Just draw it. Diodes are used to achieve the functions of anti-ghosting and full-key anti-collision. When drawing the schematic diagram, pay attention to the placement direction of the diode, which determines the direction of the current in the code later. The hot-swap + WS2812 + five-pin axis schematic diagram and package are drawn by myself. You can use mine or draw it yourself. It is not difficult. If you draw it yourself, you can make the lamp hole smaller. For details, please refer to the lamp data sheet. The knob uses EC11, and the corresponding package is also available in EasyEDA. It should be noted here that the FPC terminal on the mainboard should correspond to the line on the power board, because it needs to be connected with the FPC cable, so you must think about it when drawing. The location of the positioning hole should not only consider the connection with the shell, but also the connection with the positioning board. At the same time, when placing it, you must also consider that after the copper pillar is installed, the copper pillar cannot overlap with the components. It is recommended to add a support pillar at the satellite axis. Some satellite axes are too tight and will press the positioning board down when installed. The signal line connecting the FPC terminal and 32U4 also needs to be differential. If it can be done, it can be done. It is also OK if the length is equal. The thickness of the power board and the mainboard is 1mm!!! QMK firmware code writing and burning on the QMK code, my evaluation is that it is sometimes really torturous. I was stuck for two or three weeks and didn’t know why the error was reported. I asked a lot of big guys but couldn’t solve it. Finally, I went to the official discussion group of QMK and sent the code to find out why. It was just because I wrote Chinese comments. Advice: Don't write Chinese comments!!! For specific code writing, please refer to the new tutorial of HiryKun, the up master of Station B, or you can use my code to correspond. After all, QMK has been updated to 0.20, and HiryKun's tutorial has become a little behind. In general, QMK official documents are still the main ones. I suggest reading English documents and then translating them into Chinese, instead of directly reading the Chinese translation version. If you encounter any problems, you can ask the big guys, go to the QMK forum to ask, or ask me if you don't like it. I hope you won't be almost depressed like I was before. The attachment provides my code, but I won't give you the compiled files. I hope you can write it yourself and compile it yourself. Shell and structural design The shell is also where I spend the most money. 3D printing is really expensive, especially when you pay someone to print it. This time, only the shell version is provided, because I think it is too ugly without the shell. Welcome to use your creativity to change it to acrylic or other shells. My 3D printing cost is nearly 100 yuan plus postage, and the light curing with a precision of 0.02 is for reference only. The attachment provides the SW file of the standard version of the shell without my text pattern and the file of the positioning plate for your reference. The screw stud size is uniformly M2. The tilt angle of the shell is 10 degrees.
The screws and structure of the power board are: M2*2 cross flat head screws + M2*3 double-pass hexagonal studs + (power board) + M2*2 cross flat head screws.
The screws and structure of the motherboard are: M2*2 cross flat head screws at four corners + M2*2 single-pass hexagonal studs + (motherboard) + M2*3.5*3.5 double-pass knurled studs + (positioning plate) + M2*3 cross flat head screws. Please note:
After
completing the installation of the power board, you should first connect the power board and the motherboard with the FPC cable, and then install the motherboard.
Because the code needs to be flashed by pressing the reset button on the motherboard when connected to the computer, please complete the modification and flashing of all codes before installation. This structure is too troublesome to disassemble.
Alternatively, you can modify the position and selection of the button, move it to the side, and leave a hole in the shell for subsequent code flashing.
Attachment Introduction
The attachment contains the positioning board SW file of this project, the SW shell file with my logo, the code compression package, and the dimensional drawing of the 2U satellite axis. Image
Introduction
Thank you for browsing this far! I wish you a smooth project!