JFET

Free combination keyboard: 16, 32, 48, 64 keys [ATmega32A]

 
Overview

Some time ago, I made the " Simplest Programmable Inline Keyboard with RGB " (see details: https://oshwhub.com/iqirtryi/pbk40-rgb-keyboard-c ). It is my current main keyboard and is also popular among many friends. I like it. Some friends asked if they could make a combination of 48 and 60 keys. They also asked if there was a cheaper solution. This time they brought a new solution. This is an in-line keyboard. The ordinary keyboard will be open sourced later. Please see my homepage for details.

 

The minimum system of this project refers to the following information. Thank you to the original author for his contribution: https://oshwhub.com/Yomen/atmega32a-with-v-usb

The usbasploader provided by the original author is used. For how to burn, please refer to the original author's B site video.

 

This project uses the relatively cheap Atmega32a chip as the onboard main control. The single-chip PCB has 16 keys. The same circuit board can be spliced ​​left and right to form a 32-key, 48-key or 64-key inline keyboard. The main control and type C port are soldered on the rightmost PCB.

 

Just use wires to weld the two PCBs. The upper and lower case LED lights can be soldered to a certain position on any PCB, and the resistor R7 is welded to the PCB. There is no need to weld the upper and lower case lights and R7 on other boards. The welding method is as shown in the picture above. Don't ask me why I use direct plug-in components, it's just because I have many others, such as those that use SMD packaging, and I modify them myself. The key shaft uses a high-tech standard shaft, which is directly welded. If you want to use hot swapping, you only need to simply modify the pad aperture size for the sleeve method. The shaft seat method is not recommended, as the change is large, and the location around the chip is small. .

 

The USBasp interface does not require soldering pins or sockets. It is best if there are burning pins when burning the bootloader. If not, plug in ordinary pins on the Dupont cable, and then insert it diagonally into the PCB jack. Press it gently when burning. Anyway, you only need to burn it once.

BOOT and RESET use touch switches, and there are small holes corresponding to the base plate to facilitate firmware burning during debugging. If repeated debugging is not required, the switch can be left unsoldered and short-circuited with tweezers if necessary.

 

When burning the bootloader, pay attention to the fuse position as shown in the picture above. Steps: Initialize (select programmer, select bl file) - read - modify L, H - write - read - start programming. There is a very detailed video explanation here: https://www.bilibili .com/video/BV1xU4y1f7cr

 

The soldering of Type C and 32a chips is a bit difficult for beginners. It is recommended to use a heating table and solder paste to complete it, which is much more convenient than a soldering iron. Except for key shafts and individual components, basically everything can be done with a heating table. Those who are inexperienced can search for relevant content at Station B to learn. Be careful not to weld for too long to avoid damaging the components. The heating table shown in the picture above was bought from a treasure store, and I DIYed a PCB heat insulation bracket, which is simple and practical. For details, see: https://oshwhub.com/iqirtryi/heater-holder

 

This is the final product, with keycaps priced at 9.9 yuan with free shipping. It’s cheap, simple and easy to use. The bottom row of the keyboard is equipped with WS2812 RGB lights, and different colors correspond to different layers. Don't tell people that my aluminum positioning plates and base plates were purchased from my next-door neighbor JP's house.

 

1. 16-key numeric keypad

The left side is layer 0. When the left thumb presses the Enter key, it will enter the layer shown on the right. Other layers can modify their definitions as needed.

 

2. 32-key auxiliary keyboard

This auxiliary keyboard is especially suitable for right-hand operation of the mouse and left-hand operation with one hand. Other layers can be modified as needed.

 

3. 48-key full-function keyboard

The key settings have undergone several changes:

In the first version, such as https://oshwhub.com/iqirtryi/pbk40-rgb-keyboard-c , all punctuation marks are placed on layer 1, with the right-hand numeric keypad.

The second version, such as https://oshwhub.com/iqirtryi/K230-PKB40 , is changed to a left-hand numeric keyboard and right-hand direction keys, making it easier for the left hand to input numbers with one hand.

In the third version, as shown in the plan below, frequently used independent shortcut keys for copy and paste are added to the leftmost column, and media playback or other commonly used shortcut keys are added to the rightmost column. The F area is moved to the middle of the 3rd floor, making it easier for the left hand to operate with one hand.

 

Layer 0: letters + function keys. Press and hold Fn1 to enter the number and punctuation mark layer, Fn2 to enter the direction keys and punctuation mark layer, Fn3 for the F ribbon and virtual mouse, and Fn4 for software shortcut keys and media keys.

Press Fn1 and add a space to switch to Chinese. When inputting Chinese, press space with the right thumb to select the first word, press Shift with the left thumb to select the second word, and press Shift with the left thumb to enter capital letters. All operations do not need to leave the main area.

Compared with the previous 40-key version, the biggest change in this project is: the frequently used copy and paste independent shortcut keys are on the far left, and the independent direction keys are on the far right.

 

Level 1: There is a numeric keyboard on the left and some punctuation marks on the right. When I started using this program, it took a while for my left hand to get used to it, but it was worth it.

 

Level 2: The remaining punctuation marks are on the left and the arrow keys are on the right. Now when you put your hands on the keyboard, it's natural to press Fn1 with your left thumb, and it feels like there is a numeric keypad underneath. When you press Fn2 with your right finger, it feels like there is a directional keyboard underneath, which is very natural and comfortable. When I finally used it myself, the rightmost row of independent direction keys was changed to PLAY, NEXT, and two commonly used software shortcut keys.

 

Level 3: Still the backup shortcut keys, F area, and virtual mouse. Press Fn3 on the bottom with your left thumb, and then press the keys in the middle three columns. I found that it is easy to operate the F area keys with one hand.

 

The 4th layer is arranged with media playback keys and shortcut keys for commonly used software. For example, Fn4+C runs Chrome, Fn4+Q runs QQ, Fn4+W runs WeChat, Fn4+M runs music software, Fn4+V runs video software...

 

4. 64-key full-function keyboard, including left-hand independent numeric keyboard.

On the basis of the above 48-key full-function keyboard, a left-hand independent numeric keyboard is added, which is suitable for the understanding of inputting a large number of numbers. Other layers are consistent with 48 keys.

The above key settings are designed more according to the operation of the left-hand keyboard and right-hand mouse, and the numbers, F area, and direction keys are all suitable for one-handed operation. All shortcut keys only need to press two keys at the same time, and a lot of space is reserved. Shortcut keys for settings.

I always believe that key setting is the soul of the entire keyboard DIY. If you set it as needed, even a small keyboard can be used conveniently and efficiently.

 

Why is it cheap?

The relatively low-cost ATmega32A chip is used as the onboard main control;

Minimalist 48-key design minimizes key shaft costs;

Using the splicing circuit board mode, the size of each circuit board meets the free requirements;

All use 1U keys, the keycaps are simple and cheap to install, and there is no need to buy satellite switches;

The structure is simple and the casing is compact.

 

How to use it?

Carefully designed small layout, all keys are within the comfortable operating range of ten fingers, and the little finger does not need to press the keys outward;

The most frequently used Enter key and Backspace key are under the little finger
of the right hand and can be operated without moving; the keys for switching the 1st and 2nd layers and the shift and space keys are under the two thumbs, and the thumb is no longer just used for pressing. space, effectively improving the utilization of the ten fingers;
press the Fn1 key with the left thumb, and under the left hand is a complete numeric keypad and operation symbols, which is very suitable for left-hand numbers and right-hand mouse operation;
press the Fn2 key with the right thumb, under the right hand are up, down, left, and Home, End and other direction keys, the gestures are similar to holding a mouse, natural and comfortable, especially convenient for moving the cursor when coding; for
all punctuation marks, you only need to press the Fn1 key or Fn2 key with your thumb, and press the corresponding key with the fingers of the other hand. The keys are all in the finger comfort zone;
pressing the Fn3 key with the left thumb, pressing the F key with one hand is simple and easy to use, and the right hand Fn3 key, virtual mouse...

 

Of course, compared with large keyboards, small keyboards must be learned and mastered by oneself. After forming muscle memory, it is convenient and efficient. The key setting is also becoming more and more perfect with continuous use.

Attached is the verified firmware .hex file, as well as the QMK source code. iqirtryi32a_iqp32a.hex is the 16-key and 32-key firmware, iqirtryi32a_iqp64a.hex is the 48-key and 64-key firmware, and zip is the corresponding source code.

 

Reference materials, thank you all for your contributions!

https://www.zfrontier.com/app/flow/2wqGYOQPMpOQ  
https://www.bilibili.com/read/cv5275203/  
https://www.zfrontier.com/app/flow/2dq9AoE37KpE   
https://post. smzdm.com/p/aekz8pdm/   
https://www.bilibili.com/read/cv10071032/   
https://docs.qmk.fm/#/zh-cn/   
http://www.keyboard-layout-editor. com/   
https://kbfirmware.com/   
http://builder.swillkb.com/  

 

Thanks again to Yomen for his open source project: https://oshwhub.com/Yomen/atmega32a-with-v-usb . The attached USBasploader_32A.hex comes from his open source project. Without his open source projects and detailed explanations on Station B: https://www.bilibili.com/video/BV1xU4y1f7cr , this project would not have been so simple and smooth, thank you!

 

Thank you for your attention. If you find it interesting, remember to like + comment + collect!

参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2024-11-22 12:09:23

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号