Introduction

This page shows how to add memory to your keyer. The first one includes a keyer that connects directly to the memory section. It uses three signal lines (clock, data out, and data in) to communicate with the memory. This means that the same clock that runs the keyer also runs the memory.

Poor Man's CW Memory - Eric Unruh, WB0RYN

This design was published by Eric Unruh, WB0RYN, in the June, 1979 issue of 73 Magazine. Although in the article Eric credits Elmer Watts, K0HAO, with the original idea.

This design can be used with any key or keyer. It is just a add-on that can be used with whatever key or keyer you have. Hookup is relatively simple. You just add the CW Memory in between your keying device and your transmitter. You plug your keying device into J1. Then you take the output of the add-on memory and connect it to your transmitter. A switch is available (S2) for switching out the memory, when the memory isn't needed.

Note: I did not include a keying interface. However, this is needed depending on what kind of keying your transmitter requires (Grid Block or Cathode keying).

Operation is simple. Turn on the Memory/Key switch (S2) to the Memory position, turn the Read/Write switch (S1) to the Write position, turn the Audio switch on (S5), Reset the memories (S4), and key in the message you want. When you're finished, switch the Read/Write switch back to Read (S2) and Reset the memories (S4). Your message should play back.

Erasing - With the Erase switch off, the Inverter U8-A (Pin 2) is normally "high", which then holds the negatice side of C1 "low". This then allows the Clock Oscillator (U6) to run at normal speeds. If the Erase switch is closed, negatice side of C1 goes "high" allowing the Oscillator to run at a high speed (~200KHz).

Poor Man's CW Memory - Eric Unruh WB0RYN
8
A0
4
A1
5
A2
6
A3
7
A4
2
A5
1
A6
16
A7
15
A8
14
A9
DIN
11
DOUT
12
WE
3
CE
13
U6
NTE2102
R
A
M
1K
X
1
A00
A01
A02
A03
A04
A05
A06
A07
A08
A09
A10
8
A0
4
A1
5
A2
6
A3
7
A4
2
A5
1
A6
16
A7
15
A8
14
A9
DIN
11
DOUT
12
WE
3
CE
13
U7
NTE2102
R
A
M
1K
X
1
A00
A01
A02
A03
A04
A05
A06
A07
A08
A09
11
10
SN7404
U1
E
9
8
SN7404
U1
F
C2
0.1uF
S2
MEM/KEY
Sidetone
Keying
Page 2
OUTPUT
GND
B↓
A↓
R01
R02
QD
QC
QB
QA
14
1
2
3
11
8
9
12
S
N
7
4
9
3
U
3
A00
A01
A02
A03
B↓
A↓
R01
R02
QD
QC
QB
QA
14
1
2
3
11
8
9
12
S
N
7
4
9
3
U
4
A04
A05
A06
A07
B↓
A↓
R01
R02
QD
QC
QB
QA
14
1
2
3
11
8
9
12
S
N
7
4
9
3
U
5
A08
A09
A10
1
2
SN7404
U9
A
R6
150Ω
LED1
+5V
R7
150Ω
LED2
+5V
Address Bus A[0..10]
DIS
RST
THR
OUT
TRI
CTL
7
6
2
4
3
5
U2
NE555
+5V
S3
ERASE
R1
22KΩ
+5V
1
2
SN7404
U1
A
+
C1
1.0µF
R2
25K
R3
4.7KΩ
+5V
S1
R/W
R5
22KΩ
+5V
S4
RESET
R4
22KΩ
+5V
3
4
SN7404
U1
B
J1
Key Input
5
6
SN7404
U1
C
13
12
SN7404
U1
D

This next page contains the Sidetone Oscillator and the Power/Ground wiring. The sidetone can be made adjustable by replacing R9 (1MΩ) with a trimmer around the same value. Initially it appears that there is no keying for the sidetone. Keying the sidetone is accomplished by grounding pin 1 of the NE555. This is shown in the Power/Ground wiring. The sidetone can be completely disabled with S5.

The 0.01 µF bypass capacitors on each IC were added by me. It is good TTL design practice to add bypass capacitors to each IC. This helps to keep switching transients from one IC getting to any other IC and degrading operation. Note that the NE555s use a much higher value (47 µF) for a bypass capacitor. This is because some 555s can generate a lot of trash on the power bus.

