IK0WRB Keyer version 2.2
What follows is the circuit of the IK0WRB Keyer version 2.2
    
  
- a Microchip PIC 16F84, in the 18 pins package
 - a 2 MHz or 4 MHz quarz crystal, parallel resonance
 - 2 capacitors of 22 pF, 15 V
 - 2 resistors of 270 Ohm, 0.25 W
 - a resistor of 100 kOhm, 0.25 W
 - 2 resistors of 10 kOhm, 0.25 W
 - a 2-colors LED, common cathod, red and green
 - a button, normally open
 - 2 jack sockets, 3 poles (stereo)
 - a loudspeaker, 4 - 8 Ohm 150 mW
 - a BC108 transistor, or similar
 - a 4-bits rotary switch (contraves) either binary (0-F) or BCD (0-9)
 
You can download here the hex module you need to program the Microchip PIC 16F84 you need for keyer. This is the software for version 2.2 of the keyer. New versions of the circuit (and related software) may be released in the future.
  
The use of the keyer is basically identical to version 2.1 of the 
keyer, but I totally rewrote the manipulation (iambic) routine, after some 
very high speed CW enthusiasts criticised a bit my keyer. I think now iambic is 
ok even for these strange chaps :-)
Due to difficulties to find 4-bits (thus 
5 pins) 16-positions binary rotary switches, I mapped the positions A through E 
also on positions 5 to 9, that were unused before. So now, for example, to set 
audio on/off you can rotate the switch to 5 or to A, at your choice. This means 
that you can now also install a 4-bits (5 pins) 10-positions BCD switch, witch 
is more easy to find.
For the same market reason, I decided to support both 2 
and 4 MHz quarz crystals, but for this you must tell the chip in some way (no, 
wispering doesn't work...) what crystal you are using. Since I got 2 unused 
pins, one of them is used now for this purpose. So, leaving pin 13 of the 16F84 
free (logic 1) tells the chip that you are using a 2 MHz crystal (this is 
compatible with previous versions of the circuit), while connecting pin 13 to 
ground (logic 0) tells the chip that you are using a 4 MHz crystal.
All these 
changes were possibile because I changed the way to compute delays for each 
transmitting speed. Up to version 2.1 I used a pre-computed table stored in 
program memory, but now I execute a division routine and the space occupied by 
the table is now used for real istructions.
Thus I could add also a new 
feature to direct mode: pressing the button will trasmit a 5 seconds carrier, 
very useful for tuning.
I prolongued also the timeout for sleep mode, from 
the very short 33 seconds to a more normal 2'45". This doesn't affect the way 
you use the keyer, it's only a psycological trick: the keyer doesn't look dead 
while listening in a CW QSO.
Finally, I measured the actual trasmitted speed 
of the keyer and found it was about 9.8% slower than it should have been. Not a 
real problem, but I tuned delay constants anyway.
The following table shows 
how to operate the keyer version 2.2.
| Rotary switch position  | 
    Status | LED color | Left paddle | Right paddle | SET button | 
|---|---|---|---|---|---|
| 0 | Sleep | Off | No effect | No effect | No effect | 
| 1 | Ready | Green while rx. Red while tx. Yellow if tx local.  | 
    Dot | Dash | Send single CQ message | 
| 2 | Speed | Yellow | Decrease speed | Increase speed | Sound current speed (Snn)  | 
| 3 | Weighting | Yellow | Decrease weight | Increase weight | Sound current weight (Wn or Wn.5)  | 
| 4 | TX | Green if disabled. Yellow if enabled.  | 
    Enable transmitter | Disable transmitter | Sound status (TY or TN)  | 
| 5 or A | Audio | Green if disabled. Yellow if enabled.  | 
    Enable audio monitor | Disable audio monitor | Sound status (AY or AN)  | 
| 6 or B | Beacon | Green if message present. Off if no message.  | 
    Starts Beacon sequence. During carrier: immediate call.  | 
    During call: go to carrier. During carrier: more carrier.  | 
    Starts Beacon sequence. During tx or carrier: stops Beacon sequence.  | 
| Autostart beacon sequence at power on | |||||
| 7 or C | CQ | Green if message present. Off if no message.  | 
    Starts CQ sequence. During pause: immediate CQ.  | 
    During CQ: go to pause. During pause: more pause.  | 
    Starts CQ sequence. During CQ or pause: stops sequence  | 
| 8 or D | Direct | Green | Carrier while pressed | Carrier while pressed | 5 seconds carrier | 
| 9 or E | Enter | Green | Store a dot | Store a dash | Single pressure: insert inter-word space. 2 consecutive pressures: delete last char.  | 
| Store an inter-character space when pausing 0.25 sec. | |||||
| F | Sleep | Off | No effect | No effect | No effect | 
 [ About me 
    | Acronyms  | CW 
    | Data Sheets | Docs 
    | Download | E-mail 
    | HOME | Ham 
    projects | Hobby 
    circuits | Photo galery 
    | PIC | QTH 
    photos |
    Sign 
    in my guestbook | View 
    my guestbook ]
      
  
© 2001 - YO5OFH, Csaba Gajdos