Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FireLord Sensor Network Platform

FireLord is an open hardware reference for low-cost, peer-to-peer sensor meshes. The repository captures mechanical models, firmware helpers, PCB files, and planning artifacts produced during an Alaskan field concept so future teams can reuse or adapt the design.


Intended Audience

  • Municipal and resource agencies that need rapidly deployable sensor coverage.
  • Community groups and educators building inexpensive environmental monitors.
  • Integrators evaluating FireLord as a foundation for broader sensing programs.

Repository Map

Path Contents
device-firmware/ Arduino-oriented helpers for sensor sampling and LoRa communication.
device-case/ 3D models, print notes, and assembly guidance for the field enclosure.
pcb-and-schematics/ KiCad project for the carrier board and custom footprints.
cosmos-firelord/ OpenC3 COSMOS stack with the FireLord LoRa plugin, Docker compose, and bridge config for a base-station FireLord node over USB serial.

System Overview

  1. Field nodes collect local sensor data, flag anomalies, and rebroadcast peer packets.
  2. Base stations are FireLord nodes flashed in base-station mode (no sensors, receive-only) that log every packet over USB serial and forward data when backhaul is available.
  3. Optional cloud services expose data to stakeholders or downstream tooling.

The mesh design keeps infrastructure light: any node can relay data, and a single active base station is sufficient.


Quick Start

  1. Review the operating targets below (range, duty cycle, enclosure limits) and adjust for your field conditions.
  2. Select components from the baseline bill of materials; plan on roughly $75 per node at 100-unit scale.
  3. Manufacture or print hardware following the subsystem READMEs.
  4. Load the firmware scaffold, confirm sensor and LoRa links, and tailor packet contents.
  5. Deploy nodes so each device reaches two peers or a base station, then validate end-to-end logging.

Use the risk guidance below while planning; the most common issues are supply delays, isolated nodes, and inadequate solar input.


Operating Targets

  • Peer-to-peer LoRa range: design for non-line-of-sight coverage of at least 500 m between nodes; verify in your terrain.
  • Reporting cadence: transmit sensor packets no less frequently than every 60 s unless power constraints dictate a longer interval.
  • Receive availability: keep the radio in a ready state to forward peer traffic continuously.
  • Data bandwidth: maintain ≥ 1.2 KB/s (9600 baud) for device-to-device links.
  • Power: average receive-ready draw ≤ 100 mW with duty-cycled heaters; energy storage provided by supercapacitors only.
  • Mechanical envelope: keep external dimensions within 200 mm per axis to fit the reference enclosure.
  • Environmental durability: target IP55 ingress protection and verified operation down to −30 °C for at least 30 min.
  • Radio spectrum: operate in the regional sub-GHz LoRa band (e.g., 902–928 MHz in North America) with a fixed-length header and byte-structured frame format.
  • Bill of materials: $75 per node is achievable at 100-unit quantities using the parts listed below.

Deployment Notes

  • Topology: Maintain overlapping coverage; document approved node spacing before field work.
  • Placement: Mount above snow or vegetation, shield cables from wildlife, and orient vents downward.
  • Backhaul: Configure the base station to cache indefinitely; cloud transfer is optional.
  • Operations: Schedule inspections ahead of seasonal activities (e.g., controlled burns or tourism peaks).

Ground Operations (COSMOS)

  • Use cosmos-firelord/ to run OpenC3 COSMOS locally and view the LORA target. Update .env secrets before exposing ports beyond localhost.
  • Bridge a base-station FireLord node (USB serial) to COSMOS with the provided profile: ./openc3.sh cli bridge openc3-cosmos-lora/bridge.txt write_port_name=/dev/ttyACM0 baud_rate=115200 router_port=2950. The plugin instance expects host.docker.internal:2950.
  • Base-station firmware emits DATA <nodeId> <ver> <ts> <tempCx100> <humidity> <co2> <pressure> <voc> <smoke> <flags> on every validated packet; COSMOS tooling can key off that stable line alongside the [RX] log. Nodes are TX-only; no COSMOS commands defined.
  • Container lifecycle: ./openc3.sh run to start, ./openc3.sh stop to halt; see cosmos-firelord/README.md for rebuild and reload steps.

Hardware Snapshot

Component Key details Mount style Unit cost (USD, 2-unit qty) Remarks
LoRa module (Reyax RYLR998) 3.3 V P2P radio Through-hole module 16.90 Ships on a carrier with 2.54 mm headers; can be socketed or wired directly without reflow.
MCU (Seeeduino XIAO SAMD21) Arduino-compatible controller Castellated SMD 5.40 Hand-solderable to the XIAO footprint; DIP adapters are available if you prefer header pins.
CO₂/temp/humidity sensor (Sensirion SCD40) I²C environmental sensing LGA SMD 17.95 Use a breakout like the SparkFun SEN-18360 when avoiding reflow.
CO sensor (MQ-7) Analog gas sensor Through-hole 5.65 Duty-cycle the heater to save power.
Pressure sensor (NXP MPL115A2) I²C barometer LGA SMD 4.75 Choose a breakout (Adafruit 992 or similar) if assembling without reflow.
Smoke sensor (DFRobot SEN0570) Analog particle indicator Module w/2.54 mm header 4.90 Mount behind vent mesh.
VOC sensor (DFRobot SEN0566) Analog VOC indicator Module w/2.54 mm header 4.90 Co-locate with smoke sensor.
Supercapacitor (Tecate TPLH-2R7-800) 2.7 V 800 F storage Radial through-hole 17.50 (each) Use two in series with balancing.
Base-station node (FireLord in BASE_STATION_MODE) USB-powered receive-only gateway Onboard 5.40 + radio Same hardware as field nodes; flash with BASE_STATION_MODE=true and omit sensors.
Solar panel (Seeed 1 W) 5 V nominal, 1 W Leaded 11.95 Size array for local insolation.
Connectors, cabling, misc. JST harnesses, fasteners Through-hole / pre-crimped ~10.00 Include spare gaskets and glands.

