May 10, 2022:
Revised: v1.0

Practical Wireless 50 tone CTCSS Tone Encoder

If you are restoring an older 2m and 70cm FM transceiver,a common problem is finding a suitable Continuous Tone Coded Subaudible Squelch (CTCSS) encoder. 
This design of mine, published in Practical Wireless in June 2022, can also be used to replace other legacy CTCSS encoders.
It allows any of the 50 standard tones to be selected using either the PCB DIL switch or from an external 6-line signal.  
Figure 1 : The DIP switch sets the CTCSS tone


Commercial two-way mobile radio users and many amateur radio operators use CTCSS. You can read about CTCSS tones and their application here.

I have also designed a number of CTCSS encoders (and a dencoder) which are described elsewhere on my website. There are designs for most applications, including several for use on the test bench. There's something suitable for almost every application, I thought. 

The Backstory

Yes, as soon as that thought crossed my mind, and as regularly happens here, someone emailed me to ask if I could modify one of my designs for him. I seldom do this - I have more than enough projects on my "To Do" list! Well, this chap wanted a CTCSS encoder for "up to 120 tones selected with 5 BCD lines" for his soon to be restored legacy FM transceiver.

There were a couple of problems with this request. Five tone selection lines only allow 32 tones to be selected, and BCD coding of those lines reduces the number still further to just 24 tones. 

But, just how many CTCSS tones need to be supported? Looking at the CTCSS standards (i.e. EIA/TIA-603-E or ETSI TS 103 236 etc), these specify 39 tones. However, over the years, the industry has added 11 further CTCSS tones to this set based on practical experience with high quality CTCSS tone decoders.

Most CTCSS encoders therefore typically support 50 tones. A few, including mine, will also support 'special' non-industry standard CTCSS tones. Curiously, radio manufacturers don't always support the same 50 tone set. This is likely due to limitations in their decoders. However, the EIA/TIA/ETSI set of 39 tones is usually supported in an encoder, and most good CTCSS encoders support a maximum of 50 tones.

Figure 2 :  This encoder was described in the
June 2022 issue of
Practical Wireless (UK)
When using CTCSS in amateur radio, and with the exception of the US, hams seem to have agreed on the use of a reduced set of CTCSS tones within each country. In New Zealand, for example, the amateur radio organisation NZART has defined two widely used CTCSS tones, along with a couple of extra tones for demanding situations where, say, distant repeaters may occasionally suffer from mutual interference.

A similar small subset of CTCSS tones is used in Australia, South Africa, Italy and the UK, although the tones used in each national subset are not always the same as other countries.
Technical, operational and emotional reasons lie behind the various tone sets selected. These differences seldom present any problem.

These small tone sets were the basis for my minimalist super-compact basic 4 tone CTCSS encoder design, although any four CTCSS tones may be used in that encoder.

For the test bench, or for the occasional user who required more tones for a mobile transceiver, I also designed a multi-tone version. These allow the user to select the desired tone with a cheap rotary encoder or a pushbutton, and several designs also support an OLED display. You can upgrade to these from the basic 4-channel design with very minor changes.

Parallel Input CTCSS Encoder

Returning to this chap's request for a special CTCSS encoder, clearly at least 6 parallel input lines are required for tone selection. Sadly, there are not enough pins on the original ATtiny85-based design to handle this without some "elaborate design gymnastics" (or 'dancing with tamborines' as some Eastern Europeans suggest) so any revised software would also require a different microcontroller. In turn, that would also require a new PCB.

In any case, I suspected that, after this chap did some careful analysis, it was more likely that one of my other designs could almost certainly have met his requirements. So, I declined his request and detailed the reasons for the decision.

But then, a few nights later, awake in bed and mulling this over, I realised there were several other applications that would suit such an interface. Like this:

or twenty years ago, some transceiver manufacturers used proprietary CTCSS encoder chips in their transceivers. These were driven by parallel interfaces from the radio's main processor. These special encoder chips are increasingly difficult to find these days. That seemed to me to be a much better reason for the design of this new CTCSS encoder. 

