Skip to content
gfo974 edited this page May 23, 2026 · 13 revisions

LinKit v4 Core - Firmware Documentation

LinKit v4 Core is a multi-sensor wildlife tracker firmware running on nRF52840 (Nordic Semiconductor). It supports Argos satellite communication (KIM/SMD modules) and LoRaWAN (RAK3172-SiP) for tracking birds and marine animals with configurable sensors, underwater detection, geofencing zones, and low-battery management.

Features

  • GNSS - u-blox M10Q GPS with AssistNow Online/Offline, configurable dynamic models, HDOP/HACC filtering
  • Optional communication:
    • Argos Satellite TX/RX - Pass prediction, legacy, duty cycle, and Doppler modes. Supports KIM2 (CLS) and SMD (Arribada, A+ protocol) modules
    • LoRaWAN - RAK3172-SiP module (Semtech SX1262), OTAA/ABP, EU868 (+ other bands), Class A/B/C
  • Optional sensors:
    • Pressure Sensor - LPS28DFW barometric pressure with altitude computation and configurable full scale (1260/4060 hPa)
    • Accelerometer - BMA400 3-axis with wakeup detection, activity monitoring, configurable measurement range
    • Thermistor - NTC temperature sensor with wakeup threshold
    • Underwater Detection - Saltwater switch (analog with auto-calibration, 5-level detection), pressure-based, GNSS-based
    • Geofencing Zones - Circular zone with out-of-zone detection and alternate Argos configuration
    • Camera - Optional camera trigger on surfaced/accelerometer wakeup events
  • Low Battery Management - Configurable threshold with alternate GNSS/Argos parameters and critical shutdown
  • Dive Mode - Dive state machine with reed switch pause/resume
  • Bird Mortality Detection (RSPB) - Automatic mortality confidence from activity, temperature, and GPS stationarity
  • Configurable Parameters for variety of usage - Read/write via DTE commands over USB/BLE/UART
  • Sensor Data Logging - Per-sensor CSV-formatted flash logs with DUMPD retrieval
  • Sensor Data in TX - Configurable sensor data aggregation (oneshot/mean/median) appended to Argos/LoRa packets

Supported Boards

Board Communication Description
LinkIt V4 KIM Argos (KIM2, UART) Default Argos tracker with CLS module
LinkIt V4 SMD Argos (SMD, SPI) Arribada SMD module with A+ protocol and security
LinkIt V4 LoRa LoRaWAN (RAK3172) Terrestrial LPWAN for gateway-covered areas
RSPB Tracker Argos (SMD, SPI) Bird tracker with TPL5111 duty cycle wakeup

See Board Variants for detailed hardware specs, parameters, and configuration per board.

Hardware

  • MCU: nRF52840 (ARM Cortex-M4F, 1MB Flash, 256KB RAM)
  • SoftDevice: S140 v7.2.0 (BLE 5.0)
  • GPS: u-blox M10Q (UART)
  • Build System: CMake + ARM GCC Toolchain
  • Test Framework: CppUTest

Wiki Structure

Getting started

  1. User Guide - Activate, configure, and deploy your tracker
  2. Developer Quick Start - Build firmware from source
  3. Building the Project - CMake configuration and build options
  4. Programming the Module - Flashing, debugging, DFU

Hardware & Architecture

  1. Board Variants - Hardware specs and configuration per board
  2. DTE Commands Reference - DTE protocol and commands
  3. Firmware Architecture - Code structure and design patterns
  4. Development Guide - Adding parameters, services, sensors

Configuration & Behaviour

  1. Parameters Definition - All configurable parameters and their purpose
  2. Satellite Message Format - Argos & LoRa packet encoding, bit layouts, decoding
  3. LinkIt UW Behavior - Underwater mode + HAULED + cooldown gates
  4. RSPB Bird Tracker - TPL5111 duty cycling, battery modes, mortality detection
  5. SWS Algorithm - SWS analog detection deep-dive + 12 safety mechanisms
  6. Argos TX Modes - All Argos modes + first-TX latency optims + decision guide
  7. Test Checklist - Pre-deployment test checklist for all board variants

Advanced topics — robustness & autofallback (added Plan 1, 2026-05)

  1. Time-based Defenses & RTC Strategy - Virtual RTC, boot-fail counter, exception barriers, cooldown gates — read first for any sealed-deployment debug
  2. SMD Timing Optimizations & Autofallback - FAST vs SAFE, cold-reboot gotcha, runtime autofallback
  3. Rate Limiter - Rolling-window TX cap (RLP01–RLP03)
  4. HAULED-Mode Auto-detection - Animal-stranded detection + comm overrides (HMP00–HMP13)

Clone this wiki locally