Estimated total: ≈ $75 per field node at 100-unit scale. Choosing breakout boards for the SMD-only sensors raises cost slightly but simplifies assembly when reflow is unavailable.


Power Profile

  • 283 mW: receive-ready state with high-draw sensors active.
  • 116 mW: duty-cycled average with smoke/VOC heaters at 5 % duty.
  • 600 mAh equivalent storage supports ~7 h at peak load and ~17 h at averaged load.

Adjust sampling cadence, heater duty cycles, or panel capacity to meet local endurance goals.


Risk Summary

Theme Mitigation
Part delays Order early, maintain alternates, record substitutions.
Node isolation Pre-survey install sites, document minimum spacing, train field crews.
Power loss Site panels in clear sun, inspect seasonally, log low-voltage events.
Sensor drift Implement firmware sanity checks; schedule recalibration windows.
Base station downtime Provide backup power and confirm local logging before field work.

Document mitigations and revisit them seasonally to keep deployments stable.


Extending the Platform

  • Add routing intelligence, adaptive transmit power, or health beacons for larger meshes.
  • Integrate SMS, dashboard, or API publishing pipelines.
  • Incorporate soil probes, weather stations, or perimeter sensors.
  • Package sensor pods for quick swap service.
  • Expand packet signing or integrity checks for regulated deployments.

Prototype Artifacts

  • Work breakdowns and PERT charts outline the original build sequence.
  • Firmware helpers (I2C_COMMS, UART_COMMS) provide safe defaults for sensor and radio access.
  • Mechanical CAD documents enclosure iterations and tolerance tests.

Use these as reference when creating production-ready variants.


System Characteristics

  • Operating profile: LoRa P2P mesh at 915 MHz (example: SF7, 125 kHz BW, CR 4/5, 10 dBm) with receive-ready nodes and 60 s sampling. Packets are fixed-length (23 bytes payload + CRC32) with flag bits for outliers and a rolling CRC buffer to block duplicates.
  • Performance targets: ≥ 500 m NLOS hops, ≥ 1.2 KB/s link budget (9600 baud), IP55 enclosure, −30 °C for 30 min, and < 200 mm mechanical span. Power: 283 mW RX-ready with heaters on; ≈116 mW average at 5 % heater duty. 600 mAh-equivalent storage yields ~7 h peak or ~17 h average runtime. BOM ≈ $75 per node at 100-unit quantities.
  • Radio and payload: Example initialization uses AT, AT+MODE=TEST, AT+TEST=RFCFG,…, AT+TEST=RXLRPKT; UART_COMMS::p2pTxHex waits for +TEST: TX DONE. Payload layout mirrors device-firmware/FireLordNode suggestions (version, device ID, timestamp, temperature, humidity, CO₂, CO, pressure, smoke, VOC, flags, CRC32).
  • Electronics: KiCad carrier hosts a Seeeduino XIAO (I²C, UART, analog), Reyax/Wio-E5 radio, and connectors for SCD40, MPL115A2, MQ-7, smoke, and VOC sensors. Supercapacitor pads include balancing; test pads expose 3.3 V, ground, UART TX/RX, and reset. Footprints favor hand assembly; run ERC/DRC, then generate Gerbers and pick-and-place before fab.
  • Firmware behavior: Samples I²C sensors via I2C_COMMS, analog after heater warm-up, validates ranges, packages the frame, records CRC history, and transmits through UART_COMMS. Bench mode seeds data when sensors are absent. Power practices include MOSFET-controlled heaters, RTC/low-power sleep, and voltage checks to gate TX.
  • Enclosure and assembly: device-case contains Fusion 360, STEP, 3MF, and OpenSCAD sources. Print with PETG/ASA/PC, 0.2 mm layers, ≥ 3 perimeters, 20 % infill; gaskets in TPU or 2 mm silicone. Assembly sequence: seat gasket, mount PCB on M3 standoffs, route solar/antenna through glands with strain relief, close lid diagonally, add vent mesh. Use conformal coating and desiccant; vents should face down. Heat/flame resistance is not provided.
  • Deployment and validation: Maintain overlapping node coverage, mount above vegetation/snow, shield cables, and cache packets indefinitely at the base-station node on USB serial. Validation steps: pre/post I²C scans, LoRaE5::ping(), inspect TX/RX/FWD serial logs (including DATA …) for delivery, and record hop counts during field trials. Revisit risk mitigations seasonally (supply, isolation, power, sensor drift, base-station uptime).
  • Extension paths: OTA or signed updates, adaptive routing/TX power, cloud/API publishing, additional sensors (soil, weather, perimeter), antenna/housing variants, and SMA with controlled impedance for external antennas.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages