WEEKEND PROJECT
Memory CW Keyer upgrades your Classic Transceiver or Homebrew Rig

Project by DL6ZB

    Considering upgrading your classic or DIY rig?
    This project could be just what you're looking for.


ZB KEYER SCHEMATIC

CW MEMORY KEYER DL6ZB


IC-730 IAMBIC Keyer
Picture: Example of a keyer version for a classic ICOM IC-730


SOFTWARE DOWNLOAD ATTINY4313 VERSION
SOFTWARE FOR THE ZB KEYER IS AVAILABLE IN HEX FORMAT AS PUBLIC DOMAIN ACCORDING TO THE TERMS AND
CONDITIONS PUBLISHED ON THIS WEBSITE. CHECK THIS WEBSITE FOR UPDATES.

SOFTWARE IS AVAILABLE AS A ZIPPED HEX FILE HERE: ZB-KEYER.ZIP (LATEST UPDATE 09-APRIL-2024 VERSION 2.0.9)
CHECK INFORMATION AT THE BOTTOM OF THIS PAGE FOR HOW-TO PROGRAMMING THE MICRO.




      

USER INFORMATION
MANUAL
ZB KEYER
ROLF HEINE DL6ZB
VERSION 2.0.9
MICRO: MICROCHIP(R) ATTINY4313
LAST FIRMWARE UPDATE: 09-APRIL-2024
   
   


    1. FEATURES:
   
        + DASH/DOT KEYER FOR SINGLE AND DUAL LEVER KEYS
        + SQUEEZE IAMBIC MODE A / MODE B OPTION

        + AUTO CQ 
        + AUTO CQ LOOP
        + CALLSIGN MEMORY
        + STANDARD TEXT MEMORY
        + CW SPEED & SIDETONE ADJUST
        + CW AND PTT LINE KEYING
        + STRAIGHT KEY OPTION
        + PTT DELAY OPTIONS: QSK / 0.6 SECOND / 1.2 SECOND
        + SPEAKER OUTPUT
        + DASH/DOT RATIO ADJUST
        + OPTION FOR RTS/DTR CW & PTT CONNECTION WITH SERIAL (RS232) PERSONAL COMPUTER
        + AUTO POWER-OFF (SLEEP MODE)




    2. TECHNICAL DATA:
   
        + VOLTAGE..............: 2.5 TO 5.5 VOLTS
        + MAX. SUPPLY VOLTAGE..: 6 VOLTS (ABSOLUTE MAXIMUM!)
        + CURRENT (APPROX).....: 0.05 µA (SLEEP MODE) - 0.8 mA (OPERATION) - 9 mA (TRANSMIT)
        + OPERATING TEMPERATURE: -10 TO +70 °C / 15 TO +160 °F
        + MAX. KEYED CW/PTT....: 35 VOLTS / 0.2 AMPERE
        + WPM SPEED............: 5 TO 50
        + MEMORY...............: APPROX. 35 CHARACTERS
        + MICROCONTROLLER......: MICROCHIP(R) ATtiny4313
        + SYSTEM CLOCK.........: 1 MHz


   
    3. LED FUNCTIONS:

       LED RED  = FLASH/CONT > MEMORY IS INVOLVED
       LED BLUE = FLASH/CONT > SPECIAL FUNCTIONS



    4.
PUSH BUTTON FUNCTIONS: PRESS SHORT/LONG
   
       KEYER CONTROL IS DONE BY
        + 4 PUSH BUTTONS
        + DASH/DOT LEVER(S) OF AN ALREADY CONNECTED ONE OR TWO LEVER PADDLE
  

       PUSH BUTTON DEFINITIONS
       BUTTON(1) IS DEFINED AS REMOTE READ/WRITE BUTTON.
       BUTTON(2) IS DEFINED AS WpM/SIDETONE/RATIO BUTTON.
       BUTTON(3) IS DEFINED AS TUNE/STRAIGHT KEY BUTTON.
       BUTTON(4) IS DEFINED AS CQ/CALLSIGN/STANDARD TEXT BUTTON
       BUTTON(5) IS DEFINED AS POWER-OFF BUTTON


       PUSH BUTTON 1 TO 4 SHORT PRESS MAIN FUNCTIONS
       BUTTON(1) SHORT: MEMORY READ MODE: SEND CALLSIGN OR STANDARD TEXT / STOP WITH PADDLE OR BUTTON(1)
       BUTTON(2) SHORT: WPM >>> ADJUST WITH PADDLES DASH/DOT / PRESS BUTTON(2) AGAIN TO TERMINATE
       BUTTON(3) SHORT: TUNE / STRAIGHT KEY
       BUTTON(4) SHORT: SEND CQ - PRESS ONCE AGAIN FOR CQ LOOP (10x) / STOP WITH PADDLE OR BUTTON(1)
       BUTTON(5)
