I was recently asked to help set up an AllStarLink Gateway using a Tait TM8110, a 25W PMR radio operating between 136MHz and 174MHz, making it ideal for 2M ham radio use.
AllStarLink is a network of Amateur Radio repeaters accessible to each other via Voice over Internet Protocol. AllStarLink runs on a dedicated computer you host at your home, radio site or computer centre, and it is based on the open-source Asterisk PBX system. You can read more about AllStarLink at www.allstarlink.org.
This project was very time-consuming and frustrating due to the lack of available documentation for the radio, with hardware and software issues causing many delays and setbacks.
Power and sound card hardware
The sound interface from the Raspberry Pi to the radio is a modified CM108-based USB sound card. Instructions for the modifications are on allstarsetup.com/how-to-modify-a-cm108-for-allstar. These are also available from eBay with the changes already completed to connect to your radio.
To power the radio and Raspberry Pi, I used a Multicomp Pro MP002000 AC/DC Enclosed Power Supply with 1 Output, 102 W, 12 V, 8.5 A
The Raspberry Pi required a 5-volt supply, and I used a DC to DC Converter 3.0-40V to 1.5-35V Buck Converter Adjustable Power Supply Module from Amazon www.amazon.co.uk/gp/product/B0823P6PW6 which has a maximum output current of 3 amps.
All the hardware was fitted to a plastic base with metal brackets to allow the radio to be mounted above, making a compact and easy-to-use setup.
Mains power consumption for the Raspberry Pi and radio with the radio transmitting on low power is 16W, receive mode is 4W.
Connecting the USB sound card
The modified CM108 sound card was connected to the radio via the rear panel DB15 connector; the wiring diagram below shows the connections required.
|DB 15 Pin||Wire Colour||Function||Signal Name|
|2||White||COS to hex inverter||AUX_GPIO5|
The following pin assignments are from the service manual for the Tait TM8110 radio.
|Pinout||Pin||Signal name||Description||Signal Type|
|12||AUX_GPI1||General purpose digital input. Programmable function.||Digital, 3V3 CMOS|
|5||AUX_GPI2||General purpose digital input. Programmable function. With LK3 fitted, GPI2 is an emergency power sense input.||Digital, 3V3 CMOS|
|4||AUX_GPI3||General purpose digital input. Programmable function. With LK2 fitted, GPI3 is a power sense input||Digital, 3V3 CMOS|
|10||AUX_GPIO4||Programmable function and direction. Pads available to fit a higher power driver transistor on GPIO4 line||Digital, 3V3 CMOS input; open collector output with pullup|
|2||AUX_GPIO5||Programmable function and direction. Pads available to fit a higher power driver transistor on GPIO4 line||Digital, 3V3 CMOS input; open collector output with pullup|
|9||AUX_GPIO6||Programmable function and direction. Pads available to fit a higher power driver transistor on GPIO4 line||Digital, 3V3 CMOS input; open collector output with pullup|
|1||AUX_GPIO7||Digital, 3V3 CMOS input; open collector output with pullup|
|11||AUX_TXD||Asynchronous serial port - Transmit data||Digital, 3V3 CMOS|
|3||AUX_RXD||Asynchronous serial port - Receive data||Digital, 3V3 CMOS|
|7||AUD_TAP_IN||Programmable tap point into the Rx or Tx audio chain. DC-coupled.||Analog|
|13||AUD_TAP_OUT||Programmable tap point out of the Rx or Tx audio chain. DC-coupled.||Analog|
|14||AUX_MIC_AUD||Auxiliary microphone input. Electret microphone biasing provided. Dynamic microphones are not supported.||Analog|
|6||RSSI||Analog RSSI output.||Analog|
|8||+13V8_SW||Switched 13.8V supply. Supply is switched off when radio body is switched off.||Power|
IO Issues and solution
The COS input on the sound interface needed to be connected to a signal which is pulled to ground when a signal is received by the radio and contains the required CTCSS tone of 77.0 Hz.
I initially tried connecting this directly to the radio AUX_GPIO5 pin (Pin 2 on the connector) and configured the radio software as an Output and to set this LOW when in “Busy status” on the Action column.
This did not work as expected, and after further investigation, I found that the radio and sound interface required a buffer chip to switch the signal levels.
I found a DIP package SN74HC14 Hex Inverters with Schmitt-Trigger Inputs from Texas Instruments in our parts drawers and using a Breakout Pi Plus board abelectronics.co.uk/breakout-pi-plus a simple circuit was assembled to use two of the hex inverters connected in series as a non-inverting buffer to process the signal to the COS input on the USB sound card.
The image below shows the hex inverter circuit on the breakout development board with a power shutdown switch connected to GPIO 17. Shutdown via the button can be enabled in the Hamvoip software.
With the inverter added, the Hamvoip software was then able to show the busy status of the radio, but this was triggering with any received signal and not only valid transmissions with the CTCSS tone of 77.0 Hz.
Changing the action to “Signalling Audio Mute Status” resolved this issue.
Radio Programming and Setup
The radio is programmed via the front panel RJ45 connector or the rear panel DB15 connector. In a previous blog post, you can see how we made a USB Programming Cable for Tait TM8110 PMR Radios.
The radio programming software can be purchased from radiotronics.co.uk
The screenshots below show the software settings on the various settings pages and tabs, which were programmed into the radio via the USB programming cable.
Channel Setup > Channels
This tab contains the TX and RX frequencies and required CTCSS tones in the Rx Sig and Tx Sig fields. The Squelch settings have the following options: Country, City and Hard. As the radio was used in a countryside location, this was set to Country. For testing, a second channel was added without the CTCSS tones, which was removed for the final programming.
PTT > Mic PTT tab
This contains the PTT actions for the microphone input on the front panel. The PTT Priority should be set to Lowest for the rear External PTT to take priority.
PTT > External PTT (1) tab
This contains the PTT actions for the external PTT pin via the rear DB15 connector. The following settings need to be changed under Advanced EPTT1:
- PTT Transmission Type: Voice
- PTT Priority: Highest
- Audio Source: Audio Tap In
Programmable I/O > Digital tab
This contains the settings for the I/O pins on the rear DB15 connector. The following settings should be entered:
|Pin||Direction||Label||Action||Active||Debounce||Signal State||Mirrored To|
|AUX_GPI1||Input||V_PTT||External PTT 1||Low||10||None||None|
|AUX_GPIO5||Output||D-PTT||Signalling Audio Mute Status||Low||None||None||None|
All other pins should be set as:
- Direction: None
- Action: No Action
- Active: None
- Debounce: None
- Signal State: None
- Mirrored To: None
Programmable I/O > Audio tab
This contains audio input and output settings via the I/O pins on the rear DB15 connector. The following settings should be entered:
|Rx/PTT Type||Tap In||Tap In Type||Tap In Unmute||Tap Out||Tap Out Type||Tap Out Unmute||Tap In Inverted||Tap Out Inverted|
|Rx||None||A – Bypass Ir||On PTT||R7||D-Split||Busy Detect||Disabled||Disabled|
|Mic PTT||None||A – Bypass Ir||On PTT||None||C-Bypass O||On PTT||Disabled||Disabled|
|EPTT1||T3||A – Bypass Ir||On PTT||None||C-Bypass O||On PTT||Disabled||Disabled|
|EPTT2||None||A – Bypass Ir||On PTT||None||C-Bypass O||On PTT||Disabled||Disabled|
Raspberry Pi Software
The software used for the interface is HAMVOIP Asterisk Allstar for the Raspberry Pi 2/3/4 from https://hamvoip.org/
Setup instructions for the software are available to download from https://hamvoip.org/howto/config-setup.pdf
A micro-SD card with the Hamvoip software was supplied and configured by another local radio ham for the repeater. This should have functioned without any other changes apart from sound level adjustments. Still, after many hours of testing, I could not get the software to communicate with the radio and internet, and the WiFi on the Raspberry Pi refused to connect.
A second micro-SD card was tried with a different Hamvoip install, and this functioned correctly, and the software could be configured to work with the Tait radio.
Access to the settings is via an SSH connection on port 22 or your custom port. The radio announces its IP address on your local network when it starts.
Logging in via SSH shows the following menu:
This menu allows you to select different options. To configure the sound settings, select 12 Run simpleusb-tune-menu Application, and this will load the following menu options:
Selecting option “V” shows real-time data from the COS, CTCSS and PTT statuses. This is useful when debugging the communication between the radio and the COS input on the USB sound interface.
Selecting option 2 allows you to adjust the Rx sound level.
Selecting options 3 and 4 allows you to adjust the Tx sound level.
The “D” option sends a series of audio tones to the radio, which helps set the Tx levels.
Once the changes are complete, you must use the “W” option to save the current parameter values.
Restart the Raspberry Pi once complete, and the new AllStarLink Gateway should be active.
The completed system was installed and connected to an external antenna in Swanage, South Dorset, in the United Kingdom.
Accessing the MB7IPR Simplex Gateway
The Allstarlink gateway is an analogue gateway using the following frequency and settings:
Input / Output frequency: 144.9125 MHz
CTCSS tone: 77.0 Hz
Allstar Node no: 57622
ETCC Region: South-West
IARU Square: IO90
The following DTMF Macro commands are available to control the Gateway
|*70||Gateway status||States any current connections|
|*73||Disconnect||Please disconnect when you have finished|
|*51||Connect to (2462)||WW7PSR Seattle Repeater Group|
|*52||Connect to (29332)||Alaska Allstar Hub|
|*53||Connect to (2560)||WIN System Hub Los Angeles|
|*54||Connect to (2195)||Freestar|
|*55||Connect to (41288)||Hubnet|
|*56||Connect to (45225)||East Coast Reflector|
|*57||Connect to (27225)||Philadelphia Hub|
|*58||Connect to (525960)||W1SBW Ragchew Net|
|*59||Connect to (40894)||Hubnet Parrot to check your audio levels|