DOC · PROJECT BRIEF v0.1 2026-07-09 · ZÜRICH STATUS: PHASE 0 — PROCUREMENT FREQ: EU_868

VANMESH_
Camper node & off-grid tracking

Research summary and build plan for a subscription-free camper van hub: Meshtastic LoRa mesh for tracking & alerts, Home Assistant for monitoring & control, internet strictly optional. Working title — rename at will.

[PKT 01 · CONTEXT]

Why this exists

Origin story: a friend's cat went missing in Scotland because the cellular GPS tracker wasn't on the cat. Commercial trackers (Tractive et al.) work but bleed subscription fees and depend entirely on cellular coverage. Meanwhile the VW T2 camper already has solar, a battery bank, and a long wishlist: temperature, battery and charge monitoring, security/break-in alerts, remote-controlled lights and fans, gas/CO awareness.

The thesis: one LoRa/Meshtastic-based hub in the van covers the "few kilometers around camp" radius — which handles ~99% of real scenarios (scared dog hiding in a ditch nearby, kids around the campsite, checking the van from a hike or a restaurant) — with zero subscriptions and no cellular dependency. Internet, when available, is a bonus tier, not a requirement.

North star

The genuinely novel part is LoRa/Meshtastic as the subscription-free remote link. Van sensor hubs exist (Victron ecosystem, countless DIY Home-Assistant-in-a-van builds). Nobody has productized the mesh link well. Everything else is assembly.

Honest constraint

The mesh only reaches as far as the mesh. This is not "check the van from the sofa in Zürich while it's parked in Graubünden" — that gap requires internet (Tier 3). Design target: reliable alerts and queries within a few km of the van, more with hops or elevation.

[PKT 02 · PRIMER]

LoRa primer — the 5-minute version

LoRa is just the radio layer: 868 MHz in Europe, license-free, extremely long range at very low power, tiny bandwidth (bytes, not megabytes). Signals can be reconstructed even below the noise floor. On top of it sit two ecosystems that must not be confused:

LoRaWAN — the infrastructure flavor

Meshtastic / MeshCore — the peer-to-peer flavor CHOSEN

[PKT 03 · RECON]

The Swiss mesh landscape (July 2026)

Verdict: go Meshtastic. Mobile ad-hoc use is exactly what it's built for, friends must run the same firmware and Meshtastic has the bigger user base and friendlier apps, and — decisive — its Home Assistant integration is mature. LIKELY

[PKT 04 · DECISIONS]

Decisions already made

#DecisionRationale
D1No custom app.HA companion app + Meshtastic app cover it. iPad "command central" = HA dashboard in Safari kiosk mode. Custom app is where the project dies.
D2Meshtastic over MeshCore & LoRaWAN.Peer-to-peer, best apps, mature HA integration, biggest community. See PKT 03.
D3Home Assistant as the brain.~80% of the software already exists as open source; our work is config + glue, not app development.
D4In-van sensors on WiFi/ESPHome, never LoRa.Don't use a 10 km radio to cross 4 meters of van. LoRa is the long-haul tier only.
D5Safety sensors (gas/CO) = certified off-the-shelf units HA listens to.DIY safety-critical sensing is a liability wall (CE, RED, product liability) if this ever becomes a product.
D6Cellular is Tier 3, optional.Prepaid LTE stick or campsite WiFi when available; system fully functional without it.
D7Physical backup key stays.Magnetic box under chassis. Lockout scenario usually means the phone is inside the van too — mesh unlock can't be the only path.
D8Open-source kit before any commercial thought.Documented parts list + image + config repo. Reputation, hardening, zero certification headaches.
[PKT 05 · ARCHITECTURE]

Architecture — three tiers

TIER 3 · INTERNET (OPTIONAL) — fat pipe, when available TIER 2 · LORA MESH (EU_868) — km-range, tiny packets, always works TIER 1 · IN-VAN WIFI — short range, fat pipe TAILSCALE remote HA access LTE STICK / WIFI prepaid SIM · campsite PHONE ANYWHERE HA companion app VAN GATEWAY NODE Heltec V3 · USB→Pi roof antenna 868 POCKET NODE T1000-E · hiker DOG / KID T1000-E · collar CAMPER #2 convoy node RF RASPBERRY PI HA · Mosquitto · WiFi AP ESP32 · POWER V/A shunt · shore ESP32 · CLIMATE temp · fan relay ESP32 · SECURITY door · ultrasonic USB serial when online
FIG 1 — Three-tier topology. Tier 2 is the product; Tiers 1 and 3 are commodity assembly.
[PKT 06 · USE CASES]

