Tuesday 29 August 2023

K3NG keyer

K3NG keyer using boards by UN7FGO and an Arduino Nano

Click any image to go SUPERSIZE


I ordered a set of boards via JLCPCB in China (5 of each board for ~£21 delivered)

Main board
https://oshwlab.com/UN7FGO/K3NG_KEYER_V2_1

Control board
https://oshwlab.com/UN7FGO/K3NG_EXT_PANEL_2

Front & back panels
https://oshwlab.com/UN7FGO/K3NG_PANELS_CHINA_PROFILE

The schematics in the above links will give you the components needed to complete the keyer.
Obviously some of the components can be omitted from the main board PCB as they are reproduced on the control board PCB.

My case came from Amazon UK but can also be found on other sites
https://www.amazon.co.uk/dp/B098TNTGFP

All other parts came from my parts stock or from Amazon/ebay etc.

https://www.amazon.co.uk/dp/B07FXXPGKM

https://www.amazon.co.uk/dp/B07SSLZX77

https://www.amazon.co.uk/dp/B008DS11IQ

https://www.ebay.co.uk/itm/125216704009


The black front & back PCB panels do need saw cutting through the middle and sanding down to finish them.

Once assembled and the code loaded, it turned out rather well.
I 3D printed the various spacers I needed (bright orange !)
The front panel buttons I had were too short really and buttons that are 12mm or longer, as listed above would have been better - mine were 8mm (3D printer to the rescue again).





The main code can be obtained from here...

The following changes need to be made to the code...

In the KEYER_PIN_SETTING.H file, specify the microcontroller contacts, as they are organized in this device:

define paddle_left 6

define paddle_right 5

define tx_key_line_1 12

define sidetone_line 4

define potentiometer A0

define ptt_tx_1 11

define analog_buttons_pin A1

define command_mode_active_led 7

define ps2_keyboard_data 2

define ps2_keyboard_clock 3

The remaining contact names must be set to "0".



In the KEYER_FEATURES_AND_OPTIONS.H file, specify the device options used by removing the "//" sign in front of them:

define FEATURE_BUTTONS

define FEATURE_COMMAND_MODE

define FEATURE_MEMORIES

define FEATURE_MEMORY_MACROS

define FEATURE_POTENTIOMETER

define FEATURE_PS2_KEYBOARD

All other options must be commented out with "//".

When choosing a set of desired functions, be careful, because not all of the desired set will fit into the memory of the Arduino Nano microcontroller.



In the KEYER_SETTINGS.H file, you must specify the following parameters for variables:

define potentiometer_change_threshold 1.0

define default_ptt_hang_time_wordspace_units 1.0

define potentiometer_always_on 1

define analog_buttons_number_of_buttons 6

define analog_buttons_r1 10

define analog_buttons_r2 1

All other parameters can be left unchanged.

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

Modified for internal sidetone... cut 2 tracks and add wires as pic



Yellow wire goes to one of those LM386 audio modules and outputs to an old laptop speaker... works fine!