Homemade TNC

by JordenL1 in Circuits > Electronics

2957 Views, 9 Favorites, 0 Comments

Homemade TNC

20220122_170837[1].jpg
Complete Explanation of Homemade TNC

This past Christmas Vacation, I set up my base station, VHF Amature Radio, to receive Scan TV images from the International Space Sation. The setup wasn't anything too special. It comprised my Icom IC-V8000, a half-wave flower pot homebrew antenna, and my PC. The external speaker output of my radio was connected to a microphone input of my PC. I used MMSSTV on my desktop to decode the picture. I was surprised by how well this worked. See Video (Receiving a Message from Space). Since this worked better than I thought it would, I also decided to try using this setup to send APRS packets to the Space Station. I found that UISS could be utilized to encode and decode the APRS packets. I also need a way to feed the audio output from the PC to my radio and toggle the PTT (Push-to-talk). Typically, this can be handled by a TNC, which is expensive. I would also have to find a way to hook a TNC to my radio. This project shows how I built my TNC and connected to my radio. This "TNC" only handles the PTT button and does not change the radio frequency.

Disclaimer: Remember to transmit on the frequencies used by the ISS; you must have a valid Amature Radio license. No license is required to listen.

Supplies

20220108_105455.jpg
20220108_105653.jpg
20220115_204223.jpg

Electronic Components

Tools

  • Multimeter
  • Soldering Iron
  • Wire Cutters
  • Heat gun

Software

Investigating Radio UISS

Microphonepinout.png
20220123_161514[1].jpg
20220121_213612.jpg

I first needed need to understand more about how UISS worked. I was happy that it came with its own PDF user manual. There, I learned UISS didn't do the ASCII to AX.25 translation, which is handled by another program called Soundmodem. AX.25 is the audio format that is used in APRS. I was able to find another manual on Soundmodem. In the manual, I read the paragraph below:

"PTT Port – sets the port to be used for PTT switching. Set to COM for serial port, LPT for parallel port, None for VOX (e.g.Signalink), CAT for CAT control, or EXT for external options using the PTT-dll (see Advanced PTT Settings below).

If using serial ports, RTS is used for Channel 1, DTR is used for Channel 2."

This meant I could use a simple USB to serial break out to control the PTT via a BJT. I just needed to know what signals on my microphone port did what.

It just so happened that this information was published in the manual on page 2. One of the images attached shows the pin of my microphone. The only signals I was concerned with were the PTT, Microphone+, Microphone Ground, and Ground. These were the only signals I needed to create my TNC.

After looking at the pin, I then measure the signals on the microphone port. To do this, I took an RJ45 connector and put wires on the pins I was concerned about ( 4,5,6,7). I taped the wires coming off the connector down so they wouldn't move as much as I measured 4 with respect to 7 and 5 with respect to 6. I was unsure if Mic Ground and Ground were tied together. I treated them as separate signals. When measuring the PTT signal (pin 4), I found it had 4.8 volts on it. This led me to believe the PTT pin to the internal controller of the radio is connected to 5VDC via a pull-up resistor, indicating the PTT was active low. At this point, I was confident I could use the RTS from a USB to Serial pin to turn on a BJT that grounded the PTT button. When I measured the Mic+, I found it had an 8 VDC offset. I wasn't surprised to see a voltage offset. This helped me know what kind of coupling capacitor I would need. I didn't want any current to flow into my desktop and hurt it. The last thing I measured was the output of the RTS pin when I knew Soundmodem was toggling it. I found that it was high when Soundmodem wasn't broadcasting and low when it was.

Schematic and Breadboard

T TNC_bb.png
T TNC_schem.png
20220115_204709.jpg
TNC_schem.jpg

