03 February 2017

The TinyKeyer - building, tips and tricks


if you are looking for small, powerful, fully featured and PC driven keyer instead of your old, outdated machine without PC interface then you must try the TinyKeyer designed by Martin, OK1RR based on open source K3NG code.

Here is my assembly guide including some tricks and tips for builders. It is not for real beginners but it is not complicated and it can be built by moderately skilled builders during few hours. So we can call it "one evening project" let say...

The TinyKeyer kit by Martin, OK1RR (PCB Rev.8.0)
the (possibly) World's Smallest Fully-Featured CW Keyer with Computer Support

This keyer, based on Arduino design, employs the famous K3NG code. It can be used with any Windows/Linux/Mac logging or contesting software with Winkeyer USB (K1EL) support. The credit & big kudos goes to Anthony Good (Goody), K3NG, who did the tremendous work.

It is a very small unit (outer dimensions 45 x 45 x 18.6 mm, appx. 1.8 x 1.8 x 0.73 in) which does not have any fancy options (a zillion of buttons, psychedelic flashing LED lights or cockatoo colored displays). It is intended for regular CW work and contesting with computer support, most of functions should be adjusted and operated via the computer. For standalone work an acoustic menu in command mode is used. Otherwise, only speed control knob and a mini LED indicating the command mode is on the front panel, nothing more. See here.

Tinykeyer has also a support discussion group at https://groups.yahoo.com/neo/groups/tinykeyer/info

This is what you will get if you have the TinyKeyer full kit. You can have also just keyer motherboard itself and then you can buy the Arduino Nano by yourself on eBay or somewhere else. Just be sure that you are ordering the Arduino Nano Rev.3! In case that you have just motherboard PCB with parts you will get also the Aluminium case as it is showed on the picture above.

PCB is manufactured professionally with printed mask and it is easy to solder on it.

If you are not sure with the components value then check them by DMM. Do not worry if you have not as same equipment as I have from Agilent.

Prepare the ESD mat working tool to protect your ESD sensitive parts like FETs as same as Arduino Nano Rev.3 board!

If you are not familiar with tweezers or your fingers are no longer reliable then the Sticky pen will help a lot.
Follow the instructions on Martin's web here and start with bottom PCB side... resistors then capacitors etc.

If you are not skilled so much with SMD... the key is to not put so much of iron on the pads!

You should finishing this bottom side with FET switching transistors.

Bottom side assembly finished. I am recommending to work slowly, be precise and do the clean job.

Continue with the top side of the PCB accordingly. As it is described in the assembly instructions you will put in place the electrolytic capacitor and then go to encoder installation.

The Faston blade before modification

Martin, OK1RR saying "it is a bit tricky". For the first time maybe it looks like, but believe me it is not so difficult.

The Faston after first modification - cutting

Tip 1. Check the height of the Faston blade towards the top of encoder in the PCB before soldering both of them! Cut it a bit higher then the top side of encoder is and then refine it slightly using flat file. The maximum height of the Faston blade in PCB after soldering is defined by top flat of the encoder in order to fit into the Aluminium case finally.

I prefer to drilling the standard circle hole (2-2.1mm diameter worked for me) instead of refining the oval shape.

Neatening is not necessary but I prefer it (12-15mm diameter is ok and make just single rev manually. Do NOT use the power drill for neatening of this hole!

The Faston blade after all modifications ready to assembly to PCB together with encoder.

Tip 2. Try if it will fit into the Aluminium case again before the soldering both of these parts (Faston + encoder) into the PCB! If the problem is with encoder push it carefully into the PCB)

Follow the instructions to assembly the encoder...

Just modify the top and bottom pins according to the pictures above to fit into the PCB smoothly.

Trick 1. Keep the encoder as left as possible while soldering it onto the PCB. You will avoid the later collision with front panel right-top screw!

Solder it precisely and clean on the PCB. Do not use excessive amount of the iron but be sure it is properly soldered.

Finish the soldering of the top pins of the encoder into the Faston blade hole. Do not overheat the encoder! Be quick and precise. Excessive heat can damage the encoder so count 1-2-3-4 then stop and take it cool-down. After that you can repeat if it is needed.

Bend the pins according to the picture to be able to solder the short piece of wire bridge to Faston blade.

The encoder is soldered on the PCB finally.

