A memory doubling mod for the Elecraft K2 transceiver

Chuck Olson, WB9KZY
Jackson Harbor Press

Several years ago, Meyer Minchen, AG5P, provided the inspiration for me to try a couple of memory doubling experiments using serial eeprom devices. Recently, someone on the Elecraft email list mentioned that he would like extra memories for his K2. I immediately thought of using Meyer's idea to double up the serial eeprom of the K2. This technique was also used in the earlier pre-PC days of home computing with computers such as the Atari 400/800 and others to increase the RAM of the computer. In the K2, the eeprom holds the Morse code memories as well as the calibration data and the frequency memories.

The basic idea of the memory doubler (you could also triple, quadruple and on up but doubling is easiest ;) is to connect two memory ICs in parallel except for the chip select pins (pin 1) which are brought out separately. This can be done two ways: physically mount the ICs on top of each other (piggy back) and solder all pins of the top IC to the bottom IC except for the chip select pin 1 OR use a small circuit board to connect two eeproms in parallel and then cable this board to the eeprom circuit board position. In either case, a SPDT switch is used to select which IC "memory bank" is in use. One final circuit note, two 100k "pullup" resistors are connected between the +5V power supply and the chip selects of the two eeproms. These resistors will turn off the eeprom which is not in use. Here is a somewhat complicated schematic for the doubler:

[memory doubler schematic - click to download]

In the K2, the serial eeprom (U7) is located on the K2 control board (vertically mounted board behind the front panel) at the top middle just above the 40 pin PIC device. The eeprom chip (the 25LC320 from Microchip Technology) is available from either DigiKey (25LC320/P-ND, $1.04) or Mouser (579-25LC320P, $0.96).

Here is a procedure for installing the memory doubler:

Step 1) RECONSIDER ! . . . then decide which approach you wish to take: the conventional with a circuit board and cabling or the "piggy back". Next, get the parts together: eeprom, socket/s, circuit board (if needed), 100 k ohm resistors, et cetera.

Step 2) Unsolder the current eeprom and replace with a socket. This is probably the hardest step, use either a good quality desoldering braid or a desoldering sucker of some kind to remove the eeprom chip (intact) without ruining the circuit board traces.

Step 3) optional: duplicate the contents of the current eeprom into the new eeprom. I used Ponyprog to read the eeprom from my K2 and then to save a copy to disk and then finally to program the other eeprom as a duplicate of the original. I selected the 25320 device in Ponyprog which worked fine with the 25LC320. You can use any eprom programmer that can handle serial eeproms to perform this step. Why duplicate the serial eeprom ? - because the eeprom holds not only the Morse messages but also all the calibration data and frequency memories. One other approach might be to redo the entire K2 calibration into the "new" eeprom, but that seemed like a lot of trouble and I wanted to try out Ponyprog anyway ;)

Step 4a) Piggy back approach: Here are some views of the "piggy back" version of the memory doubler (the wires are routed to a SPDT switch mounted on the rear of the K2) the "doubled" eeprom is plugged into the eeprom socket:

[piggy back side view pins 4 to 8] [piggy back front view pins 1 & 8] [piggy back side view pins 1 to 4] [piggy back top view]

I mounted the original desoldered eeprom on top of the new, duplicated eeprom (after making sure the leads on both were formed to fit into the socket). Then pins 2 to 8 were soldered together, taking care not to let the solder go down into the contact area of the lower eeprom pins. Pin 1 of each eeprom was then gently bent out until roughly horizontal. The 100k resistors were then soldered from pin 8 to pin 1 of each eeprom. The wires to the SPDT switch were then soldered to each pin 1. The other end of the wires were connected to the two outer contacts of the SPDT switch. The center (common) contact of the switch was then wired to pin 1 of the eeprom (U7) socket, I used thin solid wire, 26 gage ?, which can be pushed directly into the socket. Finally insert the piggy backed eeproms into the socket and the mod is complete.

Step 4b) Conventional approach: Here is a view of the "conventional" version of the memory doubler (a ribbon cable is plugged into the eeprom socket, the other end of the cable goes to a small circuit board with the two eeproms and the 100 k ohm pullup resistors, the chip selects are then routed to a SPDT switch on the rear panel of the K2):

[top view of K2 with memory doubler board,
click for larger view]

Other K2 memory doubling modification ideas: 1) Use a flip flop IC to toggle between the chip selects, connect the Q output to one eeprom and the Q bar output to the other. This would allow the use of a momentary switch to select between the two banks of memory rather than a SPDT switch, it would also minimize any chip select waveforms being propagated into the receiver via the wires to the SPDT switch.

2) Annunciate the banks using one or two LEDs (or maybe a single LED with two colors ?) the led/s could be connected to a second pole of switching (use a DPDT switch instead of a SPDT switch).

3) Use a 2:1 mux IC with a SPDT or SPST switch to select which eeprom is in use. This would also prevent the chip select waveforms from being propagated into the K2 receiver.

4) Instead of removing the eeprom completely, just remove pin 1, then piggy back the second eeprom on top of the first. The only problem with this idea is that it would be necessary to do the complete calibration and filter setup on the new eeprom since it wouldn't be possible to make a copy of the contents of the original eeprom.


Page accesses: