Category: Reticulum
-
Reticulum 1.3.7 vs. My 1.3.5 Protocol Specification
Since no specification exists for the Reticulum protocol, I previously undertook to derive a specification from the Mark Qvist implementation. See A Reticulum Protocol Specification, Extracted from the Implementation (“Specification”). When I did so several weeks ago, I was working against Reticulum version 1.3.5. In source control parlance, that means the Specification I created is…
-
Reticulum: Finding The Definitive Source
<h1>Where, oh where, is the current Reticulum source of truth?</h1> <p>Currently the Reticulum protocol is accepted as defined within the Python code implementation created by Mark Qvist. There is no formal specification for the Reticulum protocol. Hence the protocol is derived from Mark’s Python source tree. The question I faced: where can I obtain the current…
-

Reticulum: A Precision Trace Among 7 Nodes
What actually happens inside a Reticulum mesh running over LoRa when two endpoints cannot communicate directly? I built a seven-node testbed using LilyGo T-Beam SUPREME units named AMY, BOB, CY, DAN, ED, FLO, and GUY. AMY and GUY exchange one encrypted “Hi” message per minute, while software-defined radio blocks force their traffic through the other…
-
Achieving 166 µs Clock Synchronization Across 7 T-Beams
After much effort, I finally achieved running 7 T-Beams for 17 minutes, and having them create internal clocks based on satellite pulse per second, aka “PPS”, and finding they spanned by 166 µs. One hurdle I had to overcome was a physical one: 1) the top of the T-Beam contains the GPS antenna which is…
-

Simulating A Mesh Network For Reticulum Testing
<h1>Introduction</h1> <p>This article discusses radio transceivers that employ the <a href="https://reticulum.network/">Reticulum</a> protocol. The Reticulum protocol defines the structure of bytes that are transmitted via radio, Ethernet, Bluetooth, and other forms of communication. Here, I’m addressing LoRa radio protocol only. Radio transceivers using Reticulum and its LoRa interface listen for and transmit radio signals which carry…
-

A Reticulum Protocol Specification, Extracted from the Implementation
<p data-start="2791" data-end="3113">I undertook an effort to guide OpenAI’s Codex into creating a specification document for the Reticulum protocol. I had learned that, in practice, Reticulum’s “protocol” is treated more as a reference implementation: the code tree is the embodiment of the protocol, and there is no separate defining specification document.</p> <p data-start="3118" data-end="3167">Long story…
-
Reticulum on Rust: Comparison Of Two Projects
<p><strong><span style="color: #ff0000;">highly technical</span></strong></p> <p>There are two projects that came to my attention where the Reticulum implementation is built using the Rust programming language. I know very little Rust, but I have been impressed with everything so far. Scott Lamb of the <a href="https://github.com/scottlamb/moonfire-nvr">Moonfire NVR</a> project has been suggesting I learn Rust since 2018, and…
-

Creating A Specification After the Fact Using AI
Introduction Protocol specifications are normally written before independent implementations are attempted. The specification is the common contract: it tells each implementer what must be sent, what must be accepted, what may be rejected, and what behavior is expected. Reticulum and LXMF present a different problem: much of the “protocol” must be inferred from a working…
-

Herding T-Beam Cats
Highly technical, but written for those who are blessed with curiosity Introduction I’m testing microReticulum, a C++ implementation of the Reticulum protocol developed by Chad Attermann, on 7 LilyGo T-Beam SUPREMEs. The T-Beams use the ESP32-S, a game-changing small processor. I’ve built an elaborate testing bench which I wanted to document should someone in the…
-
Bluetooth Signal Strength Testing
<p>Now that I have Bluetooth working with Reticulum on the T-Beam, I have the option of testing my Reticulum mesh using Bluetooth instead of Lora. Were I using LoRa, I would have several people walking the neighborhood in an expanding circle fashion so that each node can only reach one other node. This requires having…