🍁

MeshCore Canada

← Home
Technical White Paper · v2.0 · March 2026 · Confidential

MeshCore Canada
Emergency Alert System

Resilient last-mile emergency alerting via LoRa mesh radio — delivering government alerts to communities when cellular, internet, and broadcast infrastructure fail.

📍 13 Provinces & Territories · 52 Cities 📡 915 MHz LoRa · MeshCore Firmware 🔒 Alert Ready / CAP-CP Compatible 💰 $0/month Baseline Infrastructure

Executive Summary

Canada's emergency alert infrastructure has a critical single point of failure: every public alerting channel — wireless push, broadcast TV/radio, and internet apps — depends on functioning telecommunications. During major earthquakes, large-scale power outages, or catastrophic weather events, these networks are often the first to fail. The 2022 Rogers outage took down cellular and internet for 12 million Canadians for 19 hours, leaving emergency call centers unreachable and Alert Ready wireless delivery completely non-functional.

MeshCore Canada bridges this gap: a cloud-hosted platform ingests 35+ official government alert feeds (Alert Ready, Environment Canada, AMBER, NRCan Earthquakes, PTWC Tsunami, provincial EMOs) and relays alerts to community LoRa mesh repeater stations over 915 MHz radio — technology that operates without any commercial infrastructure. A companion digital display kiosk provides public situational awareness, with local advertising revenue funding the volunteer repeater network sustainably.

📡 Mesh is for emergencies only. ONLY E-COM alerts and authorised test messages are pushed via MeshCore radio. Advertising is NEVER transmitted over the mesh — ads are exclusive to the digital display channel.

System Architecture

Tier 1 · Data Ingestion
  • Alert Ready / NAAD CAP
  • Environment Canada CAP-CP
  • NRCan Earthquakes JSON
  • AMBER Alert Canada
  • PTWC Tsunami RSS
  • CNSC Nuclear Safety
  • Provincial EMOs ×13
  • Wildfire Services ×4
  • 511 Road / Air Quality
Tier 2 · Cloud Platform
  • Vercel Serverless (Node.js)
  • PostgreSQL — Neon
  • 1-min Cron alert polling
  • CAP-CP XML deduplication
  • Province-level routing
  • Socket.IO long-polling
  • Admin + Operator portals
  • Digital display engine
Tier 3 · Radio Delivery
  • 915 MHz ISM · license-free
  • 2–15 km range per hop
  • Multi-hop mesh routing
  • Battery / solar capable
  • TCP · Serial · BLE connect
  • No internet required
  • ~$30 CAD per node
  • Autonomous relay post-rx

Implemented Features

Multi-Feed Alert Ingestion35+ RSS/CAP/JSON feeds. Deduplication by content hash + DB lookup. 15s polling on critical feeds.
MeshCore Radio IntegrationTCP, USB Serial, Web Bluetooth BLE. Binary protocol: RESP_SENT, RESP_DEVICE_INFO, RESP_PUSH_RECEIVED.
Geographic TargetingCity + province routing. Flood scopes: local / regional / national / custom. No alert fatigue.
Digital Display KioskNormal: ad rotation + live weather + ticker. Emergency: full red screen, EAS tones, TTS (read twice), 30s countdown.
Live Network Map🟢 Online+Radio · 🟡 Portal only · 🔴 Offline · 🟣 Advert heard · ⚫ No operator. 15s refresh. Dot flicker guard.
Battery & Uptime TelemetryRESP_DEVICE_INFO LiPo mV→% conversion. 30s heartbeat. Cold-start guard prevents map dot disappearing.
Advert Node DetectionRESP_PUSH_RECEIVED (0x63) parses node name + GPS. Purple dot on all maps, auto-expires 24h after last hearing.
Admin PortalRole hierarchy: Main Admin · Province Sub-Admin · City Operator. Webhook manager, device management, operator approvals.
Ticket System3-tier auto-escalation: City → Province → National. Email notifications at each tier with 24h SLA tracking.
Payment DistributionStripe CAD. Ledger with per-order splits. Standard 80/20 or provincial 70/20/10. Full payout history.
Bilingual EN/FRAuto-switches to French for QC operators. Centralized lang.js dictionary. Alert Ready CAP-CP bilingual parsing.
Zero-Downtime UpgradesStateless serverless API + no-cache headers + Import/Export backup system. Rolling Vercel deploys cause zero downtime.

Alert Source Integration

