Many Yaesu transceivers from the 1990s and thereabouts could use an optional FTS-8 module, that provided subtone generation for transmission, and subtone decoding for CTCSS reception. One of the radios that used this module was the FT-736 multiband, multimode full-duplex VHF-UHF rig. I bought one of these radios in 1992, to use it on the many amateur satellites that were operating back then. I included optional band modules in the purchase, but not the FTS-8, because it seemed a bit odd to me to have subtone capability in a satellite radio! After all, satellites don't use subtones, right?
Well, the years passed, and eventually FM repeater satellites were placed in orbit that did use subtones! I needed an FTS-8. But since these sats were few, and my activity was mostly on the digital sats, which fortunately had no use for subtones, I made do without.
Until recently. The digital satellites are all dead, almost all new satellites are just completely useless little beeping cubes, and if one hopes to have any satellite activity at all, one needs subtones to access the very few FM voice sats that sometimes might operate. So, I was in the market for an FTS-8.
Yaesu stopped making this module long ago. Used modules do pop up on the market, but fetch collector's prices. I won't pay 120 dollars for a tiny board with two chips and a couple small components on it! There is also a company that makes a full replacement for the FTS-8, but at 80 dollars it's still too much, even if at least I would get a new, guaranteed good module. So, in the best ham spirit, I set out to roll my own, and make the design available to all of you.
Is anyone out there who actually uses CTCSS? I mean, who uses it to silence the receiver and only let the squelch open on signals that come with a specific subtone? I think that few people do this, if any at all. CTCSS is more typically used on repeaters, and the normal user stations just need to transmit a subtone, but don't need capability for receiving any. At least, that is my case, and so I decided to make a module that would only generate subtones, but not decode them. This makes the design much simpler.
I used a PIC microcontroller to read the commands coming from the radio's CPU, interpret them, and generate the proper subtones as a pulse width modulated digital signal. This is followed by a four pole active low pass filter with a Chebyshev response, calculated for a cutoff frequency of 280Hz, which is just above the highest subtone. The output is a clean sine wave, which is fed to a small potentiometer that allows setting the proper level. And that's all!
R2 and R3 are there only to keep the op amp circuit biased during RX, when the PIC is in high impedance. While the PIC is running, they don't do anything.
As you can see, the circuit around the PIC is pretty
simple! That's one of the many nice things about PICs. Use them once, love
them forever! The active filter has many more parts, but at least all are
commonly available and inexpensive. I still love active filters too, but that's
me! I don't know about you.
P1 and P2 are header type connectors. Since the females are in the radio, and this module needs the male connectors, I simply soldered pieces of copper wire to my board, in the exact positions to fit the connectors in the radio. It works well, and it would be hard to get anything cheaper than that.
As you can see, I didn't design a PCB for this module. I
used a prototyping board instead. It's so much quicker! Originally I intended to
make this module in surface mount technology, which would have allowed it to be
the same size as the original FTS-8. But that meant ordering several SMDs from
overseas, waiting one month, designing and making the PCB... you get the
idea. The FT-736 transceiver has more than enough room available for a
somewhat larger module, so I used old fashioned, "giant" legged components, on
the prototype board, and saved a bunch of time. This project took 15 hours, from
having the idea, to closing up the radio! Including software development and
debugging.
Here you can see the FT-736 with the front open, and the FTS-8 replacement module installed.
In the area under the module there are a few tall components. I placed a layer of insulating tape on them, and when installing the module, I left it about 2mm separated from these parts and the tape, for added safety. Even so, there is still enough room to close the lid!
And here is a closeup view of the module, installed in the radio. As you can see, nothing too fancy. The PIC is installed in a socket, so it can be taken out and reprogrammed, should a new feature become necessary in the future.
Well, I guess you want the program for the PIC too! Here is the PicBasic Pro source code, and the HEX file, ready to be burned into a poor unsuspecting PIC. It's your choice whether you burn that PIC with a low voltage or high voltage programmer.
As you can see, the program is pretty simple. When it starts, it checks whether the ENABLE signal from the radio CPU is present. This tells whether the module should generate a subtone, or should stay silent. If the ENABLE isn't there, the program just loops. If it is there, then it reads the six bits that tell which tone to use, and calls up a PicBasic Pro function that generates the required tone. That function works for up to a bit over five minutes. Should any ragchewer talk even longer than that, the function is simply called up again, as soon as it exits!
The TX signal, which tells the module whether the radio is transmitting, is wired directly to the MASTER CLEAR input of the PIC, which is simply a RESET. As a consequence, the PIC is shut down and placed in high impedance mode while the radio is not transmitting, and on every transmission the program starts anew. Simple and practical!
I used a dirty trick in this program: The tone generating function of
PicBasic Pro has a resolution of 1Hz only. To improve on that, I
lied to the compiler, telling it that my PIC is running at 20MHz, while in
fact it runs at 4MHz only! That makes the function generate frequencies of one
fifth the stated frequency, giving me a resolution of 0.2Hz. That's still not
perfect, but good enough. It's better than the accuracy produced by many radios
with their original, built-in subtone generators. I tried telling the
compiler that my PIC was a super-628 running at 40MHz, but the compiler didn't
believe me, and the tones were a little bit crazy. I guess that the 628 setup in
the compiler misses a bit required to set that (impossible) 40MHz speed. So I
couldn't get 0.1Hz resolution, but that isn't a problem really.
My FT-736 now accesses subtone-protected repeaters like a charm. But I still can't raise any of the FM repeater satellites whose owners say are active! Either they just aren't active anymore, despite what's being promised about them, or they are switched off when over the southern hemisphere, to conserve valuable energy. After all, anyway there isn't any ham wanting to use the satellites in southern latitudes, right? Oh well...
Back to homo ludens electronicus.