Offline first
The network must make sense without Wi-Fi, mobile coverage or mains power.
A GIHC experiment · Offline first · Open in spirit
We are building a mini-mesh node on ESP32 and connecting local hubs with Rust and iroh. It should work in the woods, at camp and on the day the internet does not.
The next step is three physical nodes, one hub and a working offline demo.
01 / Starting point
The goal is not to reinvent the internet. It is to make the first important connections simple, visible and possible to practise.
The network must make sense without Wi-Fi, mobile coverage or mains power.
ESP32 handles the nearby and power-sensitive work. A Linux hub handles heavier synchronisation with iroh.
One node should be able to restart alone. Its history must return when the battery comes back.
02 / The idea
At camp, each participant gets a small node with a screen, a button and a battery. They can send short messages, find checkpoints and record discoveries without a network.
In the evening, a hub collects the history. When connectivity returns, it is passed to another hub through iroh. Every event is signed, cannot be changed unnoticed and can be received again without creating duplicates.
A check-in, a short note or a question for the group.
Checkpoints, clues and discoveries become a physical game with digital memory.
Nodes exchange tokens when participants meet in the real world.
03 / Architecture
iroh is not a battery-powered radio mesh, and ESP32 is not a natural iroh runtime. The layers therefore have different jobs.
ESP32 reads buttons and sensors, shows status and stores a small local queue.
A local Linux machine validates, deduplicates and preserves history without internet.
When two hubs can reach each other, new content is replicated securely and resumably.
Important boundaryThe first version uses a star topology around a hub. Multi-hop routing and LoRa come only after the basic chain is stable.
04 / The prototype
We will not build the whole preparedness network in one evening. We build the shortest path from a button press to a history that still exists tomorrow.
Blink, button, screen and data that survives a restart.
Three nodes send to one hub through ESP-NOW.
Firmware and the Rust hub agree on a compact event format.
Two local hubs exchange history through iroh and survive interruptions.
Not in the first versionReal-time voice, video, images over LoRa or a general-purpose internet mesh. First we need to send a small message all the way home.
05 / The workbook
The direction, risks and next steps live in the project documents. They are written to be used in a workshop and changed when measurements begin.
06 / Join in
Mini-mesh is a project under GIHC. It develops in small iterations and should be explainable, buildable and debuggable by families and curious people together.