Details
Details
Apply updates the running settings (radio settings take effect immediately); Save writes them to flash. Saved config and key survive firmware updates (firmware 0.5.0 or later); export a copy anyway. Settings marked * must match on both boards, as must the link key.
The board records the link hour by hour (up to four days; kept across resets from firmware 0.14.0). Firmware 0.4.0 or later.
Table view
For the install: with the gate board at its final spot and both antennas mounted, ping the other board for a few minutes and judge the link margin both ways. Needs the link up (Peer verified: yes). The ping card pauses while it runs. To aim an antenna first, tick the ping card's every 3 s and watch its margin as you move it.
Each row is what that board received. Margin: dB above the spreading factor's demodulation limit; 10th pct: 90 % of pings had at least this. Good from 15 dB, fair from 10 dB, and poor if more than 5 % of pings (and at least 2) go unanswered.
—
Every frame is authenticated with HMAC-SHA256 using a shared 128-bit key. Both boards must have the same key. The key is write-only; it can't be read back from a board, but each board reports its key id, which tells keys apart without revealing them: when both boards show the same id, they hold the same key.
Generate a key once, save an encrypted backup (keep its passphrase in a password manager), write the key to this board, then connect the other board, restore or paste the same key and write it there: both boards then show the same key id. Generate the install's key from a local copy of this page or with tools/gatelink.py key gen; see key management for when to replace it.
Connect the board to update, or start with it in its bootloader (press reset twice quickly; the LED fades in and out). Role, config and key stay on the board (firmware 0.5.0 or later). If an update fails, the board stays in its bootloader: flash again.
Factory reset erases this board’s settings and link key and restores the defaults; set its role and key again afterwards. Export its config first (Config → Export JSON).
Developer
Re-transmits this board's last frame verbatim. The peer must reject it (its replay counter goes up), unless it was a message it already ACKed, in which case it only re-sends the ACK.
Its inputs and relays as it reads them now, and a relay test.