TNC frontend for the aiocdix OFDM modem
  • C++ 98.2%
  • Shell 1%
  • Makefile 0.8%
Find a file
Zenith 2b67455f5c
dev -> master
- Fix double framing in queue_data
- check if TCP port is available before binding
- show headers in verbose output
- Add packet fragmentation/reassembly with magic byte 0xF3
- Fragmentation enabled via --frag flag or UI toggle
- Update utility `update.sh`


Fragment header: `[MAGIC][PKT_ID:2][SEQ][FLAGS]`
2026-01-09 19:46:41 -05:00
.gitignore Init 2026-01-02 22:45:56 -05:00
kiss_tnc.cc Double framing fix, check if port is bound , addl KISS cmds, fragmentation option with magic byte framing 2026-01-09 15:39:17 -05:00
kiss_tnc.hh Double framing fix, check if port is bound , addl KISS cmds, fragmentation option with magic byte framing 2026-01-09 15:39:17 -05:00
LICENSE Init 2026-01-02 22:45:56 -05:00
Makefile Update makefile 2026-01-04 17:13:37 -05:00
miniaudio.c Init 2026-01-02 22:45:56 -05:00
miniaudio.h Init 2026-01-02 22:45:56 -05:00
miniaudio_audio.hh Init 2026-01-02 22:45:56 -05:00
modem.hh Init 2026-01-02 22:45:56 -05:00
README.md Add update utility 2026-01-09 15:56:29 -05:00
rigctl_ptt.hh Init 2026-01-02 22:45:56 -05:00
serial_ptt.hh Init 2026-01-02 22:45:56 -05:00
tnc_ui.hh Double framing fix, check if port is bound , addl KISS cmds, fragmentation option with magic byte framing 2026-01-09 15:39:17 -05:00
update.sh Add update utility 2026-01-09 15:56:29 -05:00

MODEM73

MODEM73 is a KISS TNC frontend for the aicodix OFDM modem.

Screenshot

Building

  1. Install dependencies
# Debian/Ubuntu/Pi
sudo apt install git build-essential libncurses-dev g++  
  1. Clone aiocdix DSP libraries and build.
# Requires DSP, code, and modem libraries 
git clone https://github.com/aicodix/dsp.git
git clone https://github.com/aicodix/code.git
git clone https://github.com/aicodix/modem.git

# Clone modem73
git clone https://github.com/RFnexus/modem73

# Your folders should look like this:
#.../
#├── dsp/           # DSP library (aicodix)
#│   └── ...
#├── code/          # Code library (aicodix)
#│   └── ...
#├── modem/         # Modem library (aicodix)
#│   └── ...
#└── modem73/       # modem73 src
#    └── ...

# Build
cd modem73
make AICODIX_DSP=../dsp AICODIX_CODE=../code MODEM_SRC=../modem
# Optional: move to /usr/local/bin 
sudo make install 

Running & Operations

By default, MODEM73 will listen on port 8001

All of the modes provided by the OFDM modem require a bandwidth of 2400 Hz and work over both FM and SSB.

There are currently four PTT options:

  • NONE (speaker/mic over the air)
  • Rigctl
  • VOX
  • Serial
# Start in UI mode
./modem73

# Start in headless mode
./modem73 --headless

# See all options with:
./modem73 --help

PTT options

# Connect to rigctld for PTT control
./modem73 --rigctl localhost:4532

while running rigctld

./modem73 --ptt vox --vox-freq 1200 --vox-lead 500 --vox-tail 150
# 500ms vox lead and 150ms vox tail
./modem73 --ptt com --com-port /dev/ttyUSB0 --com-line rts

Updating

modem73 comes included with a update utility update.sh

To update to the latest version:

./update.sh