MOSAIC Alpha

Operator path

Getting started

Alpha software for licensed amateur experimenters. You are the control operator. Do not transmit outside your authorization.

Install

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip

# from this site tree
python -m pip install downloads/mosaic_hf-0.1.0a1-py3-none-any.whl

# or from a source checkout
python -m pip install .

# optional HF sound-card path
python -m pip install "mosaic-hf[audio]"

python -c "import mosaic_hf; print(mosaic_hf.__version__)"
mosaic-hf --help

UHF operator station (recommended)

Primary entry point: tools/mosaic_modem.py. Live receive starts with --execute. Transmit stays inhibited until you arm it in the UI or with /tx on.

# List SDRs
python tools/mosaic_modem.py devices

# Station with radio-engineer panel at http://127.0.0.1:8088/
python tools/mosaic_modem.py \
  --callsign VE6SLP --ssid 1 \
  --peer VA6GA-2 \
  --radio bladerf-hackrf \
  --profile uhf-live \
  --frequency-hz 431200000 \
  --fpga hostedx115-latest.rbf \
  --txvga2-db 10 \
  --execute --ui-port 8088 --human-events

Open the printed operator panel URL. Use Enable TX only when you intend to radiate. Defaults favour continuous demod keep-up (uhf-live search grid, pipelined decode workers, backlog cap).

Keyboard without the browser

python tools/mosaic_modem.py ... --execute --operator-stdin --human-events --ui-port 0

# then type:
/help
/to VA6GA-2
/tx on
CQ CQ DE VE6SLP-1
/tx off

Or attach a KISS console to port 8001: python tools/mosaic_console.py --port 8001.

HF audio path (transceiver)

python tools/mosaic_hf_audio.py devices
python tools/mosaic_hf_audio.py loopback --device <index> --text "VE6SLP TEST"
python tools/mosaic_hf_audio.py receive --input-device <index> --seconds 30 --continuous

Use the HF audio profile for rig sound cards. Drive stays capped so SSB ALC does not splatter. Single-user is the alpha claim; multi-user under fading is not.

Safety

  • TX is fail-closed until explicitly armed.
  • bladeRF on-air requires the pinned FPGA bitstream and modest txvga2 (≤10 in this lab programme).
  • Never direct-connect TX to RX without attenuation.
  • HF multi-user under ionospheric fading is not an alpha claim.
  • Packet airtime sets the QSO floor (~2.6 s UHF, ~40 s HF), even when the demod keeps up with the RF stream.