I put my AllStar node on the air in 2019 with a Raspberry Pi 3B+, a $30 USB sound card interface, and an old Kenwood TM-261. Three years later it's still running 24/7, linking me to repeaters across the country from my desk without touching a microphone.
AllStar is ham radio's open-source VoIP backbone. Think of it as EchoLink's more capable, more hackable cousin. Where EchoLink gives you push-button simplicity, AllStar gives you a Linux box you can configure to do almost anything — autopatch, remote base, multi-node linking, DTMF macros, weather announcements, the works.
What AllStar Actually Is
AllStar Link runs on Asterisk (the open-source PBX software) with a custom module called app_rpt. Your node connects to other nodes over the internet. Audio goes both ways. You key up your radio at home, your voice comes out of a repeater in Colorado. Someone keys that repeater, you hear them on your desk radio.
Every node gets a number. There are currently over 30,000 registered nodes. Some are full repeaters. Some are simplex nodes in someone's shack. Some are hub nodes that link multiple systems together.
The network is decentralized. No single server routes all traffic. Nodes connect peer-to-peer once they find each other through the registration servers.
Hardware Options
The Pi Route (Most Common)
Raspberry Pi 3B+ or 4 — Either works. The 4 runs slightly cooler under load and has gigabit ethernet if you're wired. Don't bother with a Pi 5 — overkill and driver support is still catching up.
USB sound card interface — The classic choice is the CM108-based USB fob ($5-10 on Amazon). Search "USB audio adapter CM108." The chip has GPIO pins that app_rpt uses for PTT and COS (carrier operated squelch) without any additional hardware.
Alternatively, the DMK URI ($60) or ModifiedUSB FOB from Repeater Builder ($25) come ready to wire. The URI is plug-and-play with documented pinouts.
Radio — Any FM transceiver with an external speaker jack and mic connector. Common choices:
- Old mobile rigs: Kenwood TM-261, Motorola CDM series, Icom IC-2100
- Cheap handhelds: Baofeng UV-5R works but has known audio quality issues
- Purpose-built: SA818 module on a breakout board ($15) — no radio case needed
For a simplex node (most home setups): The radio sits on your desk, you talk to it with another handheld, and AllStar handles the internet side.
For a repeater node: You need a duplexer or two separate antennas with enough isolation. That's a different project.
The Turnkey Route
HamVoIP and AllStar Link both offer pre-built images. Flash to SD card, boot, configure via web interface. ClearNode sells a $200 ready-to-go box if you want zero assembly.
Software Setup
Option 1: ASL (AllStar Link official)
The AllStar Link team maintains a Debian-based image for Raspberry Pi.
- Download from allstarlink.org
- Flash to microSD with Balena Etcher or Raspberry Pi Imager
- Boot the Pi, connect via SSH or keyboard
- Run
asl-menu— the interactive setup walks you through node number, passwords, and audio config
Option 2: HamVoIP (Arch Linux based)
Popular alternative with a vocal community. Web-based admin interface (Allmon2/Supermon). Some hams prefer it for the GUI management.
- Download from hamvoip.org
- Flash and boot
- Access web config at the Pi's IP address
- Follow the guided setup
Getting a Node Number
Register at allstarlink.org. You'll need:
- Your callsign
- A server (the Pi's public IP or DNS name)
- Patience — approval is manual and can take 24-72 hours
You'll receive a node number (typically 5-6 digits) and a registration password.
Wiring the Interface
For a CM108 USB adapter to a typical mobile radio:
Audio from radio to Pi (receive):
- Radio's external speaker jack → 3.5mm cable → USB adapter mic input
- Add a voltage divider (10k/1k) if the audio is too hot. Most speaker outputs are way louder than mic-level input expects.
Audio from Pi to radio (transmit):
- USB adapter headphone output → radio mic input
- You'll need the correct connector for your radio's mic jack (RJ-45 for Kenwood, modular for Icom, etc.)
- A coupling capacitor (0.1µF) in series prevents DC offset issues
PTT (Push-to-Talk):
- CM108 GPIO pin 3 → transistor (2N2222 or 2N7000 MOSFET) → radio's PTT line
- PTT is usually grounded to transmit. The GPIO goes high, transistor closes the circuit.
COS (Carrier Operated Squelch):
- Radio's squelch/busy output → CM108 GPIO pin (active high or low depending on radio)
- Not all radios have COS output on the accessory connector. Alternative: use VOX mode in software (less reliable, adds delay)
Wiring Diagram Summary
Radio Speaker Out ──[voltage divider]──→ USB Mic In
USB Headphone Out ──[coupling cap]──→ Radio Mic In
CM108 GPIO 3 ──→ 2N2222 Base (1k resistor)
Collector → Radio PTT
Emitter → Ground
Radio COS Out ──→ CM108 GPIO (COS input)
Configuration Deep Dive
The heart of AllStar is /etc/asterisk/rpt.conf. Key settings:
[YOUR_NODE_NUMBER]
rxchannel = SimpleUSB/usb_YOUR_NODE
duplex = 1 ; 0=simplex, 1=full duplex, 2=half
; For a simplex node talking to a handheld:
duplex = 0
linkmodes = yes
startup_macro = *1
SimpleUSB vs USBRadio: SimpleUSB is easier to configure for basic nodes. USBRadio offers more advanced features (CTCSS encode/decode in software, multiple channel support).
Audio Levels
This is where most people struggle. AllStar has a built-in level-setting utility:
simpleusb-tune-menu
Key up your radio into the node. Adjust receive levels until the meter shows good audio without clipping. Then have the node transmit (connect to a test node or parrot) and adjust TX levels until your radio's deviation is correct (should be about 3-4 kHz for narrow FM).
DTMF Commands
Default DTMF commands let you link/unlink from your handheld:
*1NNNNN— Connect to node NNNNN*11NNNNN— Disconnect from node NNNNN*70— Status (announces connected nodes)*76— Link status
Linking to Repeaters and Hubs
The fun part. Some popular hub nodes:
- Node 29228 — AllStar test/parrot node (echoes your audio back)
- Node 2560 — Win System hub (large repeater network)
- Node 27339 — Carolina Connection
Connect to the parrot first to test your audio. Key up, say your callsign, wait for the echo. If it sounds good, you're ready to connect to real nodes.
Practical Tips From Three Years of Running a Node
Use a dedicated Pi. Don't share it with PiHole or other services. AllStar's Asterisk process is real-time audio — it doesn't play well with CPU contention.
Wired ethernet, not WiFi. WiFi adds jitter and occasional drops. For voice, that means choppy audio and missed PTT signals.
UPS or battery backup. A Pi draws 5W. A small UPS keeps your node up during brief power blips that would otherwise require a reboot and reconnection.
Set up Supermon. Web-based dashboard that shows connected nodes, lets you connect/disconnect via browser, and monitors status. Much easier than SSH for daily use.
Firewall/port forwarding: AllStar needs UDP ports 4569 (IAX2) and a range for RTP. If you're behind NAT (most home routers), forward these to your Pi's static IP.
Use a real antenna. Even for a simplex node that only talks to your handheld across the house — a decent antenna means you can key up from the garage, yard, or car in the driveway without drop-outs.
What You Can Do With It
- Morning commute: Connect your mobile radio to your home node via RF, which links to a repeater system 500 miles away. Chat with the morning crew without cellular.
- Remote base: Some nodes connect to HF radios. DTMF commands change frequency and mode. Work HF from your handheld.
- Weather net access: Link to SKYWARN nets during severe weather from any radio that can hit your node.
- Autopatch: Yes, AllStar can do phone patches. Old school but still legal and functional.
- Emergency comms: When the internet is up but repeaters are down (power outage at the repeater site), your home node becomes a local access point to the wider network.
Troubleshooting
No audio in either direction: Check USB adapter is recognized (aplay -l). Verify levels aren't at zero. Check wiring continuity.
One-way audio: Usually a level problem. TX works but RX doesn't? Your COS detection might be inverted — radio thinks squelch is open when it's closed.
Constant PTT (stuck transmitting): COS polarity inverted, or audio noise triggering VOX if using software squelch.
Can't connect to other nodes: Firewall. Port 4569 UDP must be open and forwarded. Test with ping and check IAX2 registration in Asterisk CLI.
Audio quality terrible on Baofeng: Known issue. The speaker output on cheap HTs has excessive noise. Use a radio with a proper accessory/data port for cleaner audio.
Cost Breakdown
- Raspberry Pi 4 (2GB): $45
- microSD card (32GB): $8
- CM108 USB adapter: $8
- Used Kenwood TM-261: $50 (hamfest/eBay)
- Connectors, resistors, transistor: $10
- Power supply (5V for Pi, 12V for radio): $20
- Antenna (if needed): $30
Total: roughly $170 for a fully functional node that runs 24/7 linking you to the world.
Compare that to a $200 ClearNode that does the same thing in a smaller box with less flexibility. Both are valid choices depending on whether you want to build or buy.
Is It Worth It?
If you enjoy tinkering with Linux and radio hardware — absolutely. The build process teaches you about VoIP, audio interfacing, and network protocols.
If you just want to link to distant repeaters and don't care about the plumbing — EchoLink on your phone is simpler. No shame in that.
But if you want a permanently-on access point that links your shack to the world, responds to DTMF commands, and gives you full control over routing and features — AllStar is the platform. Nothing else in ham radio gives you this level of control over VoIP linking.
Reader field notes — share yours
Log in to share your field notes and photos.