CTCSS Tone generator


Project updated 26.12.2003



My old mobile rig Yaesu FT4700 was missing CTCSS tone option. CTCSS tones are required to operate growing number of repeaters. Original Yaesu FTS-8 boards is not anymore available. FT4700 is dual band rig and needs two of these modules. What to do ? Build replacement yourself off course. This project is mainly for FT-4700 but it can be used with all rigs designed for FTS-8 option. You can also modify source code for other applications.



First task was to hack FT4700 FTS-8 interface. Original FTS-8 module is fully integrated to FT4700 controls. I decided to make compatible module. Tone is selected with six bits. Negative logic is used here. You can find tone chart from software source code. Other control signals are tone encode decode enable and TX on voltage. My module does only encoding. Receiver audio is passed through. Ctcss tones are injected via adjustable lo-pass filter to modulator. Filter is digitally adjustable to maintain reasonable tone level over whole ctcss frequency range. Low power PIC16F628 controller is used for tone generation and needed logic. When generator is not on processor is held in sleep-state and oscillator is not operating. This feature eliminates possible RX interference. TX signal wakes up the software. Selected tone is set and generator starts if Encode signal from FT4700 is true. LED LD1 is on when module operates. After power up LD1 gives started and alive message (flashes few times).



I made two versions of encoder circuit. First is with SMT (surface mount) components. Small PCB what fits into original FTS8 places inside FT4700. Second version is with DIP18 processor chip and no PCB. This version is intended to build on prototype board. See picture bellow.

Schematics for SMT version

Schematics for DIP version

Picture of modules. Top side. Bottom side.

PCB artwork

PCB component layout

Module installed



Small piece of software needed for this project is compiled with Hi-Tech PICC compiler. If you use different tools check and correct timing loop. For SMT board you also need programming adapter for on board programming. Special trick for on board programming: You should oscillator stopped by grounding OSC1 pin. You can find more information from PIC16F628 documentation.

Ready to load HEX file and c-source file.

Programming adapter for SMT board


Application notes

FT-736 application 7.5.2007

OH1GWK reported me valuable detail. FT-736 TX on voltage is only 5V instead of 9V used in FT4700. Easiest way to get the module working with FT-736 is leave R6 not populated.


73 de oh2nlt