A RPi controlled DDS-VFO for a Kenwood TS120S Transceiver from 1979

Copyright © Herbert Hanewinkel, DK7JJ


I own a Kenwood TS120S ham radio transceiver (with original PS30 power supply) built in 1979. It was one of the first inexpensive transceivers with PLL and digital frequency display. It weighs a few pounds but was called a mobile transceiver at the time. The service manual and a lot of informations about the transceiver were collected by radio amateurs and are available on the internet. Thanks to this information a faulty transistor could be located and replaced.
Because of the free running VFO, in the first hour of operation the frequency needs to be adjusted every few minutes. Therefore I decided to build a DDS VFO. A DDS VFO also improves FT8 operation because of split frequency support and remote frequency control.


The components:

From the TS120S service manual an external VFO has to deliver a signal of 200mV rms at 500 Ohm in frequency range 5.5 Mhz - 6.0 Mhz This is exactly the voltage the chinese AD9850 DDS module produces. Therefore it should be no problem to adapt the module to the external VFO input of the TS120S transceiver.

The external VFO connector of the transceiver provides tho following lines:

Because in Germany AC voltage changed from 220V to 235V in the last decades the offical PS voltage of 13.8V increased to ~14.4V today. It should cause no problem because the manual says that the TS120S transveiver accepts a voltage up 15.5V.

The AD9850 DDS module needs 5V, ~130 mA. To power the module from the transceiver the 14.4V line must be used. To get the 5V a standard voltage regulator module is used (LM7805 + 2 capacitors). This results in a heat problem because the voltage regulator produces (14.4-5)V * 0,13A ~= 1.2W as heat. The standard cooling shield of the module was replaced by a larger shield of a DRAM module. Additionally 54 holes were drilled in the small box for better cooling.

Copper tape connected to ground is used on the inner side of the small box to shield the VFO.

The RPi runs a standard RASPIOS with Python3 and LIRC for IR handling.

The ouptut signal of the AD9850 DDS module is connected by a 10μ capacitor to the VFO input line using a shielded cable. I made also experiments with an AD9833 module. It could be selected in my dds python code. For operation with the TS120S the output signal of the AD9833 module is too small and building a hf amplifier is another problem.

The system worked fine on 20m, but on 10m band the system showed strange effects until the cover of the RPi was shielded. I used grounded copper tape as for the box.


The DDS VFO itself has no controls. The RPi accepts IR input, mouse input and commands from a HAMLIB client for the VFO. (e.g. in WSJT FT8 software select HAMLIB as transceiver model and specify the HAMLIB port 4575 as declared in the python script)
The software consists of two Python scripts.

The Python script is independant of the remote control. LIRC converts remote control specific IR events to keyboard events handled by the Python script. Only LIRC configuration depends on the remote control. There are tutorials on how to setup LIRC on linux/RPi.

TS120S with DDS-VFO and RPi on top