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 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.

Raspberry Pi and Power Supplies
Raspberry Pi and Power Supplies
Rear of the Radio
The rear of the Radio
Radio
Radio and Raspberry Pi

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
7 Black Tx Audio AUD_TAP_IN
12 Red PTT AUX_GPI1
13 Yellow Rx Audio AUD_TAP_OUT
15 Green GND AGND

The following pin assignments are from the service manual for the Tait TM8110 radio.

Pinout Pin Signal name Description Signal Type
DB15 connector 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 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
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
15 AGND Analog ground Ground

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 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.

hex inverter circuit
Hex inverter circuit

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.

Channels Settings
Channels Settings

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 > Mic PTT tab
PTT > Mic PTT tab

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
PTT > External PTT (1) tab
PTT > External PTT (1) tab

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
IO Settings
IO Settings

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
IO Audio Tab
IO Audio Tab

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:

Hamvoip Menu
Hamvoip 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:

simpleusb-tune-menu
simpleusb-tune-menu

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.

Realtime Status of the interface
Realtime Status of the 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:

Band: 2M

Input / Output frequency: 144.9125 MHz

CTCSS tone: 77.0 Hz

Narrow Deviation

Allstar Node no: 57622

ETCC Region: South-West

IARU Square: IO90

The following DTMF Macro commands are available to control the Gateway

Code Command Notes
*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