From bare hardware to a radio on the network.
fne.corenet.systems on UDP port 62031, you are done networking.
Everything you need is served from this site; there is nothing to fetch from anywhere else.
Network: an ordinary internet or LAN connection.
Outbound UDP to port 62031 must not be blocked. No port forwarding is needed
— your host makes the connection outward, nothing connects inward to you.
How many boards you need depends on what you want to run.
| Setup | Boards | What it gives you |
|---|---|---|
| Conventional | One board on the Pi | A single voice channel. Simplest build; no control channel, so no trunking. |
| Trunking recommended | Two boards — one on the Pi, one on a USB adapter | A dedicated control channel plus a voice channel. This is what the two Peer IDs you are issued are for. |
| Linux PC | Two boards on USB adapters | Same as trunking, on any Linux host instead of a Pi. |
The network issues everyone two Peer IDs — one control, one voice — so a trunking build works without asking for anything extra. A conventional build simply leaves the control peer unused.
What members on this network actually build with. Prices are what they were when the list was last updated — treat them as a guide, not a quote.
| Part | Category | Qty | Price |
|---|---|---|---|
|
CanaKit Raspberry Pi 4 (4GB) Basic Kit
Raspberry Pi 4 (4GB) with case, power supply and microSD - the client node computer.
|
Compute | 1 | $124.99 |
|
AURSINC MMDVM Duplex Hotspot Module Dual Hat V1.5.2
Dual-slot MMDVM hotspot HAT for Raspberry Pi - supports P25, DMR, YSF, NXDN.
|
Radio Interface | 1 | $59.99 |
|
AURSINC MMDVM Simplex USB HAT Board
Simplex / dual-band MMDVM USB HAT modem - DMR / DSTAR / BlueDV.
|
USB HAT Board | 1 | $25.88 |
|
MMDVM Duplex Hotspot Module Dual Hat V1.5.2
Dual-slot MMDVM hotspot HAT for Raspberry Pi - supports P25, DMR, YSF, NXDN.
|
Radio Interface | 1 | $44.99 |
|
DVM-HS-USB Hotspot USB-C Serial Adapter (for MMDVM Hotspot HATs)
USB-C serial adapter that connects Pi-hat form-factor MMDVM hotspot boards to a PC/Pi over USB. CP2102 USB-to-serial with reset/power buttons and a BOOT0 switch for flashing.
|
USB HAT Board | 1 | $14.99 |
|
Zebra DRPi-1S Case (Duplex MMDVM + Raspberry Pi 4/3B+, Black Ice)
Enclosure for a Duplex MMDVM hotspot with a Raspberry Pi 4 or 3B+, with room for a 0.96" OLED screen.
|
Case | 1 | $29.99 |
You do not need everything here — pick the compute, the radio board(s) for your setup above, and a case if you want one. For a trunking build you need two radio boards and the USB serial adapter for the second one; that adapter's BOOT0 switch is also what makes flashing straightforward later.
Fill in the Request Access form with your callsign and why you want on the network.
Your account starts pending — you cannot sign in until an administrator approves it. On approval you are automatically issued a Radio ID, two Peer IDs and a Site ID. Nothing is issued before then, so there is no point building configs yet.
After approval, My Account shows your Radio ID, Control and Voice Peer IDs, Site ID and your own FNE password. You do not choose these — they are allocated for you, and they are unique to you.
Flash 64-bit Raspberry Pi OS, boot it, and get a terminal on it. Then bring it up to date and attach your board(s):
sudo apt update && sudo apt full-upgrade -y sudo reboot
For a trunking build, fit one board on the Pi's GPIO header and connect the second through its USB adapter. For a conventional build, just the one on the header.
The board on the GPIO header needs the Pi's serial console off and the UART on. The installer in the next step does this for you — that is why it reboots at the end.
Once you are approved and signed in, this page shows a single command built for your account, with your Peer IDs and password already filled in. Paste it into the Pi and it installs the radio host, your configs and the control panel in one step.
Other ways to install, all from My Account:
The installer already compiled the firmware and installed the flashing
tool. The file you are loading is dvm-firmware-hs_f1.bin, in the
dvmfirmware-hs folder the installer built in.
Stop the radio services first. While they are running they hold the serial port open and the flash will fail:
sudo systemctl stop corenet-client@cc corenet-client@vc cd ~/dvmfirmware-hs
If you have the USB adapter board, flash through it. No jumper wires, no reset timing.
sudo stm32flash -v -w dvm-firmware-hs_f1.bin /dev/ttyUSB0
When it reports 100% and success, set the switch back to the normal position and replug. This is also how you flash the second board in a trunking build.
For the board sitting on the header, put it into programming mode by bridging its boot pins, then reset it.
J1, or the two BOOT
sockets) with a jumper or wires.
Make sure bare wires are not touching each other.Raspberry Pi OS Bookworm or newer (GPIO numbering changed, hence the different pin numbers):
sudo stm32flash -v -w dvm-firmware-hs_f1.bin -i 532,-533,533,-520 -R /dev/ttyAMA0
Older releases:
sudo stm32flash -v -w dvm-firmware-hs_f1.bin -i 20,-21,21,-20 -R /dev/ttyAMA0
Once it completes, remove the jumper and reset the board again. The heartbeat LED should resume.
Trunking builds have two boards — the one on the header
(/dev/ttyAMA0, your control channel) and the one on the USB adapter
(/dev/ttyUSB0, your voice channel). Both need working firmware.
Then start the services again:
sudo systemctl start corenet-client@cc corenet-client@vc
After the reboot, on the Pi:
systemctl status corenet-client@cc systemctl status corenet-client@vc
Both should be active (running). On this site, the Peer Health and Network Topology pages should list your two peers as connected within a minute or so. If they are not, jump to If something is wrong.
In your radio's programming software, match the network:
| WACN | AED00 |
|---|---|
| System ID | 9A7 |
| NAC | 9A1 |
| Your radio / subscriber ID | your assigned RID |
Your talkgroup list, with the TGID to program for each, is on My Account → My Talkgroups.
Set the subscriber ID to your own RID. Two radios sharing an ID will not both work.
Encrypted talkgroups need one key loaded into the radio by hand before anything can happen over the air:
If a radio requests a rekey and nothing happens, it has no UKEK assigned yet — an administrator can see exactly that on the OTAR Monitor.
fne.corenet.systems on UDP
62031. A firewall blocking outbound UDP is the usual cause. Remember
there is no VPN in the path — if you were expecting to connect a tunnel first, you do not
need to.sudo systemctl stop corenet-client@cc corenet-client@vc.532,-533,533,-520 pin numbers — the older ones will not work.https://fne.corenet.systems/panel/atioverwatch-web.py, then Save. No such button means an
older panel — re-run the install command from My Account once
and it self-updates after that.