The AllScan UCI120 USB Communications Interface is a professional-grade yet low cost USB Audio/PTT communications interface that sets a new standard for AllStar, EchoLink and other PTT communications applications. The UCI120 replaces the ANR100-A Radio-less Node Audio Module, putting all parts on one PCB, adding more status LEDs, making the mic gain controls and Line Out jack standard features, and adding additional interior controls to fine-tune audio and mic AGC parameters. The UCI120 is designed and optimized for use with communications microphones, speakers and other audio equipment, and is not intended to interface to radio transmitters or receivers.
AllScan UCI120 Front and Back Views
To enlarge any image on this page Right-Click → Open Image in New Tab
Enclosure size: 3.46"W x 3.94"D x 1.5"H (88x100x38mm)
Features
- Comprehensive LED status indicators for USB host status, Mic PTT (ASL COS), Mic Signal & Clip, and RX (ASL PTT). The mic signal and clip LEDs make it quick and easy to set mic input levels while minimizing any risk of ADC clipping
- Mic Gain Adjust and Mic Boost controls provide a 50dB gain adjustment range, supporting a wide range of communications microphones and dynamic mics. An internal 10Ω–1,500μF filter on the analog power supply ensures the lowest possible noise, particularly with older preamplified mics that do not have good supply voltage filtering or mics that combine audio and power on one line
- TRRS Line Out jack supports stereo TRS line out and an external mic in on the R2 pin with switchable bias voltage to power electret mics and headsets
- Insert I/O Jack supports the use of external audio processors. channel strips, mixers, and other audio systems. 3.5mm Tip=Send (from AGC out) Ring=Return (to ADC in)
- Internal trimmer potentiometers and DIP switches enable adjustment of nearly all mic preamp and AGC parameters. Over a dozen interior header and test point pads support easy access to all audio, power, GPIO and LED lines
- Extruded aluminum enclosure with ferrite and bypass cap filtering on all I/Os maximizes durability and EMI/RFI resistance. Optimized PCB layout with separate analog and digital power supplies and ground planes ensures extremely low noise and clear audio
- 6dB/octave bandpass filters ahead of the AGC mic preamp, ADC, and speaker amp reduce ADC clipping and AGC gain-pumping, and minimize thumps, clicks and other background noise. These filters have a smooth response curve supporting extended frequency response for other audio applications.
- Supports full-duplex audio with no dependence on PTT or COS. Works as a standard USB audio interface on Win, Mac & Linux in addition to fully supporting AllStarLink, HamVOIP and EchoLink
Pricing and Availability
UCI120 - $99
Includes a fully assembled & tested unit and short USB-A to USB-C cable, ready to plug into any RPi or MiniPC running ASL, HamVOIP, DVSwitch, or other PTT communications apps. No mic or speaker is included.
UCI120-PCB - $79
The UCI120 is also available without the aluminum enclosure or USB cable, with volume control and mic jack included but not soldered on. Perfect for use in an enclosure of your own such as a comms speaker or phone patch.
I can ship worldwide but for customers in UK/Europe I recommend ordering from G1LRO.uk. US shipping by USPS is $8. Orders outside US will be charged actual shipping cost. To place an order email david at allscan.info.
Block Diagram
Overview
The UCI120's primary application is for use in Radio-less AllStar nodes but it can be also used with any other PC / smartphone / embedded / VOIP application that would benefit from a high-quality interface to amateur and commercial radio communications microphones and speakers.
AllScan ANR100 Radio-less AllStar Nodes are built using a MiniPC and a Radio-less audio+PTT interface module. Initially the audio module was named the ANR100-A but it later became clear that such a module could be used for any PTT communications, remote rig control, ROIP or VOIP/paging app. Within AllStar and EchoLink, Audio+PTT interfaces are most commonly referred to as URIs (USB Radio Interfaces), but because an ANR100 does not connect to a radio, USB Communications Interface (UCI) is a more appropriate term. The AllScan ANR100 model name now refers to an integrated MiniPC and UCI120 configured and tested with ASL3.
The UCI120 works with any Mini PC or RPi, is inexpensive, compact and portable, and delivers excellent audio quality and dynamics. Note however that a high-quality microphone is an essential part of any communications application. The Products page has a detailed list of mic recommendations, and this is discussed in more detail below.
For those who want to assemble their own node any MiniPC or RPi can be used, loaded with ASL3 and set up in as little as an hour. I do not recommend using anything with less than 2GB of RAM or 16GB of eMMC/SSD as it would likely not hold up well to years of use. Dell Wyse 3040's use only 2-3 Watts of power on average, are fanless yet run very cool and can be left running 24 hours a day for years with no noticeable effect on your electric bill.
The UCI120 can be used with a variety of PTT communications apps. Because the UCI120 does not connect to a radio, no PTT output is needed from the app. The UCI speaker output is always active and supports full-duplex communication. For Windows PTT apps however you would need to verify that the app can detect the PTT input (aka COS / CM1xx IC VolDn or VolUp HID input) from the UCI. Windows apps such as EchoLink support the UCI120 using the SysOp URI interface option, and many other apps such as Discord can detect the PTT HID input code. Even if an app does not yet properly support the PTT input the audio in and out still works fine, and PTT can be provided to the app through a serial port control line, keyboard key, or HID mapping app.
- AllStarLink.org has excellent documentation and support making it easy to build your own node on Intel/AMD or RPi platforms. ASL is 100% open-source and supported by a large ham community including many experts who have used it for years with complex interlinked repeater systems.
- Dell Wyse 3040 and other Thin Client / Mini / Micro / Tiny PCs are widely available for $25 or less on ebay, and have the same low power consumption as an RPi3/4 but with more features, including a power button so they can be turned on or cleanly shut down simply by pressing a button, a Real-Time-Clock IC that enables powering on and off on a schedule, built-in eMMC SSD memory, a shielded case with excellent EMC performance, better thermal management, and fanless silent operation. These are full-featured FCC-Certified PCs rather than just bare-bones Single-Board Computer modules. Dell Wyse 3040's are 4"x4"x1.1" in size, barely larger than an RPi.
- There's no longer any good reason to settle for nodes with noisy audio (< 50dB SNR), substandard RF performance, or closed-source software. ASL3 brings AllStar up to the latest Debian Linux and Asterisk versions while making a number of other major improvements and fully supporting both x64 and RPi platforms.
- Radio-less nodes automatically support Full-duplex, enabling more interactive and more efficient communications, preventing doubles, and improving situational awareness. Full-duplex smartphone VOIP/IAX apps and SIP phones can also be used with the node.
- The DVSwitch ASL distribution supports bridging to digital modes such as P25, D-STAR, YSF, DMR, etc. and is also fully open-source.
- AllStar nodes also support EchoLink with some simple configuration settings. If there are repeaters you know that support EchoLink but not AllStar I recommend asking the owners to also support AllStar. AllStar provides higher audio quality and many features that are not available in EchoLink.
The UCI120 has been tested and confirmed working perfectly with the EchoLink Windows app (in SysOp mode with RX Ctrl Carrier Detect set to "URI" and "Invert Sense" Checkbox checked). Note: A new version of EchoLink was made available in Oct. 2024 that supports the CM108B IC, thus you may need to update your EchoLink app.
All AllScan products are warranted against defects in materials and workmanship for 1 year from the date of original sale. Note however that the jacks on the back panel are not designed to withstand significant force or being frequently plugged and unplugged ie. on a daily basis. If cables are inserted carefully you should not have any issue, but the warranty does not cover damage to the 3.5mm or USB jacks.
Radio-less AllStar Node Benefits
Radioless nodes are ideal for use cases where WiFi or wired ethernet are available but the additional range provided by an HT or mobile radio is not needed, such as for a desk or table at your home QTH / office / shack, for vehicles or RVs where you have a WiFi hotspot, and for 2nd offices, hotels, etc. Radio-less nodes are the simplest, easiest and most cost-effective way to get on AllStar with your own node, and are more portable than even the smallest radio-based node and radio needed to access it.
For a node that's sitting a few feet away on a desk it makes more sense to use a radioless node than to have multiple radios on transmitting 100's of milliWatts of RF. Radio-less nodes are more energy efficient, using generally less than a few Watts, vs. a node with radios plus other radio(s) to access it is easily 3 times the energy consumption.
Radio-less nodes also support Full-Duplex by default. This is a powerful feature, as described in the Full-Duplex Communication Benefits section below, and makes a properly designed radio-less node much nicer to use than any half-duplex node.
Demo Video with 6 Different Mics
History of AllStarLink
AllStarLink (ASL) has been used for controlling repeater systems for 15+ years, supporting a high-precision multiplexing receiver system that precisely time-aligns audio feeds from any number of receivers, It's based on Asterisk, a powerful open-source PBX system that supports numerous features including full-duplex communications, conference calling, autopatch, integration with VOIP systems and equipment, voicemail, voice detection, support for a wide range of codecs, and extensive control and monitoring capabilities via web and IP interfaces, DTMF commands, scripting and macros.
An AllStar node is part of a comprehensive system of GigaBytes of software and millions of lines of code that make up Linux, Asterisk, ASL, Apache, PHP, SQLite, and 1,000's of other utilities and programs that come with Linux. Linux, Asterisk and ASL are 100% open-source and free, meaning that not only is it free but that anyone can look at the source code, see how it works, modify it or improve it.
AllStar Node Components
There are several main pieces to an AllStar node:
- A computing device (ASL "server"). This can be a Raspberry Pi, any Intel/AMD PC or Mini/Thin-Client PC, or a "cloud" Linux server such as a linode.com VM. In the case of a cloud server an RTCM interface can be used which connects to a router and then to your radio (but which cost almost $300). RPi's and many Mini PCs use only a few Watts of power.
- A radio/audio/GPIO interface. This usually consists of a small PC Board with a C-Media CM108 or CM119 IC that interfaces to a USB port and provides an audio input, audio output(s), and GPIO lines for PTT, COS, and status LED(s). This is usually referred to as a URI (USB Radio Interface), or in the case of a radio-less node a UCI (USB Communications Interface).
- A radio-based node would then need an integrated radio as well as some other radio to then talk to the node with, but for a radio-less node only a speaker and mic are needed, or an IAX phone/PC app can be used in which case the node needs no audio interface, mic or speaker and could consist solely of a Mini PC or cloud VM running ASL.
Smartphone/PC IAX apps such as DVSwitch Mobile (DVSM), iaxRpt and DroidStar can easily connect to a node. The DVSM 2.x Android app supports IAX client, Web-Transceiver, and Node modes. DVSM in Node Mode is a true AllStar node with its own ASL node number but with some major limitations. VOIP phones (such as any model supported by Hamshack Hotline) can be convenient and usually have a speakerphone feature, and SIP phone apps such as Linphone can also be used. Because VOIP phones don't have a PTT button however it is necessary to dial *99 to key up and then # to unkey, which is not nearly as convenient as a real radio or PTT mic. See this excellent article on how to set up VOIP phones/apps on AllStar nodes. This also covers using ASL's autopatch feature, enabling calls to VOIP phones to be made from a radio. This does require port 5060 to be open in the node's iptables (firewall) configuration and forwarded to the node in your router settings.
Laptop and Netbook nodes are perfect both for traveling and for home use. For less than the price of an RPi you get an LCD screen, keyboard, trackpad, more memory, built-in WiFi, and the latest Linux with 1,000's of free programs. Laptop Node Demo Video / Netbook Node Demo Video. I prefer laptops over netbooks as they have a larger screen, nicer keyboard, more I/O connections and more memory. Installing Debian on any PC or laptop is a great move – Linux and open-source software only get better over time due to being based on open standards and long-term stability.
AllScan ANR100 Radio-Less AllStar Node with UCI120 and Dell Wyse 3040 MiniPC
UCI120 with Beelink T5 Mini PC
Schematic Diagram
To enlarge any image on this page Right-Click → Open Image in New Tab
For schematics of earlier versions see the AllScan-Products GitHub repository. Note that the version number is shown on the PC Board. (The back panel version number refers to the top-level product assembly.)
UCI120 PC Board
Sweepable Band-Pass Filter controls were added in v1.2 enabling fine-tuning of Speaker Audio frequency response below 300Hz and above 2KHz. The variable BPF slope is 6dB/octave providing subtle rolloff of low and high frequencies and simple adjustment of overall speaker tone.
Audio Processing
An audio interface used with communications microphones should have equal or better audio performance and features as even the best radio equipment. FM radios provide well-controlled audio filtering and limiting to ensure that transmitted RF is not overdeviated, which results in improved consistency of audio levels, maximizes average Signal-To-Noise Ratio (SNR) and better utilizes the available dynamic range of typical RF communications channels.
In nearly all pro audio, recording and broadcast applications some processing is done on voice signals which can include filtering out low and high frequency noise, clicks and pops, compressing the signal to give higher and more consistent average power levels, and limiting to prevent overly loud peaks and distortion.
Mic Audio Processing
Consistent audio levels and dynamics are important on any communication network, otherwise users have to make frequent volume adjustments to properly hear everyone. This is an issue on AllStar and I recommend that any time you hear someone who is significantly quieter or louder than average – let them know. Audio levels are easy to adjust on AllStar and there is no good reason anyone should have improper levels that require everyone else to ride their volume controls or put up with distorted audio.
With a few optimizations a radio-less node can sound as good or better than any radio, providing a full, clear sound typical of high-quality FM repeaters. My How-To guides thoroughly cover the design and construction details of high-quality full-duplex nodes using HTs, a mobile radio, or just a mic and speaker (radio-less).
Mic audio should have a slight amount of compression (eg. a 2:1 ratio) or similar AGC (Auto Gain Control) functionality along with hard-limiting to ensure no ADC clipping and a similar sound to high quality radio-based nodes. An AGC is essentially a compressor/limiter but with a longer release time and may include a gain hold time to provide more stable gain and thus more transparent audio. In this application the objective is to move the input range of a typical mic output (which can have 60+dB of dynamic range but with low average power and loud plosives, clicks and pops) to a higher average power level with hard-limiting of any overly loud peaks, ensuring the signal will come through clearly – even in loud environments that may have only 20dB of dynamic range.
The microphone is the first step in the signal chain of any node and if the audio levels, frequency response and linearity of the mic are bad, there is only so much that can be done to fix it. The audio may still sound thin, muffled or tinny, and lack detail and presence. In having tested many studio mics, desk mics, and hand mics I have heard only a few hand mics (Icom HM-154T, Motorola HMN10xx and TDN83xx series) that can sound as good as a high quality desk mic (such as a Kenwood MC-60A), higher-end dynamic mic (such as a Sennheiser e935), or condenser mic (such as a Rode NT3), but proper dynamics processing can make even average hand mics sound almost as good. As with any radio or audio system, the node will only sound as good as the microphone, thus an important consideration is finding a mic with excellent audio quality at a reasonable price.
AllStar nodes should support the use of a DTMF mic or keypad for control functions, which implies that a radioless node should either use a DTMF mic or integrate a DTMF keypad. DTMF commands can also be executed in AllScan, Allmon or other apps, thus a DTMF mic is not essential. Getting a mic that already has a DTMF keypad is simpler but limits the options to those that output actual DTMF audio rather than serial port data. I recommend a genuine Alinco EMS-57 as it's one of the few widely available models that meets these requirements and works with a 5V supply. This is a basic hand mic however and greatly benefits from the UCI's AGC processing and filtering. Whatever you do be sure to avoid the $20 knockoff EMS-57 mics on amazon/ebay/etc. I have tested them and they sound terrible, with extremely thin, weak audio, and very high handling noise. Those who know the value of good quality audio probably already have a good mic or two that could be shared with a radio-less node using a mic/radio switch such as an MFJ-1263.
To ensure a radio-less node's audio levels and quality will be on par with even the best radio-based nodes an Analog Devices MAX9814 Mic Preamp & AGC module is used in the UCI120 to provide low-noise mic preamplification, limiting, and a small amount of compression/AGC with attack and release times optimized for voice signals. The MAX9814 works very well with no audible noise, providing a nice smoothing out of levels and good limiting without overcompression. The fast attack times (adjustable 0.5–2.4mS) provide hard-limiting while the longer release times (adjustable 265–4800mS) plus 30ms hold time provide smooth detailed audio that makes optimal use of the dynamic range of the CM1xx ADC.
Without an audio processing module there would be nothing to provide limiting of the mic signal, and because hand mics have low output levels with a lot of handling noise, clicks and plosives, the result would be poor sound quality with low average power levels. This is often an issue to some extent even with radio-based nodes when radios are used that do not have mic gain or other adjustment options. Some of these functions could be provided in the node software but this would not take full advantage of the ADC dynamic range or prevent clipping thus the better solution is to optimize the audio at the analog source.
The UCI120 provides an Insert I/O jack to support further processing of the signal such as with an Equalizer or PC audio interface, for example with a PC running a program that supports real-time effects processing or that lets you patch in ARRL news or other audio programs. The Insert I/O jack has the AGC output on the 3.5mm jack Tip and the Return to the CM1xx input on the jack Ring.
Mic Technique
With the MAX9814 the audio sounds transparent, smooth and even, not at all overcompressed or distorted, pops/clicks/plosives/handling noise well limited, with clear full-sounding audio whether talking 2" or 6" away from the mic. Note however that talking any closer than 2" from a mic is generally bad mic technique. Your audio will be much smoother with a few inches of space between you and the mic and with the mic at an angle so that bursts of air (plosives) are not aimed directly at it. You should set your mic gain so that you can talk in a normal voice a few inches from the mic and have plenty of gain. There is a tendency with mics to assume you need to talk louder and closer to the mic than you really should and it takes some practice (using parrot/echo mode) to get a more polished sound.
Speaker Audio Processing
Signals from AllStar can vary significantly due to some users having improper gain settings. Most radios will not make an overly quiet signal louder but they will limit overly loud signals. To give similar levels and dynamics to a radio, processing can be done on speaker audio to compress or hard limit signals above ~-10dBFS peak or ~-20dBFS RMS. In the ASL to UCI direction AGC and limiting is easier to do because the signal is in the digital domain where processing can be done in Asterisk or ASL.
Audio coming from the ASL network is referred to as Tx audio, as it's what would be transmitted over a local radio or repeater that is connected to a radio-based node, however as the UCI functions like a radio – in the sense that you plug in a mic and speaker, when you key up the mic you're transmitting, and you then listen to received signals – the "RX" LED in fact indicates that the UCI is receiving audio from the node ie. USB host.
Asterisk provides an AGC function that can be enabled in extensions.conf and this could be helpful if you find that nodes, repeaters, or nets you listen to have a lot of volume variation between different users.
As the goal of a radio-less node is to match the overall sound of a good radio, the same adjustments as are available on a good VHF base radio should be provided. The UCI120 provides all these functions along with a number of additional trim pots and internal DIP switches.
Mic Options
You may already have a microphone with an 8-pin round plug wired for Kenwood or Alinco radios, which should work fine with the UCI, and you probably already have an external 3 - 8 Ω speaker with 1/8" (3.5mm) plug. The UCI120 uses 5V USB power, which may not be enough voltage for some mics that are designed for 8V, though most such mics I have tested work fine on 5V. The Alinco EMS-57 is a good mic that is designed for 5V and has a built-in DTMF keypad and encoder. Some other mics with keypads don't actually have a DTMF encoder and instead send serial data out expecting a radio to then generate the DTMF tones. Be sure to carefully review the schematic and pinout of any mic before using with the UCI.
A variety of other mics can also be used. Icom HM-154T DTMF mics sound good but have an RJ45 connector and do require 8V for the DTMF encoder. If a mic does not work on 5V a small DC-DC converter such as a B6287 module can be added to supply 8V or any other needed voltage. I have built nodes with Icom mic jack wiring instead of Kenwood/Alinco, using a B6287 step-up converter module to provide 8VDC, and they work perfectly. Battery powered mics would also be a good option such as a Rode NT3 with an Inrad DMS-1 desk mic stand.
AllScan is an authorized Alinco reseller and we have EMS-57's in stock for immediate shipment. The genuine EMS-57 sound literally 10 times better than the $20 counterfeit EMS-57s available on amazon/ebay/etc. The genuine Alinco has a much fuller sound, better presence, much lower handling noise, and a longer more pliable coiled cord.
Kenwood MC-60A, MC-80 and MC-85 desk mics are great options that sound better than pretty much all hand mics, work fine on 5V (no batteries needed), have built-in preamps and work perfectly with the UCI. Many Icom desk mics can also work great but require an adapter to go to a Kenwood/Alinco mic pinout. The Icom SM-10, SM-30 and SM-50 are all great sounding mics. An MFJ-1263 Mic/Radio Switch Box is a great way to connect multiple brands of mics to various radios or UCIs.
Speaker Options
Any 3 - 8 Ω speaker should be fine but for good audio quality I would recommend a small mobile speaker from Icom, Kenwood or Yaesu such as an SP-35 or MLS-100 which are around $30 or so. Any new speaker I've tried that costs under $20 has almost always sounded terrible. Whereas old Heathkit, Motorola, Kenwood and many other vintage speakers often sound excellent and can be easily found for ~$25 - $50.
The UCI120 speaker amp has plenty of volume for most environments, but for louder environments eg. driving on the highway with the windows open you will probably need something a bit louder. The UCI120 will output 2.5W @ 4Ω and 1.5W @ 8Ω, and the Line Out jack can be used to go into any boombox, car or home stereo Aux In jack or powered speaker.
Custom Enclosure Options
Integrating a UCI120 PC Board into an existing speaker enclosure is a great option. There are 100's of speakers available on ebay from vintage 1950's Heathkit or Motorola mobile speakers to many classic Kenwood, Icom, Ten-Tec, Hallicrafters, Drake, etc. models from the past 70 years. Pairing a high-quality speaker with a classic desk mic such as an MC-60A, MC-80 or MC-85 can result in a node that looks great and sounds amazing.
For portable applications a USB power pack can be used (eg. link). Dell Wyse 3040 and many MiniPCs can be powered from a USB power source (in the case of a 3040 with a USB to 4.0x1.7mm power adapter cable). Demo Video
IC Options
The UCI120 PC Board supports C-Media CM108AH, CM108B, and CM119A ICs, with pads supporting different components/values optimal for the different versions. The CM108B and CM119B are in current production and widely available whereas the A/AH can have lead times of several weeks. There are some significant differences between these variants:
- CM119x have 4 additional GPIO lines (GPIO5-8) vs. CM108x
- CM1xxA/AH have ~2.4dB higher audio output levels than CM1xxB. This can be helpful in some URI applications or for directly driving headphones but is not as useful in a UCI product with an integrated speaker amp
- CM1xxA/AH support audio input ranges of -23 to 1 dBVrms, which corresponds to ASL rxmixerset values of 999 to 0, and IC mixer gain settings of 15 to 0 (1.5dB steps)
- CM1xxB has a usable input range (supporting full ADC dynamic range) of -18 to 6 dBVrms, which corresponds to ASL rxmixerset values of 999 to 325, and IC mixer gain settings of 34 to 11 (1dB steps)
- According to the datasheets the ADC input/mixer specs are identical for CM108AH and CM119A, and identical for CM108B and CM119B
- CM1xxB ADC stated SNR is 90dB, vs. 83.1dB for A/AH
- CM1xxB ADC frequency response below 100 Hz is reduced by ~6dB vs. A/AH. This could be an issue in URIs using low CTCSS frequencies but is not an issue in UCI applications
Considering the above, CM108B supports 5dB higher input levels than A/AH, which is a better match for the AGC output levels, and in general works extremely well thus I've seen no reason to go with the older (EOL but still readily available) CM119A or CM108AH. The CM119A has been used in tough environments for many years and the CM108B may not have been as thoroughly vetted but for a UCI product that is not used in remote unattended applications that should not be an issue. For more details see this CM1xxx Spec Comparison.
We will likely do a run of CM119A UCI120's soon so as to have the option available of the additional 4 GPIOs (which can be easily accessed on the PCB with through-hole Test Points that are easy to solder to). Note however that A/AH have significantly different gain settings vs. the B. A UCI120 with a CM108B requires an rxmix gain setting of ~600-700 vs. with a CM108AH requires a setting of ~0-100.
The UCI120 can be provided with a 93C46 EEPROM IC, thereby enabling a unique serial number or other configuration data to be written and read,
A thorough and uncompromising approach was taken in the UCI120 development, establishing a best-in-class flexible platform that can be easily adapted to a number of other applications.
Host PC Options
Dell Wyse 3040 MiniPCs have been used in 100's of AllStar nodes and work great due to their wide availability, low cost (around $25 and up on ebay), simple set up, and reliable operation. Many have built-in WiFi cards and dual integrated antennas, though personally I prefer wired Ethernet whenever possible for maximum performance and less potential RFI. Many 3040's run on 5V 3A, but more recent "12V" versions will run on 5-16V. Even a used 3-5+ year old 3040 should run very well for many years. The design is well thought-out with excellent thermal management and no fan to pull dust inside. If getting one that's more than a few years old I recommend checking the small backup battery and replacing it if below 3V. CR2032 batteries are available with solder tabs for as little as $1 ea. The case pops open with no tools needed and you can then also confirm if it has built-in WiFi. Many 3040's have the internal WiFi card and antennas even though many ebay sellers don't mention it.
Beelink T5 MiniPCs are ultra compact and slim (4.2" x 4.2" x 0.7" / 106x106x18mm) – a great match for all AllScan products, and are modern full-featured PCs with 4GB RAM, 64GB SSD, Celeron CPU and dual 4K HDMI outs. They work very well and Debian & ASL install quickly and easily. They have a fan but it's extremely quiet. With as nice as these are for under $100, it's a mystery why anyone would bother with overpriced RPi's (that don't even have a power button, internal SSD or proper EMC certification).
GMKtek NucBox5 MiniPCs are incredibly compact (2.83" x 2.83" x 1.75") and are modern full-featured PCs with 8GB RAM, 128GB SSD, 2-2.9 GHz Celeron CPU and dual 4K HDMI outs. They work very well and Debian & ASL install quickly and easily. They do have a fan but it's very quiet. For basic node use there's no need for a NucBox vs. a 3040, though it does cut the time to install Debian and ASL from ~30 minutes on a 3040 to more like 10-15 minutes, and it's a relatively small price difference for something that doubles as a powerful desktop PC.
Node Setup
If you do not already have a MiniPC or RPi running the latest ASL this section will guide you through the setup process. Also see AllStarLink.org for more information and the ASL Manual.
If you already have a host PC/RPi set up be sure to carefully review the recommended configuration settings below before connecting the UCI. There are several ASL settings that should be changed from the defaults.
Dell Wyse 3040 MiniPC
Installing ASL3 on a Dell 3040, other Mini PC, or Laptop/Netbook is not hard if you're experienced in building/maintaining PCs. The 3040's have a UEFI-only BIOS that needs a boot file in a specific place. Making a UEFI USB drive is simple: Download the amd64 ISO from debian.org/CD/netinst/, then format the USB drive as FAT32 and unzip the ISO into the root folder (7-Zip is a good program for unzipping ISOs). Do not try to make the USB drive "legacy bootable".
There have been rare cases reported where people were not able to properly copy ISO files to a USB drive but were finally able to get it working using "Rufus", a free program that can create UEFI USBs. It's probably not going to do anything that 7-Zip wouldn't but maybe it has fewer options and thus is more resistant to user error.
To initially set up a 3040 requires a USB keyboard and a monitor/TV with a DisplayPort cable. Plug in the keyboard and DisplayPort cable, and plug in the Debian 12 USB drive. Power up the 3040 and when you see the Dell logo hit F2 to enter BIOS setup. Some 3040's may have a BIOS password which defaults to "Fireport". This can be cleared in the Security section or if some other password was set can be cleared with a button on the PCB. Recommended BIOS settings:
System Configuration → UEFI Network Stack: Disabled → Integrated NIC: Enabled (NOT w/PXE) → USB Configuration: Enable all checkboxes Secure Boot: Disabled Power Management → AC Recovery: Last Power State → USB Wake Support: Disabled → Wake on LAN: Disabled POST Behavior → Keyboard Errors: Disabled → Fastboot: Thorough Virtualization Support: Disabled
Nothing should need to be changed on the boot order page or any other pages. Once you have confirmed the BIOS settings, save and exit, and then when you see the Dell logo hit F12 for the boot menu, then select the USB drive. The Debian installer menu will then appear.
The Debian net install image is intended to boot on a removable device and install Debian on an internal storage device (or on a separate removable USB drive / SD Card). This differs from the RPi "appliance" image which goes on an SD Card, into the RPi, and the install is done. The Debian install takes about 20 minutes to complete. The default options should be fine but if there is anything you are not sure about, do a web search from another computer and try to clarify any questions you have.
The ASL2 image did not have the boot file where 3040's need it to be (/boot/efi/...), requiring an extra step to copy the boot file, but fortunately the Debian 12 installer provides this option.
I recommend the "high-contrast", "advanced" install option as it seems to better explain each step and not skip any potentially important details.
- Install to the internal eMMC drive, overwriting ALL existing partitions.
- Select your preferred Desktop Environment (should be none if the 3040 has only 8GB eMMC or if you do not plan to use the 3040 with a keyboard and monitor, otherwise MATE is recommended), and select "web server" and "SSH server" options to install.
- When prompted to create a user account, do not enable a login/password for the root account (this is more secure), and be sure to write down the name and password you enter for your user account.
- The "Force GRUB install...to EFI..." option is required for Dell Wyse 3040's. Select Yes for this step.
Installing on other Thin Client models or on a Netbook or Laptop should be even easier. (Note however that Chromebooks should be avoided, as ChromeOS is a closed and encumbered platform.)
A Desktop Environment such as MATE is a nice addition if you have a monitor, TV, or remote desktop app. This will greatly simplify wifi and wired network management but does require a 16GB 3040 version to fit everything.
Beelink T5 or GMKtek NucBox5 MiniPCs
Installing Debian on a Beelink T5, GMKtek NucBox, or other similar recent Mini PC model is simple. First, make a UEFI USB drive by downloading the amd64 ISO from debian.org/CD/netinst/, then format the USB drive as FAT32 and unzip the ISO into the root folder (7-Zip is a good program for unzipping ISOs). Do not try to make the USB drive "legacy bootable".
Plug in a USB keyboard and a monitor/TV with HDMI cable into the MiniPC. Many Mini PCs include Windows 11. If you want to keep Windows you will want to let it boot and update itself (which can take over an hour) and then use the Windows Disk Management tool to shrink the C drive by 50%, ie. for a Mini PC with 128GB eMMC/SSD, shrink it by 65,535KB, thereby leaving 64GB of unallocated space, or for a mini PC with 64GB eMMC shrink the C drive by 32,767KB. When setting up Win11 I recommend during the setup specifying that the PC will be used for "work". There is no need to create a Microsoft account. In reality it is unlikely you'd ever have any need for Windows on a node MiniPC, and with the 1+ hours of time it takes a new Win 11 install to update itself, keeping Windows is probably not worth the time and hassle.
I recommend disabling all unnecessary options in the MiniPC BIOS, including Secure Boot, TPM module, Wake on LAN, Virtualization, Network/PXE boot, and legacy device support. Then power off the MiniPC, plug in the Debian 12 USB drive, press the power button and you will see the Debian installer menu. The Debian install takes about 10 minutes to complete. The default options should be fine but if there is anything you are not sure about do a web search from another computer to clarify any questions. I recommend the "high-contrast", "advanced" install option.
- Install to the internal SSD drive. If keeping Win 11 select to install to the "largest unallocated partition", otherwise overwrite ALL existing partitions.
- Select your preferred Desktop Environment (I recommend KDE), and select "web server" and "SSH server" options to install.
- When prompted to create a user account, do not enable a login/password for the root account (this is more secure), and be sure to write down the name and password you enter for your user account.
ASL3 Install
When the Debian install completes you will be prompted to remove the USB drive and power cycle the PC. Make sure it boots OK into Debian. The "hostname --all-ip-addresses" command can then be used to get the node's LAN IP address. You can then SSH into the node, proceed with the ASL3 install as described in the ASL3 Manual, and provision it on the allstarlink.org Web Portal.
ASL Configuration
ASL3 was released in July 2024 and is a major release that brings Debian and Asterisk up to the latest versions and makes other significant improvements. Asl-menu can be used to make some of the initial node configuration settings but the .conf files still need to be manually reviewed and edited as described below.
Tests I ran on a 3040 doing a full-duplex parrot test showed that the simpleusb driver and usbradio driver in various modes use only about 10% total CPU, thus there should be plenty of headroom on the 3040 or similar mini PCs.
My testing of the usbradio driver in carrierfrom=usbinvert mode (using the iaxRpt PC app recording directly (software loopback) into Audacity) showed that usbradio bandpasses and limits the outgoing IAX audio, which results in a significant reduction in overall dynamic range and loudness. Thus I recommend the simpleusb driver as this transmits the mic audio over IAX exactly as it came in from the ADC. Usbradio's limiting and bandpass filtering could be useful if they were more flexible but there seems to be no option for makeup gain thus all audio is limited to ~-10dBFS.
rpt.conf Recommended Settings
rxchannel = SimpleUSB/[node#] ; Comment out all other rxchannel lines* duplex = 3 ; Full-duplex, do not repeat Rx audio to Tx audio hangtime = 100 althangtime = 200 ;linkunkeyct = ct8 ; Comment out to prevent courtesy tones when connected holdofftelem = 1 telemdefault = 0 ; Prevent "node X connected to node Y" messages parrotmode = 1 ; 1 = Parrot On Command ; Uncomment following lines: 921 = cop,21 ; Enable Parrot Mode 922 = cop,22 ; Disable Parrot Mode
NOTE: The ASL3 asl-menu
utility has an issue where it does not provide a clear option for setting duplex to 3. Be sure to manually edit rpt.conf, find all lines that start with "duplex=" and make sure they set duplex=3.
*In ASL3 there may be 2 rxchannel lines, one with dahdi/pseudo and the 2nd with SimpleUSB/[node#]. Those lines should not need to be manually edited. The ASL Menu Utility (run "sudo asl-menu" on the command line) should be used for initial node setup to set your node#, node password, IAX port number, AMI password, and channel driver (SimpleUSB).
simpleusb.conf Recommended Settings
rxboost = 0 carrierfrom = usbinvert ctcssfrom = no deemphasis = no plfilter = no ; 'no' for increased bass / 'yes' to reduce low frequency noise txmixa = voice txmixb = no duplex = 1 ; ASL2/HV only, not needed in ASL3 clipledgpio = 1 ; Supports ADC Clip LED legacyaudioscaling = no
ASL3 Clip LED Support
The UCI120 supports the ASL3 ADC Clip Detect feature. To enable this be sure you are running ver. ≥3.0.5 and that you have the "clipledgpio = 1" line in simpleusb.conf (or usbradio.conf if using the USBRadio channel driver). The Clip LED can be activated either by an internal comparator circuit or by the CM1xx GPIO1. The internal comparator will not be as accurate as the ASL ADC Clip Detect feature, which looks at the actual raw ADC data, whereas the UCI internal circuitry has no way to know what specific rxmixerset gain setting is being used and thus when the CM1xx ADC may in fact be getting clipped after its internal mixer. To test that your ASL version correctly supports setting GPIO1 you can run the Asterisk CLI ("sudo asterisk -vvvr") and then enter "rpt cmd [YOUR NODE#] cop 62 GPIO1=500". The Clip LED should then illuminate for 500mS. Once you have confirmed ASL is properly configured and supporting the LED you can increase the setting on the RV5 trim pot (turn fully clockwise) so the LED will only be activated by ASL. With that set up, the clip LED will precisely indicate when ADC clipping has actually occurred. Be sure to then reduce the Mic Gain Adjust / Boost controls if needed so the Clip LED never illuminates. AllStar audio levels should ideally have at least 3-6 dB of headroom between your maximum audio levels and where clipping starts to occur, otherwise your signal could be overly loud and distorted.
SimpleUSB Tune Menu Audio Level Settings
A txmixaset
level setting of 999 is recommended to ensure the volume knob has the widest range of control, then rxmixerset
should be set to around 600-700, which will vary with the mic used, how loud you talk, etc. I recommend keeping the Mic Gain Adjust knob fully clockwise (0dB), the Mic Boost switch at 0dB and changing those only if needed for a particular mic that has higher or lower output levels. The USBRadio driver can also be used with similar settings though would not likely provide any advantage over SimpleUSB. Also see the Setting Audio Levels section of the ASL manual for tips on setting levels optimally.
Updating ASL
Be sure to review the ASL3 Manual and follow the recommended steps to periodically update Debian and ASL. After setting up any node I recommend checking the system logfile (in Debian 12 use "sudo journalctl", otherwise use "sudo tail -n 500 /var/log/syslog") periodically to make sure there are no error messages shown during system boot and normal operation. If you see an error (for which a web search of the message does not reveal a simple fix) check the ASL Forum to see if it has been reported, and if not I suggest making a new post.
Wiring Notes
Mic Wiring
Front View of Mic Jack (Kenwood/Alinco)Speaker-Mic Connections
Speaker-mics have an electret mic element requiring a ~2 Volt bias voltage on the mic audio line. The 3.5mm TRRS Line Out/Ext Mic In jack supports an electret mic in with bias voltage and provides line outs, but for the speaker line the Speaker output jack should be used, and PTT should be connected to the 8-pin mic jack. Speaker mics designed for Kenwood HTs (3.5mm & 2.5mm K1 jack) will work great as they provide a standard PTT to ground output. Thus to connect a K1 speaker mic to the UCI120 currently requires an adapter cable to go from K1 3.5mm & 2.5mm jacks to a 3.5mm TRRS plug (mic audio on R2), 3.5mm TS plug (speaker audio), and 8-pin mic plug (PTT & Ground). (A future UCI version may support K1 jacks directly.) You will then want to set the UCI120 internal DIP switch SW4 to 11 (both on) to enable the external mic input and bias voltage. The adapter wiring is as follows:
UCI120 3.5mm Ext Mic In Jack Ring2 --- K1 3.5mm Ring (Mic) UCI120 8-pin Mic Jack Pin 2 ---------- K1 3.5mm Sleeve (PTT) UCI120 3.5mm Speaker Jack Tip -------- 100uF capacitor --- K1 2.5mm Tip (Speaker) UCI120 8-pin Mic Jack Pin 7 ---------- K1 2.5mm Sleeve (Ground)
It does not appear that any speaker-mics are available that have a DTMF keypad, and because DTMF control is a useful feature ideally a DTMF mic and separate speaker should be used. DTMF control is not always needed and does have some limitations however. Apps such as AllScan are much easier to use than memorizing various DTMF command codes and node numbers, and they allow you to disconnect from a node without keying it up. For example if you are connected to a repeater/hub node and then want to disconnect, with DTMF you have to key up the mic in order to send the disconnect command, which results in keying up the repeater/hub and all users of that system hearing the button clicks and kerchunk. This should be avoided if at all possible. DTMF can be useful for other purposes however, for example if you take the node on a trip and connect to a network that you don't have control over and need to determine the node's IP address, or need to turn WiFi on or off. Nodes I build support these functions with DTMF commands *690–*693, and can easily support any other OS or hardware functions.
Node Management
Installing AllMon and then AllScan is highly recommended. AllScan provides a Favorites Dashboard with integrated ASL Stats scanning. This makes it easy to add favorite nodes and see their Tx & Rx activity and Connected Link Count stats in real-time (typically 1-minute resolution). These apps can be used in any web browser.
AllScan Favorites Management & Dashboard Web App
Wi-Fi Support, Portability
Wired-internet is more reliable and easier to set up but for a portable node wireless connectivity is essential. USB WiFi adapters are inexpensive and fairly easy to set up if you have basic familiarity with Linux.
Many 3040's come with an internal WiFi card and antennas that work well. Otherwise a cheap USB WiFi adapter should work for short-range communication but I would recommend a reputable brand that's known to work well on Debian Linux and that has a proper antenna. With WiFi frequencies starting at 2.4GHz, a 1/4λ vertical antenna should be 3cm in length or for some gain you'd want 1/2λ or 5/8λ ie. 6-7cm antenna length. Any adapter that's smaller than that is probably not going to have good performance. The TP-Link "Archer T2U Plus AC600" look good and are < $20. I would suggest testing a few different models and seeing how their signal strength, jitter, packet loss, etc. are at different distances from your WiFi router.
AllStar and other VOIP / communication applications require low-latency, reliable IP connectivity, and extra care is required to ensure any WiFi devices and networks used are properly set up. If you ever experience audio issues, dropouts, jitter, etc., it is much more likely to be an issue with your network configuration than with ASL or the node itself.
If you use WiFi on a node you should have basic familiarity with Linux and configuring the various settings. Eventually some setting or driver may need to be updated or debugged. Like anything with computers this is not hard to do, just do a web search for what you want or what issue you're seeing and dozens of web pages with plenty of answers will usually come up.
Wi-Fi Setup for nodes with no Desktop GUI (Command-line Only)
This Article has detailed instructions on how to set up WiFi on Debian. This process does require knowing the node's IP address (which can usually be found on your router management page) and initially connecting to the node through ethernet with an SSH app. This may not be easy to do on networks that you do not manage but there are ways to make that easier, for example you can set up a command in ASL to say the node's IP address in response to a DTMF command. On all nodes I ship I have DTMF commands *690 and *691 set up to say the node's LAN and WAN IP addresses. See the AllScan FaceBook Group for details on how to set up these commands, plus many other tips and updates.
Before configuring WiFi as described in the above article you may need to run the following steps: "sudo su", "apt install wireless-tools net-tools wpasupplicant", then run "iwconfig" and confirm a wireless interface is listed. On a Dell 3040 with internal WiFi module this shows a wireless interface named "mlan0". You may then need to run "ifconfig mlan0 up" to start the interface. "iw mlan0 scan" should then list the available networks, or run "iw mlan0 scan | grep SSID" to see just the names.
After first setting up WiFi on a 3040 I was seeing a lot of jitter and audio dropouts but after disconnecting the ethernet cable, restarting my WiFi router and restarting the node, everything worked perfectly.
Another way to set up WiFi on Debian is with iwd, which may be slightly simpler vs. the article above. See this Article for details.
Wi-Fi Setup for nodes with a Desktop GUI
To simplify WiFi network management a Desktop Environment (DE) can be set up on the node such as KDE or MATE along with a small LCD monitor and USB keyboard/trackpad – or use an inexpensive Netbook or small Laptop instead of a MiniPC. Connecting is then as simple as clicking on the network icon and selecting the WiFi network. The DE should then be configured for auto-login so that WiFi will auto-connect after bootup without needing to turn on a monitor and manually log in with a keyboard. The KDE desktop is recommended for newer MiniPCs with ≥4GB RAM and >16GB eMMC.
Some DE's are able to automatically enable/disable WiFi based on ethernet connected status, but it seems MATE does not have that option. This Post shows how to set up a Network Manager script that automatically turns Wifi off or on when ethernet is or is not available, which should help ensure WiFi is not left on when not needed.
If you often travel and connect to various WiFi networks, using a small laptop or netbook for the node computer rather than a 3040 can make things much easier to manage. These are available for around the same price as 3040's which is a quite a deal considering they include an LCD, keyboard, trackpad and battery. I have used a small Asus netbook that came with Linux Mint preinstalled (was only $50 on ebay) and it works perfectly. This makes for an innovative node product that in addition to being an AllStar node works as a regular laptop and runs 1,000's of free programs available on Linux. Small laptops are slightly more expensive but still < $100, and have a nicer keyboard, more I/Os, and better performance.
For my ANR100-LT nodes I use Dell E7440 laptops, which are easy to find for < $100, with 256GB SSD, charger and Win 10 Pro. They are nice compact laptops with backlit keyboard, full HD LCD, and decent battery life. I shrink the C drive by 65,535 MB and install Debian 12 on the blank partition which then sets it up to dual-boot either OS with Debian and ASL3 as the default. ANR100-LT Demo Video
Full-Duplex Communication Benefits
All AllScan nodes and products support full-duplex communication, which provides powerful advantages over half-duplex nodes. This requires setting the "duplex" parameter to 3 in rpt.conf and to 1 in simpleusb.conf/usbradio.conf. If you do not do this you will not hear Rx audio when keyed up and will be much more likely to experience doubling and other issues.
In The Beginning...
In the beginning...there was CW. Most HF/CW/All-mode transceivers support full or semi break-in keying, meaning that the receiver is on between symbols/letters/words sent. Thus if someone is transmitting on a decent radio and making a reasonable attempt to monitor the frequency between characters or words, anyone can easily break in. Thus CW supports interactive, fluid conversation, and allows others to join a QSO or reply to a CQ at any time. CW can be considered semi-duplex because each dit and dash is only a couple 100mS and good radios can switch between Tx and Rx very quickly. Thus the receiver is never off for a significant time and it's easy to hear responses and other activity on the frequency.
And then there was AM, and soon after SSB which is much more energy-efficient and more widely used. Because SSB has no carrier there is no energy transmitted (or very little) during quiet parts ie. between words or during pauses. Experienced hams take advantage of this by briefly unkeying here and there, during pauses or maybe every other sentence, for enhanced awareness of the channel. This is a subtle technique that many aren't aware of. Some operators will just key up and talk for minutes straight, whereas more experienced OMs tend to keep things shorter and more interactive – just like in-person conversations. When you talk to someone in person you don't just talk for 3+ minutes straight at a time without ever pausing to allow someone to comment, acknowledge, reply, etc. And there's usually no good reason to do this on the ham bands, with some exceptions such as on nets. Thus while SSB is not generally full-duplex, experienced hams use it in an interactive way where they pay attention to what's happening on the frequency (as well as plus or minus a few KHz where there might be QRM or QRN that needs to be worked around), and as a result QSOs tend to be more dynamic and interesting.
And Then There Was FM
Next there was FM. FM sounds better than AM because of its better noise resistance, but it is less energy efficient than SSB due to having a constant power regardless of modulation level. And unlike SSB where you can unkey briefly with no audible effect, if you unkey on FM it results in squelch drops for listeners (unless their radio has unusually good squelch or they have tone squelch properly set up), thus there is a slight disincentive on FM to pay attention to the channel while you're transmitting.
Due to the FM capture effect, multiple people can't transmit at the same time or the signals interfere destructively or one covers up the other. With SSB that's not an issue and multiple signals combine linearly. One might be louder than the other or you might not be able to follow what either is saying very well but at least you'll be able to tell that there are 2 people talking, vs. FM doubling which can sound like a train wreck. Thus when FM first started being used on repeaters 60+ years ago it sounded great but also had some limitations that earlier modes did not.
As a side note, repeaters don't need to only use FM (or PSK digital equivalents). They could also support SSB without a huge amount of effort. Squelch would be a little more complicated because you don't have a constant carrier to reference, but DSP, signal analysis, noise reduction and AGC techniques have come a long way since the days of the first FM repeaters. It would not be hard to set up a repeater with separate FM and SSB inputs and repeat the audio on separate FM and SSB outputs. This would for the first time (that I know of) enable the advantages of SSB to be achieved on a repeater, namely SSB's inherent resistance to destructive interference and thus the ability to support multiple signals on a single frequency, and SSB's greater power efficiency that would reduce battery use for portable users or give more range with the same average power.
Before the Above There Was The Telephone
Originally repeaters and radios only supported half-duplex (from the user perspective). If you receive at the same time you're transmitting, from a repeater that has only one FM receiver, you're generally just going to hear yourself, or maybe a bunch of noise if someone doubles with you. Technically a repeater is full-duplex because it can transmit at the same time it's receiving, but that doesn't do you a lot of good (beyond the basic advantages that repeaters provide) if no more than 1 repeater user can transmit at the same time. Prior to ASL, only rarely did repeaters actually support true multi-user full-duplex communications. This is in contrast to phones which are multi-user full-duplex and always have been, which is much more natural and intuitive. Even the very oldest telephones from the 1800's were full-duplex. Apparently Thomas Edison and whoever else contributed to the early development of telephones figured out that it would be easier to just let people talk whenever they want with no limitations on how many people can talk at a time. This is easier to do on a pair of wires than over RF, but can be easily done on RF by using multiple bands/frequencies.
Multi-User Full-Duplex Repeaters
Most repeaters have only one FM receiver, which due to the FM capture effect can only properly receive one signal at a time, thus there was really no such thing as a repeater where any number of people could talk at any time while also hearing everyone else. To support that without ASL currently requires a repeater to have multiple receivers. Such systems do exist and work well for trivia nets or other scenarios with quick-witted hams jumping in with quick comments. San Diego's W6ZN repeater does this and there are numerous interlinked repeater systems with multiple inputs such as the SoCal DARN or PAPA systems where you can listen to one repeater on one mountain and transmit into a linked repeater on another mountain. ASL now makes it much easier for repeaters to support true multi-user full-duplex, as connected (radio-based) user nodes in fact extend the repeater with additional receivers and user-specific link monitoring transmitters (ie. that do not repeat local Rx audio).
And Then There Was The Internet
The Internet is essentially an extension of public telephone systems that had existed for a century before, with the major difference being packet-switching vs. circuit-switching. They both work for getting audio from one place to another regardless of if it's half-duplex or multi-user full-duplex. The internet does this in a general way with no limitations on the application layer which is a big improvement over the closed and proprietary phone system networks that have now become mostly obsolete.
And Finally There Was Asterisk and Then AllStarLink
Because ASL is based on Asterisk – a phone system, it supports full-duplex perfectly and makes it very simple. Even repeaters that have only one RF input, that would not ordinarily support multi-user full-duplex, if ASL-linked now support this capability by default for all AllStar users. I have tested this on many repeaters and it works just like a full-duplex phone call on a speakerphone. You talk just like you would on a simplex node but if someone else keys up you hear them and if someone doubles you hear it right away. Because you always hear the remote system, and if someone starts to double or there's echoes, timeouts, interference, etc. you can simply unkey until the repeater (or node / hub / bridge / etc.) is clear. This is a powerful feature that greatly improves the interactivity, efficiency and flexibility of amateur radio repeater communications. And it's an essential feature in emergency comms scenarios.
For those who have not used a full-duplex radio or node, or who do not intuitively understand how much of a difference it makes, a simple analogy is to consider what it would be like if the phone system was only half-duplex. Imagine that when calling a friend, relative, or business if only one person could talk at a time, no one could speak until the other person or people on the call unkeyed, and if when you then did key up to speak you couldn't be sure someone else hadn't keyed up at the same time. This would result in awkward and inefficient conversation because it would no longer be like real in-person communication. In contrast, full-duplex enables natural, smooth, effortless communication just like when you're standing right next to someone.
True Multi-User Full-Duplex
Although most people may not know it (even repeater owners), ASL-linked repeaters by default do support true Multi-User Full-Duplex. This is a subtle detail that can be hard to fully appreciate until you've tried it yourself. The repeater itself on analog will not support more than one analog RF input at a time if the repeater has only one RF receiver, but generally will support any number of simultaneous ASL full-duplex users and at least one analog RF input. There are a small number of improperly set up repeaters that don't support multi-user full-duplex but I only know of a few.
By default when a repeater links to ASL it will be with a node whose audio output gets mixed with the RF receiver audio input(s). Some repeaters may prioritize one over the other and only allow one audio channel at a time, or ASL may be linked through some intermediary interface, but even then multiple connected AllStar users can still be full-duplex and talk and hear each other fine, as that's a core feature of Asterisk's architecture. Audio streams from each connected node are always routed to all other connected nodes, no different than a VOIP conference call.
Some repeater system admins may opt to give RF Rx audio priority over AllStar Rx audio but there is no advantage to this and it only causes issues. For example if an RF user and an AllStar user key up at the same time the RF users on the repeater will hear only the RF user while AllStar users hear only the AllStar user, thus resulting in 2 separate conversations, which makes for quite a dysfunctional system. Such a phenomenon could be called "halfing" rather than "doubling", as it results in the communications topology being split into separate halves while both users are keyed up. Fortunately only a small number of repeaters seem to have this issue. If you should encounter such a system I suggest letting the admins know there is a better approach, ie. combine (mix) the Rx audio inputs rather than prioritize one over another.
Amateur vs. Professional
Go on any repeater net that has more than a half dozen or so users and you'll frequently hear doubles, quick-keying, and other issues, which can waste minutes of everyone's time, result in inefficient communication, and could even be described as "amateurish". Full-duplex solves these issues and gives you full situational awareness. This goes back to the definitions of "amateur" vs. "professional". Amateur just means it's not for-profit – not that we can't communicate well. Full-duplex enables communicating as if you were standing right next to everyone in the QSO, and AllStar makes this so easy to do that there's no reason not to.
Node Notes / Instructions
I provide the following notes with nodes I build and have included them here as they are useful notes regarding the general operation of any AllStar node.
- When you first plug in the node and connect an ethernet cable, it should be assigned a DHCP address by your router. If you look on the router's web admin page it should show a list of connected devices and the IP Address assigned to the node. You should then 'reserve' that address for the node there so the IP Address does not change later. The *690 DTMF command can also be used to have the node say its LAN IP address, or *691 for the WAN address.
- You'll also need to then forward port 4569 UDP&TCP in the router to the node. If this is not done you may get jittery audio or dropouts. (This assumes you do not already have another node on port 4569. Otherwise subsequent port#s should be used ie. 4570, 71...)
- If you will want to use AllMon/Supermon/AllScan from external networks you'll also need to forward port 80 TCP in the router to the node, or for portable nodes use a Dynamic DNS service.
- To access the node by SSH enter the node's IP Address in your SSH client, username=______ and password=______. This password should be changed. To do this, log into the node by SSH and type "passwd" and you will be prompted for a new password. Make sure not to lose that as there is no easy way to recover or reset it.
- AllScan and AllMon are installed and have the same login: username=______ password=______, and can be accessed by entering the node's IP or DDNS Address in your browser. To update the AllScan password go to the Users page link. To update an AllMon3 password see this link. To update an AllMon2 password see this link. To update a Supermon password see this link.
- If the Dell 3040 has not been connected to power for awhile sometimes the power button has to be held in for 5-10 seconds and it may take a minute to then start up. Usually though a single click is all that's needed to turn it on or off.
- AllStar nodes can take several minutes after first being turned on to register with the ASL Network and for connections to remote nodes to then be accepted.
- RX and TX level adjustments can be made in the asl radio tune settings, by logging in by SSH and running "sudo /usr/sbin/simpleusb-tune-menu" if using simpleusb driver or "sudo /usr/sbin/radio-tune-menu" if using usbradio driver, then follow the prompts to adjust the level settings.
- You can check your audio using Parrot mode: Enter DTMF command *921 to enable, *922 to disable. (Be sure you're not connected to any other nodes when doing any testing.) N2DYI's Parrot Test Node 55553 can also be used. When setting levels keep in mind that it's better to be a little on the low side than to have too much gain and possible clipping and distortion.
- For nodes with wifi, it is generally recommended to use wired ethernet when available for best performance. In this case the wifi module should be turned off with the SSH command "ifconfig mlan0 down" or DTMF command *692, and can later be turned back on with the command "ifconfig mlan0 up" or DTMF command *693. The wifi will default to on when the node is next powered on or rebooted, unless this is changed in the networking settings.
Troubleshooting
If you get distorted audio or stuttering/dropouts, make sure all your port settings match on the ASL site for both the server and the node, and that those match the port settings in iax.conf (bindport), rpt.conf ([node#] = radio@ip:port), in the node's firewall (iptables) configuration, and in the router/cable modem. This is 6 different places the port has to be set. If it's your first node then you probably have the default of 4569 and didn't need to change anything, but if it's not your first node then a different port number is required (eg. 4570, 4571, ...), and all 6 of those places need to have the same setting. The node can still appear to be working fine if those settings don't match but the audio will be more likely to have stuttering/dropouts.
Conclusion
The UCI120 bridges the gap between communications audio equipment and a wide range of audio/communications apps. This platform can be easily extended to support significant additional I/Os and capabilities. For more info see the Products page.