---    SHUT OFF KEYER

      
       PUSH BUTTON 1 TO 4 LONG PRESS MAIN FUNCTIONS (APPROX. > 0.5 SECONDS)
       BUTTON(1) LONG:  MEMORY WRITE MODE: ENTER CALLSIGN OR STANDARD TEXT UP TO 35 CHARACTERS
       BUTTON(2) LONG:  SIDETONE ADJUST WITH PADDLES
       BUTTON(3) LONG:  TUNE / STRAIGHT KEY
       BUTTON(4) LONG:  SEND "QRL?"
      
       SEQUENCE FOR DUAL PUSH BUTTON PROCEDURES:
       > PRESS 1ST BUTTON > RELEASE 1ST BUTTON > PRESS 2ND BUTTON > RELEASE 2ND BUTTON
      
       PUSH BUTTON 1 TO 4 DUAL PUSH BUTTON ADDITIONAL FUNCTIONS
      
BUTTON(1) LONG + BUTTON(2): PTT DELAY = 0 (QSK MODE)
       BUTTON(1) LONG + BUTTON(3): PTT DELAY = 500 MILLISECONDS
       BUTTON(1) LONG + BUTTON(4): PTT DELAY = 1 SECOND
       BUTTON(2) SHORT + BUTTON(1): DASH/DOT RATIO ADJUST (SEE BELOW: DASH/DOT RATIO ADJUST PROCEDURE)
       BUTTON(2) SHORT + BUTTON(3): TOGGLES DASH/DOT MEMORY. LED/SPEAKER SIGN: A=OFF B=ON
       BUTTON(2) SHORT + BUTTON(4): TOGGLES SPEAKER ON/OFF
 
       STORED PARAMETERS:
       ALL ADJUSTABLE PARAMETERS REMAIN IN MEMORY AFTER ZB KEYER IS SWITCHED OFF. 
       PARAMETERS ARE RELOADED AFTER KEYER IS SWITCHED ON AGAIN.
       CAUTION: PROGRAMMED INDIVIDUAL PARAMETERS WILL BE DELETED IF A FULL RESET HAS BEEN LAUNCHED.
                ZB KEYER PARAMETERS WILL BE SET TO DEFAULT VALUES.


 
   5.
MEMORY MODE PROCEDURE EXPLAINED IN DETAIL:

        PRESSING BUTTON(1) FOR MORE THAN APPROX. 0.5 SECONDS WILL SWITCH THE ZB KEYER INTO
        MEMORY WRITE MODE. WHILE IN MEMORY MODE THE ZB KEYER'S MEMORY LED (RED) IS SWITCHED ON. 
       
        ZB KEYER NOW REMAINS IN WAIT-STATE DOING NOTHING EXCEPT WAITING FOR
        > PADDLE LEVERS ACTED TO START LOADING THE MEMORY
        > BUTTON(1) IS PRESSED ONCE MORE TO TERMINATE MEMORY MODE WITHOUT ANY MEMORY ACTION
       
        UP TO ABOUT 35 CHARACTERS MAY BE ENTERED AS LONG AS THE MEMORY LED RED IS ON.
        MEMORY SPACE IS SIGNALED EMPTY WHEN THE MEMORY LED RED TURNS OFF AUTOMATICALLY.

       
