Author: John Poole
-
An In-House Text-to-Speech Service for ESP32 Projects
Making your ESP32 Talk. YouTuber Dronebotworkshop published a video “Text to Speech on ESP32 – Wit.ai & OpenAI TTS“. “Text to Speech” is often referred to by the acronym TTS. His solution encompasses using third-party services, specifically Meta and OpenAI. For Meta, you have to have an account and you create an application within your…
-
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…
-
Testing Satellite Time Synchronization Across Seven T-Beams
<p>The LilyGO T-Beam Supreme has a real time clock, aka “RTC”, circuit powered by a small hidden rechargeable battery that can hold a charge for 2-3 days. If your T-Beam is without power from A) its larger battery, a 18650 Li-Ion battery or B) a powered USB connector, then your stored date and time value…
-
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…
-
Shaving 8–9 Minutes Off Each Test Cycle
A recent dialog reminded me why having a powerful — and fun — Ryzen 7950-based system is helpful. I’m performing testing of hand-held radio units to see how mesh software, ostensibly Reticulum-based units, perform out in the field. The magic of mesh networks is that it can extend the range limits between two radio units.…
-

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…
-

Reticulum Testing: Seeing the Invisible Transmissions
highly technical I’m testing microReticulum, a C++ implementation of Reticulum. I’ve specifically been testing the LINK and transport mechanism. I have three units: BOB, CY & DAN. While all three units are within broadcast range of one another, I have purposefully caused BOB and CY not to be able to receive each other’s transmissions. This…
-

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…