Recently I got myself a Kenwood TM-271 and wanted to give it a go on APRS with the TT4. This turned out to be more complex than expected.
Once the TM-271 and the TT4 were hooked up together I fired the system up. To my disappointment I was unable to set the RXAMP value to get the TT4 to decode any packets. This is when I decided to dig more into this and try to understand what is wrong.
Tinytrak 4 audio input analysis
The audio input circuitry has been kept to a bare minimum. It completely lacks any sort of level adjustment and basically consists of only DC bias removing and adding a proper bias for the ADC (Analogue to Digital Converter) to work properly.
PA0 is an analogue to digital converter (ADC) input i.e it’ll convert the voltage present at this pin into a digital value the CPU can work with. On the Tintrak 4 it is configured for voltage ranging from 0 to 1.1V, any voltage outside this range will only lead to bad decoding results (ADC overflow).
Let’s analyze the audio signal path in the TT4
- Audio signal is fed from the radio into J1/Pin 5
- C4 is here to get rid of any DC bias
- Pin AREF from the TT4 CPU outputs a reference voltage of 1.1V which is divided by the resistor divider made of R4 and R5.
- The 0.55V bias coming out of R4/R5 is added to the audio signal. As a matter of fact the audio signal is now centered at 0.55V. PA0 sees a signal centered in the middle of its range. At this point any input signal not exceeding 1.1V shall be decoded correctly.
TM271 issue explanation
This paragraph is just an explanation of the specific analysis I have made with my TM271 and the TT4, you might skip this.
The voltage analysis for the TM271 leads to following observation
- Signal comes in J2 pin 5, TM-271 delivers about 0 to +4V on the packet jack.
- It passes through C4 to get rid of any DC bias, in the case of the TM271 DC bias is 2V. C4 brings the signal in the range -2V to +2V.
- The R4/R5 output of 0.55V is added the audio signal. Out audio signal is now in range -1.45V to +2.55V completly outside of the range of the ADC.
Thus the audio signals from the TM-271 will easily saturate/overflow PA0. the values fed into the decoding algorithm will be mostly non sense leading to little to no decode.
The Tinytrak 4 expects audio signals not to exceed 1.1V peak to peak, anything above this voltage will bring bad decoding results. Ideally you should reduce it to not exceed this voltage when no packets are heard i.e. on noise.
Unfortunately it looks like quite a large amount of radios deliver too high audio signals on their data connector. While writing this article I tested a TM-V71 and a FT-1500M, and both had the same issue.
Making the audio signal suitable for the TT4
Using an oscilloscope
- Asses the audio signal’s voltage using an oscilloscope. Set your scope to AC coupling, we do not care about any DC bias as they get removed by C4 inside the TT4
- Look at the signal when receiving noise, and note its peak to peak range
- Calculate a voltage divider that you will insert in the audio path. Ideally you should target for about 800 to 900mV peak to peak. For my TM271 I made a by 4.3 divider and fitted it into the DB9 plug.
- Set your TT4 RXAMP setting so to have about 110 to 115 values on noise. Very clean signals will bring a reading of 30 to 50 on the MON command, noisy ones will be higher.
The poor man solution
If you do not have an oscilloscope and you are using the speaker output of the radio you can still achieve proper level adjustment. This is only a trick I found while experimenting with other radios and the TM-271, not sure it’ll work in all case but it is worth trying it.
- Using a terminal program set RXAMP to 30
- Issue the MONITOR command while receiving noise. Adjust your radio’s volume so as to have values of about 110 to 115.
- Done, never ever touch the volume on the radio again
Now I am able to decode any packet, even noisy ones, my receive range has dramatically improved especially while mobile. Signals coming in with S2 or S3 and proper emphasis can now be correctly decoded. Unfortunately the TT4 lacks an input audio signal level adjustment, maybe this will be part of a future evolution?