Off-grid LoRa mesh messaging for US amateur radio operators. A Part 97-legal fork of MeshCore: plaintext on the air, Ed25519-authenticated, your callsign in every transmitted frame.
⬇ HamCore Open for Android (APK) iPhone via TestFlight ▶ Use in your browser
Pre-built HamCore firmware (build d45db176, SHA-256 sums). Flash the whole image to address 0x0 with ESP Web Flasher (Chrome) or esptool write_flash 0x0 <file>.bin. Other boards: build from source (~87 supported variants).
| Heltec V3 — companion radio (BLE) | download |
|---|---|
| Heltec V3 — repeater | download |
| Heltec V4 — companion radio (BLE) | download |
| Heltec V4 — repeater | download |
HamCore is multi-hop mesh text messaging over LoRa — no internet, no infrastructure — operated under an FCC amateur radio license instead of Part 15. Compared to stock MeshCore:
| Message content | Plaintext — §97.113(a)(4) prohibits obscuring meaning. Ed25519 advert signatures and keyed authentication codes are kept (authentication is permitted). |
|---|---|
| Station ID | An 8-byte callsign trailer on every transmitted frame (§97.119). The radio will not transmit until a valid callsign is configured, and the node name must start with it. |
| Frequencies | Locked to the 33cm (902–928 MHz) and 70cm (420–450 MHz) US amateur bands. Default: 906.875 MHz / BW 250 / SF 10 / CR 4:5. |
| Admin login | An HMAC proof-of-password — the password itself never goes over RF. |
| Compatibility | Not over-the-air compatible with stock MeshCore, by design: the two networks reject each other's frames cleanly. |
KC2KVY or KC2KVY-2). TX stays inhibited until you do.| hamcore | Firmware for companion radios, repeaters, room servers, and sensors. Compliance rationale in HAMCORE.md. |
|---|---|
| hamcore-open | The Android/iOS/desktop app (this APK) — chat, channels, maps, repeater admin. Fork of meshcore-open. |
| hamcore_py | Python library for scripting against a HamCore radio. |
| hamcore-cli | Terminal client (meshcli) over BLE / USB / TCP. |