REMARK:
        IF THE PADDLE IS LEFT UNTOUCHED WHILE BUTTON(1) IS PRESSED ONCE AGAIN THEN THE ZB KEYER
        MEMORY STATE WILL BE TERMINATED WITHOUT ANY MEMORY CHANGE AND THE ZB KEYER RETURNS INTO CW MODE
        THUS LEAVING ALL PREVIOUSLY STORED INFORMATION BURNED IN MEMORY. THIS MAY HELP IF BUTTON(1)
        HAD BEEN TOUCHED UNINTENTIONALLY.
 
        MEMORY WRITE MODE IS TERMINATED IF
        > PADDLE IS RELEASED FOR MORE THEN APPROX. 1 SECOND
        > BUTTON(1) IS PRESSED

        MEMORY READ MODE IS STARTED BY PRESSING
        > BUTTON(1) TRANSMITS THE STANDARD TEXT / CALLSIGN ONLY.
        > BUTTON(4) TRANSMITS AUTO-CQ TEXT WITH ALREADY STORED CALLSIGN
                    EXAMPLE: CQ CQ CQ CQ CQ DE DL6ZB DL6ZB DL6ZB K

        CQ LOOP MODE:
        ZB KEYER TURNS INTO THE KEYER'S CQ-LOOP-MODE BY PRESSING BUTTON(4) ONCE MORE DURING
        A CQ CALL IS SENT OUT. 
THE CQ CALL WHEN IN CQ-LOOP-MODE IS REPEATED APPROX.
        EVERY 10 SECONDS FOR 10 ROUNDS.
   
        TRANSMISSION IMMEDIATE STOP:
        YOU MAY STOP ANY TRANSMISSION ANYTIME BY ACTING THE PADDLE OR PRESSING BUTTON(1).

        DELETING MEMORY:
        MEMORY IS DELETED BY LOADING A NEW CALLSIGN OR A NEW STANDARD TEXT ACCORDING TO
        MEMORY MODE PROCEDURE. MEMORY AND PARAMETERS WILL BE DELETED AFTER A FULL RESET HAS BEEN LAUNCHED
        (SEE FULL RESET PROCEDURE).


   
    6. DASH/DOT-RATIO ADJUSTMENT PROCEDURE:

        + PRESS BUTTON(2) WpM...: BLUE LED FLASHES DOTS
        + PRESS BUTTON(1) MEMORY: BLUE LED FLASHES DOTS, RED LED FLASHES DASHES
        + PRESS PADDLE LEVERS...: RATIO ADJUST. DASH KEY INCREASE RATIO. DOT KEY DECREASE RATIO.
        + REMARK: PRESS BUTTON 2 HERE ONCE MORE TO RESTORE DASH/DOT STANDARD 1:3 RATIO
        + PRESS BUTTON(1) MEMORY: TERMINATE ADJUSTMENT, STORE RATIO IN MEMORY



    7. PERSONAL COMPUTER CONNECTION

       PC SOFTWARE AND ZB KEYER MAY BE CONNECTED IN PARALLEL BY CONNECTING THE PC'S SERIAL PORT CW & PTT
       KEYING LINES TO THE ZB KEYER. THIS CAN BE DONE BY CONNECTING KEYING LINES TO ZB KEYER'S
       "TRANSCEIVER"
CONNECTOR PIN 2 & PIN 3. RS232 (SERIAL) PORT'S RTS OR DTR LINES ARE OFTEN USED FOR
       THIS PURPOSE BY MANY WIDELY USED HAM RADIO SOFTWARE. DTR AND RTS BEHAVIOUR MAY BE SELECTED IN THE
       HAM RADIO SOFTWARE SETTINGS.

       BESIDE EVERY DAY QSO CW OPERATION, THUS THE PC SOFTWARE WETHER IT MIGHT BE A CONTEST SOFTWARE OR
       LOGBOOK SOFTWARE WITH A CW KEYER OPTION MAY BE USED AS A STANDARD TEXT KEYER WHILE THE ZB KEYER CAN
       BE USED IN PARALLEL FOR MANUALLY TRANSMIT ADDITIONAL MORSE CODE IN CASES WHEN THIS IS NECESSARY.

       CAUTION: USE ONLY PIN 2 AND PIN 3 OF ZB KEYER'S TRANSCEIVER CONNECTOR FOR CONNECTING
                SERIAL PORT RTS/DTR LINES OF A PERSONAL COMPUTER'S SERIAL PORT FOR KEYING TO THE ZB KEYER.
                RS232 SERIAL PORT LINES MUST NOT BE CONNECTED DIRECTLY TO THE ZB KEYER'S STRAIGHT KEY
                INPUT CONNECTOR SINCE RS232 VOLTAGE LEVELS EXCEEDS ZB KEYER'S MAXIMUM RATINGS.
                SERIOUS DAMAGE TO THE MICROCONTROLLER WILL HAPPEN IF A RS232 KEYED LINE WOULD BE
                CONNECTED TO ZB KEYER'S STRAIGHT KEY CONNECTOR.




    9. SLEEP MODE:

    THE AUTO POWER-DOWN FEATURE SWITCHES THE KEYER INTO SLEEP MODE