Usefully, the AVR chip family includes the ATtiny24/44/84 14-pin chips which appeared to be almost ideal. Three days and several revisionsof the PCB later, I had a working prototype on a PCB only slightly larger than the original ATtiny85 version.

Ironically, just a few days later when I went back to tell this chap that the new design and software was available, he told me he'd decided in the meantime to design his own encoder. He planned to use an Arduino, the Si5351a PLL oscillator chip, and a bunch of CMOS dividers to do the job, with a further multi-pole filter stage to filter out the wanted sinewave from the CMOS squarewave. Hmmm. Well, in any event, nothing more was heard from him or his planned design.

Well, having completed this new design, and tested it on another legacy transceiver, I offered the design to the editor of Practical Wireless magazine for publication. It eventually appeared in the June 2022 issue.

Note: Click here to read about another version of this CTCSS encoder which can replace obsolete or hard to find (and often expensive) CML, MX-Com, Panasonic and Seiko CTCSS encoders.

Design Description

A complete description of this design along with the schematic and layout can be found in the Practical Wireless article.  

The encoder may be powered from a supply rail between 3V and 5V. The encoder consumes about 3.5mA at 3.3V and 6mA at 5V.

The 50 CTCSS tones supported by this encoder are shown in Table 1:

Table 1 : Most CTCSS systems support this industry standard set of 50 CTCSS tones

The design also includes an input for an ‘active ground’ PTT (Push-To-Talk). You don't have to connect PTT to the board. It's optional. It works like this:

When the transceiver's PTT is released by the user at the end of each transmission, the CTCSS encoder phase-shifts the output tone by 180o. This is the industry-standard "Reverse Tone Burst" (RTB) function. Since this phase shift can be quickly detected by most repeater CTCSS tone panels, it allows a significant reduction in the length of any repeater ‘noise tail’, the brief burst of noise at the end of each transmission, compared with the usual 'loss of signal' squelch method. 

Building the Encoder

The encoder is built on a single-sided PCB with through-hole components and measures less than 40mm (1.5") square. Full details, along with the component layout, are in the Practical Wireless article.


The on-board 6-way connector (J4) is used to program the ATtiny24/44/84. The software for this version of this encoder is available from me via email. My email address is on my website's home page. Just confirm in your email that you are building it for your own use and that you will not distribute the software to any other party in any form. If your club wishes to build a run of kits, send email me an email to get written authorisation and the HEX software.

Once you have programmed the chip with this file, the ATtiny fuses must then be programmed. These configure how the chip functions with the provided software. The fuse settings are as follows:

Low: 0xFF
High: 0xDF
Extended: 0xFF
Lock: 0xFF

Installing and Using the CTCSS Encoder

Assuming the programming has been successful, you can now power up the board, select the required tone, and verify it is working correctly before installing it in your transceiver. A typical installation in a legacy "Dick Smith" VHF synthesized transceiver was also described in the Practical Wireless article.

If only one CTCSS tone is required, this tone required may be selected on the DIP switch prior to installation. Alternately, you can replace the DIP switch with a set of wire jumpers. If different tones are required, the switch connections may be driven from the radio's processor (if there is one!) or from an external switch.

The encoder tone selection may be changed while the supply is connected.

Final Comments

This encoder has certainly met all of the requirements identified at the outset of the project, and it’s proven to be a useful addition to my family of CTCSS encoders.


Software: Email me for the ZIP file which includes three HEX files for programming the ATtiny24 or ATtiny44 or ATtiny84 chip.

(A number of my designs have been copied and sold by others as their own product without credit or reference to me or my website which has forced me to adopt this tedious procedure)

PCB-Gerbers: This ZIP file contains the Gerber industry-standard file for the single-sided PCB.

PCB-Images: This ZIP file contains the PDF/GIF/JPG copper-side image file and layout diagram for the single-sided PCB.

Want to go back to the main page? Click here to return directly.