Use cases

Use caseTierNotes
Dog tracking (Nova) — firework bolt, campsite roaming2T1000-E on collar (Houdini-style 3D-printed clip; printer available). Charge-per-outing workflow — battery is ~18 h reporting, not an AirTag. Finds a running dog nearby, not a dog lost for 6 h in a 20 km radius — cheap cellular tracker stays as insurance.
Convoy tracking — multiple campers on the road2Private channel, every van on the map in the Meshtastic app. Zero infrastructure. 2–10 km van-to-van; expect dropouts behind terrain that self-heal.
Kids/people around camp2Pocket nodes; positions + texting, no cellular.
Van telemetry while hiking — battery, temp, alarm2HA automations → mesh DMs. Query with status, get one compact line back.
Climate/power monitoring & control — fans, heating, lights-before-arrival, solar/shore/battery1(+2/3)ESPHome relays + sensors; iPad dashboard; pre-arrival triggers via mesh or internet.
Security — door/window, ultrasonic presence, arm/disarm1→2Detection in Tier 1, alerting over Tier 2. Certified gas/CO alarms as listen-only inputs (D5).
Remote unlock (lockout aid)1/2Build it because it's cool, but see D7 and the replay-protection note in PKT 11.
[PKT 07 · HARDWARE]

Hardware & BOM

Phase 0 — mesh test kit (~CHF 150–200)

QtyItem~PriceRole
2Heltec LoRa32 V3 (868 MHz)€22 eaFixed nodes: home + office (~3 km LOS test link); later one becomes van gateway
2Seeed SenseCAP T1000-E€40 eaPocket / collar trackers (GPS, IP65, ~30 g)
1Node for Swisscom friend (Heltec V3 or T1000-E)€22–40Third fixed point (~3 km), co-conspirator recruitment

Phase 1–3 — van build (additional ~CHF 250–400)

QtyItem~PriceRole
1Raspberry Pi 4/5 (likely already owned) + SSD0–100HA + Mosquitto + WiFi AP, powered from van battery via buck converter
1Outdoor 868 MHz roof antenna (~3 dBi whip or small fiberglass omni) + short low-loss coaxCHF 20–4080% of mesh performance lives here
3–4ESP32 dev boards + sensors (INA226 or shunt, BME280, reed switches, HC-SR04, relay boards)€5–10 eaTier 1 satellites: power / climate / security
1USB LTE stick + prepaid data SIM~CHF 40Tier 3, optional
1Certified 12 V gas/CO alarm (off-the-shelf)CHF 50–100Listen-only safety input (D5)
Procurement rules

Check amazon.de first (German shipping address available; usually cheaper than Swiss retail). Verify 868 MHz / EU_868 variants — US 915 MHz hardware is useless here. Verify SMA vs RP-SMA on every antenna/pigtail; they look identical and don't mate. Swiss option for pre-flashed nodes: meshnodes.ch.

Total projected build: CHF 400–600 — roughly two years of one Tractive subscription, for an entire smart camper. GUESSING

[PKT 08 · SOFTWARE]

Software stack

LayerChoiceNotes
OS / hostHome Assistant OS on PiSimplest ops; add-on store for Mosquitto etc.
BrokerMosquitto (HA add-on)MQTT backbone for everything
Mesh ↔ HAOfficial Meshtastic HA integration (HACS)Connects to gateway node via USB serial/TCP/BLE; service actions; incoming texts fire meshtastic_api_text_message events for automations; bundled web client; can forward radio → MQTT
In-van sensorsESPHomeDeclarative YAML per satellite; auto-discovery
Power (if Victron)Native Victron Bluetooth integrationsOpen question Q1: if solar is Victron (MPPT / SmartShunt), power monitoring is solved in an afternoon, no soldering
Remote accessTailscaleFree, no subscription, works behind CGNAT LTE
DashboardHA Lovelace, iPad in kiosk modeThe "command central" — no custom app (D1)
Node firmwareMeshtastic, flashed via web browser (Chrome/Brave, USB)Region EU_868; data-capable USB cable required (many are charge-only)
[PKT 09 · PROTOCOL]

Mesh alert vocabulary (draft)

Tier 2 packets are ~200 bytes and airtime is shared — the vocabulary is terse by design. HA automations parse inbound DMs to the gateway node and reply on the same channel. To be refined in Phase 3.