Poor Man's CW Memory - Power/Ground and Sidetone Oscillator - Eric Unruh WB0RYN
DIS
RST
THR
OUT
TRI
CTL
7
6
2
4
3
5
U9
NE555
+5V
R8
10KΩ
+5V
R9
1MΩ
C12
0.001uF
+
C13
47µF
SP1
+
-
Sidetone Oscillator
+5V DC
Ground
+5 Volt Power
VCC
GND
14
7
U1 - SN7404
C3
0.1uF
VCC
GND
8
1
U2 - NE555
+
C4
47µF
VCC
GND
5
10
U3 - SN7493
C5
0.1uF
VCC
GND
5
10
U4 - SN7493
C6
0.1uF
VCC
GND
5
10
U5 - SN7493
C7
0.1uF
VCC
10
VSS
9
U6 - NTE2102
C8
0.1uF
VCC
10
VSS
9
U7 - NTE2102
C9
0.1uF
VCC
GND
14
7
U8 - SN7404
C10
0.1uF
Power/Ground Wiring
VCC
GND
8
1
U9 - NE555
+
C11
47µF
+5V
S5
AUDIO
Sidetone Keying
Sidetone
Keying
Page 1
+5V
+5V
+5V
+5V
Build a CW Memory - Larry Kasevich WA1ZFW

This design records what an operator actually sends with his key.

Build a CW Memory - Key Input, Timing, Sidetone, and Audio Out
Larry Kasevich, WA1ZFW
4
5
CD4049
U10
B
2
3
CD4049
U10
A
R1
100K
S
P
E
E
D
R3
20K
C3
0.1 uF
S
R
D
Q
Q
3
5
6
4
1
2
CD4013
U6
A
MEM CLK
15
14
CD4049
U10
F
8
9
10
CD4011
U8
C
6
7
CD4049
U10
C
13
12
11
CD4011
U8
D
RAM R/W
J1
Key Input
1
1
2
3
CD4011
U8
A
VCC
R1
100KΩ
V
C
C
RAM DIN
6
5
4
CD4011
U8
B
RAM DOUT
1
2
3
CD4011
U9
A
CW_OUT
6
5
4
CD4011
U9
B
R6
22KΩ
8
9
10
CD4011
U9
C
VCC
C4
0.015 uF
13
12
11
CD4011
U9
D
S
R
D
Q
Q
11
9
8
10
13
12
CD4013
U6
B
CE3
RECORD IND.
R1
100KΩ
S1
RECORD
V
C
C
S2
STOP/PLAY
R1
100K
V
C
C
STOP/PLAY
R7
50KΩ
Q1
2N2905
Q2
2N2905
VCC
C1
0.22 uF
C5
0.0027 uF
SP1
+
-

This drawing below is for the Memory Address Counter, Chip Enable Decode, and Ram storage of the CW Memory. You may notice the odd addressing on the Rams. I drew this schematic, trying to keep the authors original wiring, pin for pin. While the Address Counter (U5-CD4040) output lines go nicely from A[00] to A[11], the addresses at the Rams are not in order. I assume that this is due to the PC layout. At the Ram, the ordering of the addresses doesn't really matter.