Tip 4. Be sure that the encoder is straight and encoder's axis is perpendicularly mounted to PCB otherwise the knob will not be in parallel with your front panel during boxing! 

Check if it really fit into the case smoothly... Then continue with top side mounted parts following the assembly instructions.

I am using the assembly lab microscope in order to help to my eyes and be as precise as possible. 

To be sure that jacks will fit to case and rear panel keep them in line with Aluminium case edge.

Tip 5. Be sure that both jacks are straight and their axis is perpendicular otherwise the nuts will not be in parallel with your rear panel during boxing!

Tip 6. The Arduino Nano board must sit down on the header directly otherwise You can have problem to fit into the Aluminium case!

The TinyKeyer assembly is finished and ready to be boxed now.

Checking if all is fit smoothly and panels can be drilled and refined accordingly.

Painting job done as I do not like to have refined hole for USB in different color from the box itself.

Boxing is finished and all looks good. The last job is put in place tiny legs and let's go to test it...

Job done. The another TinyKeyer is born and can be tested together with PC and the radio in the field.

Regarding the programming the Arduino (if you have not pre-programmed in the kit) follow the instructions on the Martin's web here.

Caution! As described in the beginning this assembly guide is valid for TinyKeyer PCB motherboard Rev.8.0! Nevertheless the newer PCBs Rev. 11.2 available are just slightly different (LED position etc.) the most of this guide as same as tips and tricks will work for both.

I hope it will help to some builders in order to put another TinyKeyer alive.

73 - Petr, OK1RP


  1. As I got few emails about PCB orders... regarding the ordering the PCBs please contact directly Martin, OK1RR. 73 - Petr, OK1RP

  2. Now you need to make similar presentation on programming for those of us who never touched Arduino before.

    1. OK. I will try to thinking about it :)

    2. Try the Preparation/programming chapter over here:

    3. well, I wrote step by step "Programming Guide For Dummies" like myself. my be it will help someone.

      Download Keyer programm https://github.com/k3ng/k3ng_cw_keyer
      Unmark in Keyer_hardware.h
      Following line

      // #define HARDWARE_NANOKEYER_REV_B // https://nanokeyer.wordpress.com/nanokeyer-info/ files: keyer_pin_settings_nanokeyer_rev_b.h, keyer_features_and_options_nanokeyer_rev_b.h, keyer_settings_nanokeyer_rev_b.h

      // #define HARDWARE_NANOKEYER_REV_D // https://nanokeyer.wordpress.com/nanokeyer-info/ files: keyer_pin_settings_nanokeyer_rev_d.h, keyer_features_and_options_nanokeyer_rev_d.h, keyer_settings_nanokeyer_rev_d.h

      // #define HARDWARE_OPEN_INTERFACE // http://remoteqth.com/open-interface.php files: keyer_pin_settings_open_interface.h, keyer_features_and_options_open_interface.h, keyer_settings_open_interface.h

      #define HARDWARE_TINYKEYER // http://www.ok1rr.com/index.php/technical-topics/122-the-tinykeyer files: keyer_pin_settings_tinykeyer.h, keyer_features_and_options_tinykeyer.h, keyer_settings_tinykeyer.h

      // #define HARDWARE_FK_10 // Funtronics K3NG Keyer FK-10 - See notes below!!! http://www.elekitsorparts.com/product/funtronics-k3ng-keyer-fk-10-99-winkey-emulation/ files: keyer_pin_settings_fk_10.h, keyer_features_and_options_fk_10.h, keyer_settings_fk_10.h

      // #define HARDWARE_TEST

      Download Programmer https://www.arduino.cc/en/Main/Donate

      Connect USB cable
      Choose PORT ##
      Choose Arduino Nano
      Choose processor type ATmega328
      Open k3ng_keyer.ino
      Double check settings.
      Remove Jumper.
      Press second circle from the left with arrow pointed to the right.
      Observe LEDs blinking.
      after hearing HI install Jumper JP1
      Reconnect USB. verify operation.
      DM780 -> New window -> CW (WinKwy) -> Connect -> TEST

  3. Wiring is here: https://plus.google.com/100312042524727617304/posts/J7svRZosKGK

  4. Upon several emails in the past... As described in the beginning this assembly guide is valid for TinyKeyer PCB motherboard Rev.8.0! Nevertheless the newer PCBs Rev. 11.2 available now is just slightly different (LED position etc.) the most of this guide as same as tips and tricks will work for both.