# inbound commands (human → van)
status            → one-line reply, see below
lights on|off     → toggle exterior/interior relay group
heat on|off       → heater relay (with interlock rules in HA)
arm | disarm      → security mode
locate            → van replies with its GPS position packet

# outbound alerts (van → pocket nodes, HA-triggered)
ALARM door 14:32          armed + door opened
ALARM motion 03:11        armed + ultrasonic trip
ALARM gas                 certified alarm relay tripped — highest priority
WARN batt 11.8V           aux battery low threshold
WARN temp 41C             interior high (dog-in-van guard rail)
WARN temp 2C              interior low / frost
OK 12.6V 24C solar+       reply to `status`: batt · temp · charging
Security note

Any actuating command (unlock, heat) must not trigger on a plain channel message. Minimum: direct message + PKC, allow-listed sender node IDs, and replay protection (timestamp/nonce check in the HA automation — community precedent uses RTC + GPS checks for vehicle remote start).

[PKT 10 · ROADMAP]

Phased roadmap

PHASE 0now · ~CHF 150

Mesh test kit

3–4 nodes: home, office (~3 km LOS), friend's place (~3 km), pocket. Flash EU_868, create private channel + PSK, test real-world range in Zürich terrain, learn config quirks. Recruit the Swisscom friend (tech lead, dog owner, dead-cat grudge — ideal co-conspirator; his rooftop is free infrastructure).

Exit criterion: reliable text + position between all three fixed points and the pocket node.

PHASE 1~CHF 150 · one weekend

Van gateway + HA core

Pi with HA OS in the van, gateway node on USB, roof antenna mounted, battery voltage + interior temp sensors. HACS Meshtastic integration installed.

Exit criterion: the statusOK 12.6V 24C solar+ loop works from a pocket node a few km away. This alone beats most commercial camper monitors.

PHASE 2iterative

ESPHome satellites + dashboard

Relays for lights/fan, door reed switch, ultrasonic presence, arm/disarm logic, certified gas/CO alarm as listen-only input, iPad kiosk dashboard. Victron check (Q1) resolved.

Exit criterion: armed van sends ALARM door to pocket node; lights toggle from dashboard and mesh.

PHASE 3road-tested

Tier 3 + vocabulary polish + second install

LTE stick + Tailscale, alert vocabulary hardened (replay protection), Nova collar clip printed, second unit in the friend's camper. Convoy channel tested on a real multi-van trip (Mystic Creatures, September?).

Exit criterion: two vans, two households, one shared map, zero subscriptions.

PHASE 4only if still fun

Open-source kit

Public repo: parts list, HA config, ESPHome YAMLs, flashing guide, antenna notes, STLs. Community hardens it for free. Commercial thoughts only after this — and only for the non-safety-critical parts (D5, D8).

[PKT 11 · RISKS]

Risks, footguns & open questions

Footguns

Risks

Open questions

#QuestionResolves in
Q1Is the T2's solar controller Victron? (If yes: native BT integration, no shunt soldering.)Phase 1
Q2Roof antenna model + mounting (drill vs. glass-mount vs. bracket on existing solar rail).Phase 1
Q3Nova collar: T1000-E + printed Houdini-style clip fit and weight check.Phase 3
Q4Which protocol dominates the local public mesh where we roam (Meshtastic vs MeshCore) — only relevant if we want public-backbone hops.Phase 0
Q512 V power tree: buck converter sizing for Pi + node, fusing, parasitic draw budget.Phase 1
[PKT 12 · HANDOFF]

Notes for Claude Code / repo structure

This document is the project brief. Suggested private repo layout:

vanmesh/
├── README.md                 # distilled from this doc
├── docs/
│   ├── plan.html             # this file
│   ├── decisions.md          # D1–D8, append-only ADR style
│   └── range-tests.md        # Phase 0 field notes: link, RSSI/SNR, terrain
├── homeassistant/
│   ├── configuration.yaml
│   ├── automations/          # mesh vocabulary handlers, alerts
│   └── dashboards/           # iPad kiosk view
├── esphome/
│   ├── power.yaml            # INA226/shunt, shore detect
│   ├── climate.yaml          # BME280, fan relay
│   └── security.yaml         # reed, ultrasonic, arm state
├── meshtastic/
│   ├── channels.md           # channel plan, PSK handling (PSKs NOT committed)
│   └── node-configs/         # exported configs per node, roles pinned
└── hardware/
    ├── bom.md
    └── stl/                  # collar clip, node mounts
[PKT 13 · REFERENCES]

References