Build a CW Memory - Ram Address Counter, CE Decode, and Ram
Larry Kasevich, WA1ZFW
8
A0
4
A1
5
A2
6
A3
7
A4
2
A5
1
A6
16
A7
15
A8
14
A9
DIN
11
DOUT
12
WE
3
CE
13
U1
NTE2102
R
A
M
1K
X
1
CE0
8
A0
4
A1
5
A2
6
A3
7
A4
2
A5
1
A6
16
A7
15
A8
14
A9
DIN
11
DOUT
12
WE
3
CE
13
U2
NTE2102
R
A
M
1K
X
1
CE1
8
A0
4
A1
5
A2
6
A3
7
A4
2
A5
1
A6
16
A7
15
A8
14
A9
DIN
11
DOUT
12
WE
3
CE
13
U3
NTE2102
R
A
M
1K
X
1
CE2
8
A0
4
A1
5
A2
6
A3
7
A4
2
A5
1
A6
16
A7
15
A8
14
A9
DIN
11
DOUT
12
WE
3
CE
13
U4
NTE2102
R
A
M
1K
X
1
CE3
A00
A09
A08
A07
A01
A05
A02
A03
A04
A06
A09
A04
A00
A03
A01
A05
A02
A07
A08
A06
A09
A04
A00
A03
A01
A05
A02
A07
A08
A06
A01
A08
A09
A07
A04
A05
A00
A03
A02
A06
RAM DIN
RAM DOUT
R
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
Q9
Q10
Q11
Q12
10
11
9
7
6
5
3
2
4
13
12
14
15
1
C
D
4
0
4
0
U5
Address Counter
A00
A01
A02
A03
A04
A05
A06
A07
A08
A09
A10
A11
MEM CLK
STOP/PLAY
RAM R/W
10
9
CD4049
U10
D
A11
1
2
3
CD4011
U7
A
A10
CE0
6
5
4
CD4011
U7
B
A11
A10
CE3
8
9
10
CD4011
U7
C
A11
CE2
12
11
CD4049
U10
E
A10
13
12
11
CD4011
U7
D
CE1
Chip Enables
A[11..0]
Build a CW Memory - Power/Ground
Larry Kasevich, WA1ZFW
+5V DC
Ground
+5 Volt
Power
+
C2
33 uF
VCC
10
VSS
9
U1 - NTE2102
C6
0.1uF
VCC
10
VSS
9
U2 - NTE2102
C7
0.1uF
VCC
10
VSS
9
U3 - NTE2102
C8
0.1uF
VCC
10
VSS
9
U4 - NTE2102
C9
0.1uF
VCC
GND
16
8
U5 - CD4040
C10
0.1uF
VCC
GND
14
7
U6 - CD4013
C11
0.1uF
VCC
GND
14
7
U7 - CD4011
C12
0.1uF
VCC
GND
14
7
U8 - CD4011
C13
0.1uF
VCC
GND
14
7
U9 - CD4011
C14
0.1uF
VCC
GND
1
8
U10 - CD4049
C15
0.1uF
+5V
+5V
+5V
+5V
Bug Key With 528-Bit Memory - Graham Moore, G4DML

This design records what an operator actually sends with his key.

Circuit Description

The keyer consists of a standard "el-bug" circuit around U3, gated to both the keying relay, RLA, and to the recirculating shift register memory. This is made up of eight 4031 64-stage static shift registers, designed so that the data once entered shifts continuously around the loop formed by thes ICs and their associated circuitry.

Both keyer and memory are clocked by the continuously variable CMOS oscillator formed by U1. The clock drive to the shift register can be disabled so that the keyer can be used as a standard el-bug without storage. This method of storing the data was chosen as it alleviates the problem of generating the address encoding and decoding that would be required if RAM type memory was used.

The data is read in purely as a serial data stream and read out in exactly the same way; note however that the data is stored inverted in order to simplify start and stop bit identification. In order to locate the start of the message a synchronising pulse of eight blanks is left at the beginning of any data entry. The circuitry that detects this pulse, U8 and U10, is also used at the other end of the memory, U9 and U11, to enable any large blanks in the stored message to be run through at very high speed. This is done automatically switching oscillator speeds by U2 and U7 when more than eight blanks are detected by U9 and U11. When the first data bit is detected by U8 and U10 the clock is switched back to normal speed and keying continues..

Functional Description

MEMORY ON/OFF: This enables the clock to the recirculating memory. When in the OFF position the keyer can be used as a normal el-bug with no storage facility.
LOAD: When used in conjunction with MEMORY ON, any keyed data is loaded into memory. The clock is automatically disabled when no keying is present so as not to run through the memory filling it with blanks. Note that this switch must be in the LOAD position to enable the paddle to operate the keyer.
CLEAR: When used in conjunction with MEMORY ON the entire memory space is cleared in approximately two seconds. It must be pressed and held down until the memory FULL LED extinguishes at the start of every load cycle.
READ: In this position with the memory switched ON, information stored in the memory will be read out to the keyed relay and DATA LED.
DATA and FULL LEDs: These two indicators are included on the keyer so that an eye can be kept on the operation of the unig. The DATA LED indicates the information being sent to the keying relay.
The FULL LED indicates when there are eight more empty memory locations left. Normally unless the data entry can be completed by this time, the memory will then have to be cleared and a shorter message input.

