When using various CW-assisted software to transmit and receive CW, many programs support entering data via a keyboard and converting it into CW audio or keying signals, which can then be transmitted through a radio. Some radios also have built-in keyboard input functionality. However, considering that some models of radios do not support these operations or that connecting with上位机 software is cumbersome, I designed and created this CW keyboard.

Dimensions: 65mm x 50mm
Test video
https://www.bilibili.com/video/BV19sppeeEKR/
In terms of functionality, considering the special nature of keyboard input, an OLED screen has been added for entering content, making it easier to review and modify the output.

On the screen display:
WPM: Indicates the current rate; S: Indicates the current CW output position; L: Indicates the total input length; B: Indicates the buzzer switch; K: Indicates the keyboard insertion status.
The following provides a brief overview of the features:
- The WPM can be adjusted using the keyboard's arrow keys. The up and down arrows (↑, ↓) each increase or decrease the WPM by 1, while the left and right arrows (←, →) each decrease or increase the WPM by 5.
- Button 1 is used to toggle the buzzer on and off. When the status bar displays...(B)When sending CW, both the beeper and the transmitter should sound simultaneously. Conversely, if only the beeper sounds, the transmitter should not.
- Button 2 is used to switch between sending modes. In mode A, pressing the button immediately sends CW until the current input queue is complete; in mode B, the entered content is cached and sent only after pressing Enter.
- Patterns A and B can be distinguished by their display status, as shown in the following figure:

- In mode B, the left side displays the input buffer, and the right side shows the content currently being transmitted.
- The key input supports 26 letters of the English alphabet, 10 numbers, and the following punctuation marks:
- {,.?!;-+/=}
- The backspace key can delete characters that have not yet been sent by CW, and the ESC key deletes all characters and immediately stops sending.
- Quick message access is achieved by using the F1-F12 key range. Pressing any of the keys in the F1-F12 range will retrieve the corresponding stored information.
- When you need to store a message, first type the message on the screen and confirm its content. Then, press Shift + F1 - F12 to save the message in the corresponding area. To avoid unnecessary transmissions, it is recommended to store messages in advance or perform the operation in Mode B.
Currently known issues and precautions:
- It can only recognize standard keyboards; some keyboards may not be recognized or may not function properly after recognition, requiring specific adaptation. Please understand that due to limited resources, this is unavoidable.
- There is no full-key rollover; pressing too many keys simultaneously may result in unexpected behavior.
- The maximum length for sending and storing messages is approximately 500 characters, including spaces. Messages exceeding this length will not be stored or sent.
If any of my HAM friends need it, I will first release the hardware information on the Lihua platform. I also welcome you to contact me; I am interested in creating more small tools related to HAM.