Skip to content

Hacking HaLow idea #19

@samuk

Description

@samuk

I had an idea to do some playing with HaLow and your codebase

Key Hardware & Software References:

Hardware: Xiao Wi-Fi HaLow Carrier (3-0067) – An open-source carrier board by Rob Carey that integrates the Morse Micro MM8108 HaLow module. This would be paired with Adafruit QT-py ESP32-S3

Drivers: esp-halow-examples – Rob Carey's software scaffolding that bridges the Morse Micro SDK with the ESP-IDF environment.

Networking: microReticulum – A C++ port of the Reticulum stack designed specifically for microcontrollers.

Ideas in some kind of order

To move this from a concept to a working node, the workflow involves "stripping back" existing IP-based examples.

1. The Scaffold (ESP-IDF)

The foundation must be built in ESP-IDF v5.1.1 to ensure compatibility with the Morse Micro binary libraries. Using Rob Carey's examples, the first milestone is to verify the SPI communication between the QT Py S3 and the MM8108 radio. This handles the complex radio timing and firmware loading automatically.

2. The Native Bridge

Instead of using standard Wi-Fi networking (TCP/IP), the goal is to integrate microReticulum as a native ESP-IDF component. By bypassing the lwIP stack, Reticulum can use the HaLow radio as a direct transport.

Raw Frames: Reticulum packets are wrapped directly into 802.11ah frames.
Efficiency: Bypassing UDP/IP headers reduces airtime and increases mesh performance.

Phase 2: The 433MHz Dual-PHY Concept

Once the HaLow backbone is operational, the concept expands into a Multi-Interface Hub by "hanging" a secondary 433MHz LoRa module (such as an SX1278) off the same device.

The Hybrid Mesh Idea:

Hardware Architecture: The LoRa module shares the hardware SPI bus (D8, D9, D10) with the HaLow carrier but uses a separate Chip Select (CS) and Interrupt pin.

Redundancy: Reticulum treats the two radios as distinct paths

The Backbone: The HaLow link acts as the high-speed "backhaul," allowing the node to handle more traffic than would be impossible over standard LoRa mesh.

A LLM helped me write this, so might all be nonsense does it seem somewhat possible?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions