1. Make the smallest system board of ATmega32u4, and use pins to lead out the IO port pins.
In order to carry out preliminary welding and usage tests first, there is no need to spend a lot of money on PCB verification of the entire keyboard, which saves costs.
And in future projects, you can use flying wires to modify other keyboards or program them separately to use the ATmega32 master control.
But there are problems: you must buy a master control with BootLoader. The design is flawed. There is no separate reset pin. You cannot use the USBasp programmer to flash the BootLoader. (Although I also designed a board with an extra reset pin, I haven’t verified it so I won’t release it)
2. Use pins to make the keyboard PCB.
The modular splicing method of pins facilitates the replacement of the system board in the future. The addition of Bluetooth modules reduces the dependence on a single main control. The disadvantage is that the area is large and the appearance of the finished product needs to be considered.
The hot-swappable shaft seat is used to facilitate shaft replacement.
3. If you need to design the keyboard layout yourself, you can use: http://www.keyboard-layout-editor.com/
The following two websites both use the layout website to generate the keyboard layout code.
qmk's firmware generator: https://kbfirmware.com/
Positioning board generation website: http://builder.swillkb.com/
Tutorial Reference: Novice Repair Reuters Mechanical Keyboard - Super Detailed QMK Flashing Tutorial_Keyboard_What is Worth Buying (smzdm.com)
4. Firmware flashing: After connecting the pins to the computer, the computer will recognize the ATmega32u4, which can be seen in the USB serial port of the device management control panel. If it does not appear, there may be a problem with the PCB welding or the main controller you bought does not come with it. bootloader.
Download the zading in the attachment, select List All Devices in Options, select ATm32u4 in the middle drop-down box, and select libusb-win32 (v1.2.6.0) in the box pointed by the green arrow (it must be this step that went wrong when I did it) , wasting a lot of time looking for the cause) Click Reinstall Driver. This step is to install the driver for the computer's USB port so that the computer can recognize 32u4 as a keyboard input device driver.
Download the qmk_tool in the attachment, select the location of the keyboard firmware hex file in the upper left corner, click Flash and wait. If the characters in the picture appear in the black box below, it is successful.
The column of yellow characters that appears first proves that 32u4 has been identified.
If you want to customize function buttons, you can download the 91key.json file, modify it on the qmk firmware website, and download the .hex file.
5. The positioning plate can be made of 2mm acrylic and 3mm sandwich cotton. If only 2mm acrylic is used, the shaft cannot be stuck (I also suffered a loss in this step)
Or other copper plates, aluminum plates... The positioning plate requires 1.5mm, which can block the shaft alone.
6. I only installed the positioning plate and removed the old keyboard keycaps. The finished picture:
The alphabet area uses a red axis to press the keyboard quickly for playing games, and the number area uses a green axis for feedback confirmation sounds.
The keys on the right without keycaps are because the keys I used are 84-key Pellet. The size of the 108-key keyboard is inappropriate, and the PGUP and ON keys in the upper right corner are also uneven and inappropriate.
So if you want to design your own keyboard layout, please consider the keycap adaptation of each key.
All reference designs on this site are sourced from major semiconductor manufacturers or collected online for learning and research. The copyright belongs to the semiconductor manufacturer or the original author. If you believe that the reference design of this site infringes upon your relevant rights and interests, please send us a rights notice. As a neutral platform service provider, we will take measures to delete the relevant content in accordance with relevant laws after receiving the relevant notice from the rights holder. Please send relevant notifications to email: bbs_service@eeworld.com.cn.
It is your responsibility to test the circuit yourself and determine its suitability for you. EEWorld will not be liable for direct, indirect, special, incidental, consequential or punitive damages arising from any cause or anything connected to any reference design used.
Supported by EEWorld Datasheet