AFTER 15 MINUTES WITHOUT ANY OPERATION
    THUS MANUAL SWITCHING OF POWER-OFF TO SAVE BATTERY LIFE ISN'T NECESSARY
. IN SLEEP MODE THE CURRENT
    CONSUMPTION DROPS TO 0.1 MICROAMPERE.
   
    WAKE-UP IS INITIATIED BY ANY OPERATION OF THE KEYER FUNCTIONS OR ACTING THE PADDLE OR STRAIGHT KEY.
   
    SLEEP MODE CAN BE ACTIVATED MANUALLY BY PRESSING BUTTON(5).
   



    10. FULL RESET PROCEDURE:

        + PRESS BUTTON(1)
        + PRESS BUTTON(2) WHILE BUTTON(1) KEPT PRESSING
        + LED MEMORY TURNS ON
        + WAIT UNTIL LED MEMORY TURNS OFF
        + RELEASE BUTTONS

        + READY.
        + ALL ADJUSTABLE PARAMETERS WILL BE SET TO DEFAULT VALUES.
        + CALLSIGN (OR STANDARD TEXT) ARE WIPED OUT OF MEMORY.


CHECK OUT YOUR TRANSMITTERS PTT VOLTAGE BEFORE CONNECTING IT TO THE ZB KEYER OTHERWISE
SERIOUS DAMAGE MAY OCCUR TO YOUR TRANSMITTER OR THE KEYER IN CASE OF EXCESSIVE VOLTAGES.
SEE TECHNICAL DATA FOR MORE DETAIL ABOUT VOLTAGES AND CURRENTS.

  
  HOW TO PROGRAM THE ZB KEYER'S MICRO?

   OPTION 1: PROBABLY THE EASIEST WAY TO BURN THE FIRMWARE (WINDOWS/LINUX)
    IF YOUR COMPUTER HAS A REAL PHYSICAL RS232 PORT THIS MAY BE YOUR CHOICE.
    SEARCH GOOGLE FOR MORE DETAILS ABOUT PONYPROG HARDWARE AND SOFTWARE. THERE'S QUITE A LOT OF INFORMATION
    AVAILABLE. EASY WAY TO UPLOAD HEX FILES.

   OPTION 2: USBASP (WINDOWS/LINUX)

    OPTION 3: THE LONGEST BUT POSSIBLY THE SAFEST TRAIL (LINUX ONLY).
    THE ARDUINO HAS NOW BEEN TURNED INTO AN ISP PROGRAMMER.
    NEXT STEP IS WIRING THE ARDUINO TO THE ATTINY4313 FOR PROGRAMMING THE MICRO. 

ARDUINO
ATTINY4313
D13
PIN 19 (SCK)
D12
PIN 18 (MISO)
D11
PIN 17 (MOSI)
D10
PIN 1 (RESET)
+5V
PIN 20 (VCC)
GND
PIN 10 (GND)

    PROGRAMMING THE MICROCONTROLLER ATTINY4313 IS DONE BY ENTERING THE COMMAND BELOW INTO THE LINUX TERMINAL WINDOW.
    REPLACE THE
path_to_hex_file.hex WITH YOUR INDIVIDUAL KEYER HEX FILE PATH.
    CHECK THE USB PORT, IT MAY BE /dev/ttyUSBx INSTEAD. ttyACM0 IS FOR ARDUINO UNO BOARD IN MOST CASES
.
    avrdude -c arduino -p t4313 -P /dev/ttyACM0 -b 19200 -e -U flash:w:"path_to_hex_file.hex":i

    FOR EXPERTS: YOU MAY USE AVRDUDESS FOR A MORE COMFORTABLE PROGRAMMING INSTEAD THE COMMAND LINE OPTION.
 




    PLEASE SEND YOUR POSSIBLE BUG REPORTS, COMMENTS OR QUESTIONS TO: dl6zb@dl6zb.de
    SPECIAL THANKS TO OM VOLKER HERRMANN (DL8WIG) FOR TESTING AND USEFUL COMMENTS.
    LEARN MORE ABOUT MY HARDWARE AND SOFTWARE PROJECTS AND LEGAL INFORMATION ON MY WEBSITE. 

<<< BACK TO MAIN PAGE