PrioritySourcePollCoverage
CriticalAlert Ready NAAD CAP Feed15sNational
CriticalPelmorex AMBER Alert Canada15sNational
HighNRCan Earthquakes Canada · PTWC Tsunami · CNSC Nuclear30–60sNational
HighEnvironment Canada CAP Alerts30sNational
MediumProvincial EMOs ×13 · ECCC Weather Warnings ×1360sPer Province
MediumWildfire Services (BC/AB/ON/QC) · 511 Road · Air Quality120sPer Province

Deduplication: in-memory hash (60 min) + DB lookup for same-source title within 30 min. CAP-CP XML parsed for severity, urgency, bilingual text, and geographic targeting. Direct NAAD streaming client (naadStreamClient.js) is included as a placeholder — activation reduces latency to <5s and requires the Alert Ready Distributor Agreement with Pelmorex Corp.

Security & Deployment

LayerControl
AuthJWT 24h · bcrypt cost-10
TransportTLS/HTTPS — Vercel edge
Rate limiting1000 req/15min per IP
HTTP headersHelmet.js: HSTS, XSS, nosniff
Cron endpointCRON_SECRET constant-time compare
Rolesmain_admin / sub_admin / user
Radio txUnencrypted by design — any MeshCore device receives alerts. No PII in alert content.
ComponentCost
Vercel Serverless API$0/mo
Neon PostgreSQL (0.5 GB)$0/mo
Vercel Cron (1-min)$0/mo
SSL · CDN · Domain$0/mo
Open-Meteo weather API$0/mo
Heltec LoRa32 v3 node~$30 CAD (one-time)
Baseline total$0/month

LoRa 915 MHz operates under ISED RSS-210 (unlicensed ISM, max 1W ERP). Configured at 22 dBm (158 mW) — well within limits. Not a broadcaster under CRTC 2014-444. Alert content is not modified; accuracy liability rests with the originating government authority.

Roadmap

v2.0
✓ Live
Full platform deployed: Alert ingestion · Operator + Admin portal · Kiosk display · Local server · Ticket system · Payments · Bilingual EN/FR · Map stability + battery telemetry · Sub-admins · Advert node detection · Advert GPS plotting.
v2.1–2.2
▶ Q2 2026
NAAD streaming client (reduces latency <5s) · ECCC AMQP real-time push · Bilingual CAP-CP alerts · Mobile app (React Native) — receive alerts on phone via FCM/APNs · Operator earnings dashboard · Indigenous language support.
v2.3–2.4
Q3–Q4 2026
Two-way MeshCore messaging (operator status reporting) · Multi-admin provincial delegation · Meshtastic compatibility bridge · USA expansion: FEMA IPAWS · NOAA/NWS · AMBER USA (NCMEC) · 50-state feeds · FCC onboarding · USD billing · State/County/City admin tier · EN/ES bilingual.
v3.0
◇ 2027–28
Satellite backhaul (Starlink/Iridium fallback — true offline server) · P25/APCO first responder interop · White-label municipal deployments · AI alert triage & dedup · Mexico expansion (CONRED/PC) · Certified MeshCore Canada hardware kit · Open standard contribution.

Conclusion

System Highlights

  • 35+ official Canadian government alert sources
  • 13 provinces & territories · 52 cities pre-configured
  • 15s polling on critical AMBER/earthquake feeds
  • TCP + Serial + Bluetooth device connections
  • $0/month baseline cloud infrastructure
  • ~$30 CAD per radio node (Heltec LoRa32 v3)
  • Zero-downtime upgrade architecture
  • Open source — fully auditable & modifiable

Technology Stack

  • Node.js 20 LTS + Express.js · Vercel serverless
  • PostgreSQL 16 — Neon · Pool with cold-start guard
  • Socket.IO HTTP long-polling (Vercel-compatible)
  • MeshCore 915 MHz LoRa firmware
  • Web Bluetooth API — BLE device pairing
  • Web Audio API — EAS-style emergency tones
  • Web Speech API — TTS alert reading
  • Open-Meteo — free weather, no API key

MeshCore Canada is deployable today at zero recurring cost, using commodity hardware, open-source software, and free cloud services. A single administrator can manage a province-wide network of volunteer operators, each responsible for their city's radio coverage — creating an emergency communications backbone that survives the very disasters it is designed to warn about.

Repeater operators, municipalities, and emergency management organizations are invited to join the network at ecommesh.live. US expansion partners being onboarded for Q3 2026.