From 38323823b85b2ae8deef788a0f49e36c789c12f4 Mon Sep 17 00:00:00 2001 From: Luke Hoersten Date: Sun, 26 Jul 2026 10:36:29 -0500 Subject: openhop/repeater: add MeshCore repeater role Deploys the openHop MeshCore repeater on a Raspberry Pi with a RAK6421 WisMesh Pi HAT: installs the daemon into a venv from a versioned git tag, templates config.yaml and a systemd unit, and loads board pin maps and RF region presets by name from vars/. identity_file is configurable and defaults to null (daemon generates its own keypair). --- openhop/repeater/vars/boards/rak6421-slot1.yaml | 15 +++++++++++++++ openhop/repeater/vars/boards/rak6421-slot2.yaml | 15 +++++++++++++++ openhop/repeater/vars/rf/eu.yaml | 12 ++++++++++++ openhop/repeater/vars/rf/us.yaml | 11 +++++++++++ 4 files changed, 53 insertions(+) create mode 100644 openhop/repeater/vars/boards/rak6421-slot1.yaml create mode 100644 openhop/repeater/vars/boards/rak6421-slot2.yaml create mode 100644 openhop/repeater/vars/rf/eu.yaml create mode 100644 openhop/repeater/vars/rf/us.yaml (limited to 'openhop/repeater/vars') diff --git a/openhop/repeater/vars/boards/rak6421-slot1.yaml b/openhop/repeater/vars/boards/rak6421-slot1.yaml new file mode 100644 index 0000000..464a194 --- /dev/null +++ b/openhop/repeater/vars/boards/rak6421-slot1.yaml @@ -0,0 +1,15 @@ +--- +# RAK6421 WisMesh Pi HAT — RAK13302 (SX1262 + 1W SKY66122 FEM) in SLOT 1. +# Source: meshtastic/firmware bin/config.d/lora-RAK6421-13302-slot1.yaml +repeater_sx1262_bus_id: 0 # spidev0.0 +repeater_sx1262_cs_id: 0 # CE0 (BCM 8) +repeater_sx1262_cs_pin: 8 +repeater_sx1262_reset_pin: 16 +repeater_sx1262_busy_pin: 24 +repeater_sx1262_irq_pin: 22 # DIO1 +repeater_sx1262_use_dio3_tcxo: true +repeater_sx1262_dio3_tcxo_voltage: 1.8 +repeater_sx1262_use_dio2_rf: true +repeater_sx1262_txen_pin: 12 # SKY66122 FEM enable (verify TX vs RX) +repeater_sx1262_rxen_pin: 13 # SKY66122 FEM enable (verify TX vs RX) +repeater_sx1262_is_waveshare: false diff --git a/openhop/repeater/vars/boards/rak6421-slot2.yaml b/openhop/repeater/vars/boards/rak6421-slot2.yaml new file mode 100644 index 0000000..71a5fb9 --- /dev/null +++ b/openhop/repeater/vars/boards/rak6421-slot2.yaml @@ -0,0 +1,15 @@ +--- +# RAK6421 WisMesh Pi HAT — RAK13302 (SX1262 + 1W SKY66122 FEM) in SLOT 2. +# Source: meshtastic/firmware bin/config.d/lora-RAK6421-13302-slot2.yaml +repeater_sx1262_bus_id: 0 # spidev0.1 +repeater_sx1262_cs_id: 1 # CE1 (BCM 7) +repeater_sx1262_cs_pin: 7 +repeater_sx1262_reset_pin: 24 +repeater_sx1262_busy_pin: 19 +repeater_sx1262_irq_pin: 18 # DIO1 +repeater_sx1262_use_dio3_tcxo: true +repeater_sx1262_dio3_tcxo_voltage: 1.8 +repeater_sx1262_use_dio2_rf: true +repeater_sx1262_txen_pin: 26 # SKY66122 FEM enable (verify TX vs RX) +repeater_sx1262_rxen_pin: 23 # SKY66122 FEM enable (verify TX vs RX) +repeater_sx1262_is_waveshare: false diff --git a/openhop/repeater/vars/rf/eu.yaml b/openhop/repeater/vars/rf/eu.yaml new file mode 100644 index 0000000..11fca12 --- /dev/null +++ b/openhop/repeater/vars/rf/eu.yaml @@ -0,0 +1,12 @@ +--- +# MeshCore EU 863-870 MHz preset. +# WARNING: every node on your mesh MUST share identical frequency / bandwidth / +# spreading_factor / coding_rate. Confirm these against your local +# MeshCore EU community settings, and respect the sub-band duty-cycle / +# power limits before deploying. +repeater_frequency_hz: 869525000 # 869.525 MHz +repeater_bandwidth_hz: 250000 +repeater_spreading_factor: 11 # 7-12 +repeater_coding_rate: 5 # 5-8 +repeater_preamble_length: 32 +repeater_tx_power_dbm: 14 # keep within the chosen EU sub-band limit diff --git a/openhop/repeater/vars/rf/us.yaml b/openhop/repeater/vars/rf/us.yaml new file mode 100644 index 0000000..e20b1c6 --- /dev/null +++ b/openhop/repeater/vars/rf/us.yaml @@ -0,0 +1,11 @@ +--- +# MeshCore US 902-928 MHz preset. +# WARNING: every node on your mesh MUST share identical frequency / bandwidth / +# spreading_factor / coding_rate. Confirm these against your local +# MeshCore US community settings before deploying. +repeater_frequency_hz: 910525000 # 910.525 MHz +repeater_bandwidth_hz: 250000 +repeater_spreading_factor: 11 # 7-12 +repeater_coding_rate: 5 # 5-8 +repeater_preamble_length: 32 +repeater_tx_power_dbm: 22 # SX1262 register max; SKY66122 boosts to ~1W -- cgit v1.2.3