With what I learned in the last step, I used Fritzing to visualize the layout and plan how to put it on a breadboard. Using the schematic view helped me ensure I had things connected the way I needed. I used a 10k resistor between the RTS and the base of the 2N3906 BJT. The 10k is to limit the current going into the base. The collector of the BJT was tied to the ground (Pin 7), and the emitter was tied to the PTT (pin 4) of the RJ45 connector. I decided a 10uf capacitor would be good enough for decoupling the output of my PC and the Mic of my radio. As I explained earlier, this is used to prevent DC current from the radio from going into my PC. I put the coupling capacitor between the left pin on a headphone jack and the MIC+ (pin 6). Again, I treated the MIC ground separate from the ground of the PTT. I connected the ground from the headphone jack to the MIC ground (pin 5). With that, I was ready to move to the breadboard and test it.

After moving everything to the breadboard, it was time to test what I had come up with. This can be seen in the breadboard picture. When I plugged the USB to serial converter in my radio's PTT, it started toggling on and off quickly. I quickly unplugged the USB cable and examined the circuit. Everything looked correct, so I plugged it in again. The same thing happened. I realized this was due to the USB enumeration. During the enumeration of the USB to serial converters, pins can change states as the device becomes usable to the system. The toggling of the RTS pin gave me the idea to put a switch line with the PTT (pin 4) and the emitter of the BJT. This would allow me to enable and disable the ability to transmit. After digging through my stuff I found a 6 pin SPDT switch, as well as a Red-green, LED, This gave me the idea of setting the switch up such that when the PTT was disabled the LED would be Red, and when it enabled the LED would be green. This would give me a better visual to know the state of the hardware. The addition of the switch and LED is shown in the last schematic.

Soldering the Protoboard

20220115_204427.jpg
20220115_204237.jpg
20220121_214541.jpg
20220123_190752[1].jpg
20220121_214604.jpg

As I started to put everything on the protoboard, I decided I wanted to make this setup more modular. I did this by using some male headers along with some female connector ends. For the RJ45 connector, I used a 4-pin 2.5 mm keyed connector I had on hand with its header. I then soldered the female connectors with wires to the LED, the 3.5mm headphone jack, and the switch. Over each soldering point, I put heat shrink to insulate the connections and help give them some strength. I first put some headers in that fit the USB-to-serial breakout board. This made it so I could remove it if I wanted. It also took up the most space on the protoboard, allowing me to fit everything better. It didn't take long till I had everything on the protoboard. Before putting everything into the project box, I connected everything to the PC and radio for a test. I was happy to find that it had worked like the breadboard. So now it was ready to be placed in the project box.

Project Box Layout

20220108_110005.jpg
20220108_105627.jpg
20220108_110010.jpg
20220121_221802.jpg

I found one of the best ways to help do the layout on project boxes is to put masking tape on each side. This gives a surface you can write on. It is also easy to take off and start all over. I forgot to take pictures of each side after I had marked it, but this part is very straightforward. I centered the RJ45 connector on one of the narrow sides of the box. I then traced it with a pen. On the other side, I drew a line with a straight edge from each catty-corner of the box. This gave me an x that indicated the center of that side of the box. I then did this on one of the long sides of the box. On the lid of the box, I took the straight edge and drew a line from each catty corner, leaving an x. From the center of the center long way, I measured 3/4 inch on each side of the center. One of these marks was used for the LED, and the other for the Switch. I found a 9/64 bit was good enough for the switch and the headphone jack. I found out later that this was a bit big for the LED, but I resolved the issue with some tape. It is shown in the following box. I used my Dremel to cut the square hole. Though I didn't get it quite square, it still worked great.

Fitting Electronics Into Project Box

20220121_221753.jpg
20220121_224025.jpg
20220121_221758.jpg
20220121_222452.jpg
20220121_223952.jpg
20220121_224040.jpg
20220121_224006.jpg
20220121_224013.jpg
20220122_170911[1].jpg

After cutting and drilling the project box, I started to fit each part in its place. The LED hole was a bit too big, so I figured I could bend the leads over and tape over the LED. I discovered I had to adjust the hole for the USB cable as it wasn't big enough. Once everything was in place, I tested the setup again before putting the lid on it to ensure it was working correctly. After everything was tested and fitted, I set the lid on the box. There it was completed, a TNC for my radio. Since finishing this, I have used it to make contacts via the ISS ARPS repeater. I have also used it to send text messages via the SMS gate. Overall, this project has been fun and helpful for my ham radio.