The SPEED control is self-explanatory, allowing datra to be keyed in at one speed and output at another. A rate of 400 letters per minute is the normal speed used for m.s. contacts.

8
7
6
5
4
3
2
1
8
7
6
5
4
3
2
1
A
B
C
D
A
B
C
D
Graham Moore, G4DML
Title
Bug Key With 528-Bit Memory
Size
B
Document Number
Bug Key
Rev
N/A
Date:
August 13, 2022
Sheet 1 of 3
4
5
CD4049
U1
B
6
7
CD4049
U1
C
2
3
CD4049
U1
A
3
4
5
6
CD4023
U4
B
S3
Memory_On
+V
12
11
CD4049
U1
E
Clock
R10
10KΩ
R1
*
SPEED
R2
250KΩ
R3
150KΩ
C1
0.001 uF
C2
0.22 uF
13
1
2
CD4066
U2-A
1
2
3
CD4001
U7
A
13
12
11
CD4001
U7
D
Clear
Load
Single
K1
R12
2.2KΩ
+
V
R14
22KΩ
C5
0.001 uF
D3
1N916
R13
22KΩ
C4
0.001 uF
S
R
J
K
Q
Q
13
10
11
9
12
15
14
CD4027
U3 B
+V
S
R
J
K
Q
Q
3
6
5
7
4
1
2
CD4027
U3 A
+V
13
12
11
CD4071
U6
D
13
12
11
CD4011
U5
D
2
1
8
9
CD4023
U4
A
Load
5
4
3
CD4066
U2-B
S2
LD/RD/CL
+
V
D4
1N916
Load
Clear
R15
10KΩ
R16
10KΩ
D2
1N916
8
7
6
5
4
3
2
1
8
7
6
5
4
3
2
1
A
B
C
D
A
B
C
D
Graham Moore, G4DML
Title
Bug Key With 528-Bit Memory
Size
B
Document Number
Memory
Rev
N/A
Date:
August 13, 2022
Sheet 2 of 3
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U12
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U13
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U14
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U15
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U16
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U17
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U18
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U19
D
R
Q1
Q2
Q3
Q4
7
9
6
5
4
3
10
CD4015B
U8-A
Q1
Q2
Q3
Q4
D
R
Q1
Q2
Q3
Q4
15
1
14
13
12
11
2
CD4015B
U8-B
Q5
Q6
Q7
2
3
4
5
9
10
11
12
13
1
CD4068
U10
Q3
Q2
Q1
Q4
Q7
Q6
Q5
6
5
4
CD4071
U6
B
Clear
D
R
Q1
Q2
Q3
Q4
7
9
6
5
4
3
10
CD4015B
U9-A
Q1
Q2
Q3
Q4
D
R
Q1
Q2
Q3
Q4
15
1
14
13
12
11
2
CD4015B
U9-B
Q5
Q6
Q7
2
3
4
5
9
10
11
12
13
1
CD4068
U11
Q3
Q2
Q1
Q4
Q7
Q6
Q5
Bug Key With 528-Bit Memory - Page 2 - Graham More G4DML
D
R
Q1
Q2
Q3
Q4
7
9
6
5
4
3
10
CD4015B
U8-A
D
R
Q1
Q2
Q3
Q4
15
1
14
13
12
11
2
CD4015B
U8-B
2
3
4
5
9
10
11
12
13
1
CD4068
U10
D
R
Q1
Q2
Q3
Q4
7
9
6
5
4
3
10
CD4015B
U9-A
D
R
Q1
Q2
Q3
Q4
15
1
14
13
12
11
2
CD4015B
U9-B
2
3
4
5
9
10
11
12
13
1
CD4068
U11
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U12
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U13
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U14
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U15
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U16
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U17
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U18
I1
I2
M
Q
Q
Q*
CD
15
1
10
2
6
7
5
9
CD4031
U19