---
title: "MeshCom"
url: "https://maker.wiznet.io/matthew/projects/meshcon/"
markdown_url: "https://maker.wiznet.io/matthew/projects/meshcon/md"
type: "UCC: User Created Content"
author: "oe1kbc"
author_url: "https://github.com/icssw-org/MeshCom-Firmware"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "oe1kbc"
original_url: "https://github.com/icssw-org/MeshCom-Firmware"
published: "2026-05-04"
language: "en"
likes: 0
views: 384
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# MeshCom

> MeshCom is a LoRa/APRS off-grid messaging network for amateur radio, extended through W5500/W5100S Ethernet gateways to HAMNET or IP networks.

Original author: oe1kbc (source: https://github.com/icssw-org/MeshCom-Firmware)

## Article

## MeshCom Firmware — LoRa/APRS Off-Grid Mesh Messaging with WIZnet Ethernet Gateway Support

---

## PROJECT DESCRIPTION

## 📌 Overview

![](https://maker.wiznet.io/upload/ckeditor5/1003495806%5F1777884972%2Epng)

MeshCom is a firmware project for building an **off-grid text messaging network for amateur radio operators**. It uses LoRa radio modules and APRS-style messages to exchange short text, position reports, status data, weather data, and telemetry even when normal communication infrastructure is unavailable. The README describes MeshCom as a low-energy, cost-effective, text-based communication tool using LoRa modulation and the APRS protocol in the 70 cm band.

This is not just a simple LoRa chat example. Each node is identified by an amateur radio callsign and optional SSID. Messages can be sent to all nodes or directly to a specific callsign. Some nodes can also operate as gateways to HAMNET or the Internet, and each node can act as a repeater for other MeshCom messages over the air.

MeshCom is especially relevant to **Emergency Communication (EMCOM)**. In disaster, blackout, or infrastructure failure scenarios, a low-power LoRa mesh combined with HAMNET or Internet gateways can extend communication coverage beyond a single local radio group. The README explicitly points to emergency communication during disasters and blackouts as an important use case.

---

## 📌 Features

**LoRa-based off-grid mesh communication**
MeshCom’s primary communication layer is LoRa radio. The README lists regional frequencies such as 433.175 MHz for several regions, and documents LoRa parameters including SF 11, 250 kHz bandwidth, and coding rate 4/6.

**APRS-style message structure**
MeshCom 4.0 uses the APRS protocol reference for source, destination, digipeater, and payload data. Text messages, position reports, weather messages, and telemetry data are handled within this message structure.

**Callsign-based node identity**
Each node is identified by an amateur radio callsign and optional SSID. Messages can target all nodes or a specific callsign, and direct messages can use end-to-end acknowledgement.

**Gateway and repeater operation**
A MeshCom node can operate as a standard mesh node, a repeater, or a gateway to HAMNET or Internet-connected message infrastructure. This allows local LoRa-only networks to be bridged into wider messaging networks.

**Position, status, weather, and telemetry reporting**
Nodes can automatically send status and position messages. Nodes with sensors can also periodically send weather or telemetry data.

**Wide hardware support**
The README lists many supported LoRa hardware platforms, including TTGO T-Beam, Heltec LoRa boards, T-Deck, RAK4631, Ebyte E22, and T-ETH-ELITE variants across ESP32, ESP32-S3, and nRF52840 families.

---

## 📌 System Architecture

![](https://maker.wiznet.io/upload/ckeditor5/1003495806%5F1777884985%2Epng)

MeshCom can be understood as a combination of **LoRa mesh nodes, optional gateway nodes, and an external IP-side message bridge**.

A regular node sends and receives MeshCom packets over LoRa. Received messages can be shown on a small OLED display, a BLE-connected smartphone or tablet, or a USB serial console. The node can also repeat messages for other nodes, helping the mesh extend coverage over the air.

A gateway node adds IP connectivity. It can forward LoRa-side traffic to an external UDP server over HAMNET or the Internet, and it can also receive UDP messages from that external side and re-inject them into the LoRa mesh. In the nRF52 Ethernet implementation, incoming UDP packets are parsed by indicators such as `GATE`, `CONF`, and `BEAT`; `GATE` packets are treated as LoRa packets to be transmitted, while `CONF` and `BEAT` are used for configuration and heartbeat handling.

There is also an external UDP JSON interface. `extudp_functions.cpp` converts LoRa/APRS messages into JSON and sends them to an external UDP destination. It also receives external JSON messages and converts them back into MeshCom messages for LoRa transmission. The code path supports Wi-Fi, Ethernet, and RAK13800 Ethernet environments through conditional handling.

In short, MeshCom is not only a LoRa messaging firmware. It is also designed to act as a **bridge between local LoRa mesh networks and wider IP-based message networks**.

---

## 📌 Role and Application of the WIZnet's Chip

**WIZnet products used: W5500 / W5100S**

In this project, WIZnet chips provide the **wired Ethernet interface for MeshCom gateway nodes**. A normal MeshCom node can exchange messages over LoRa, but an Ethernet-enabled node can connect that LoRa mesh to HAMNET or Internet-side UDP services.

For the ESP32-S3-based **T-ETH-ELITE_1262** variant, Ethernet is explicitly enabled with `HAS_ETHERNET`, and W5500 pin mapping is defined in the board configuration. The configuration file assigns CS, INT, RST, SCLK, MISO, and MOSI pins for the W5500 while also defining the LoRa SX1262-related settings.

The ESP32 Ethernet implementation initializes Ethernet using `ETH_PHY_W5500` and passes the W5500 CS, INT, RST, and SPI pins to `ETH.begin()`. It then supports either static IP configuration or DHCP. If DHCP fails, it falls back to a local IP configuration. UDP is started on `EXTERN_PORT`, and `sendUDP()` / `checkUDP()` handle external UDP communication.

For nRF52840 / RAK4631-based builds, the project uses the **RAK13800 Ethernet Shield**, which is based on WIZnet W5100S. The nRF52 Ethernet code includes `RAK13800_W5100S.h`, and PlatformIO lists `https://github.com/icssw-org/RAK13800-W5100S` as a dependency for nRF52 Ethernet support.

In practical terms, W5500 and W5100S turn a LoRa-only MeshCom node into an **IP-connected gateway node**. The LoRa radio handles local off-grid communication, while WIZnet Ethernet provides the wired path to HAMNET or Internet-based UDP services.

---

## 📌 Implementation Notes

The ESP32 Ethernet path uses `ETHClass2` and `EthernetUDP`. In the T-ETH-ELITE variant, PlatformIO pulls in `ETHClass2` and the Arduino Ethernet library, and defines the `BOARD_T_ETH_ELITE` build flag.

`EspETH::initethDHCP()` initializes W5500 Ethernet and then chooses between static configuration and DHCP mode. If a fixed IP is configured, gateway, subnet, and DNS settings are applied. Otherwise, the firmware tries DHCP. If DHCP fails, the code falls back to `192.168.4.1`.

The nRF52 Ethernet implementation uses `Ethernet.begin()` for DHCP or fixed IP and checks Ethernet link status. On UDP receive, a `GATE` message is converted into a LoRa packet, a `CONF` message updates settings such as callsign, shortname, and position information, and a `BEAT` message is used as a server heartbeat.

The external UDP JSON path converts received LoRa/APRS messages into JSON for external systems, and also turns incoming JSON commands into MeshCom messages for LoRa transmission. This makes it easier to connect MeshCom to external dashboards, servers, or gateway services.

---

## 📌 Market & Application Value

MeshCom is closer to an **amateur radio, citizen science, emergency communication, and low-power mesh networking platform** than to a consumer messaging product.

The most direct use cases include:

emergency text communication during disasters or blackouts

low-power mesh networking for outdoor or remote areas

amateur radio position and status exchange

weather and telemetry reporting from remote nodes

gateway operation between LoRa mesh and HAMNET/IP networks

APRS-style experimentation and integration

Ethernet-enabled gateway nodes are especially valuable because they extend the reach of the LoRa network. When a local MeshCom radio network is connected to HAMNET or an IP network, messages can move between MeshCom networks that are not directly connected by radio. The README describes this gateway concept as a way for separated MeshCom radio networks to communicate through HAMNET-connected gateways.

It is also important to note the amateur radio context. The README states that MeshCom use cases should respect Amateur Radio Service rules, including non-commercial and experimental operation. So this should be understood as an amateur-radio and citizen-science communication platform, not a commercial messaging service.

---

## 📌 External Indicators

This repository is not a single-board proof of concept. It is a broad firmware project with many supported boards and build targets. The PlatformIO configuration includes ESP32, ESP32-S3, T-Deck, Heltec, TTGO T-Beam, RAK4631, T-ETH-ELITE_1262, and several other environments.

The README also documents firmware flashing, OTA update, NVS erase, ESP32/ESP32-S3 flash addresses, and RAK4631 UF2 update methods. This suggests that the project is intended for real users and field updates, not only for lab experimentation.

The hardware ID table also lists many LoRa board generations, which shows that MeshCom is evolving across multiple amateur radio hardware platforms rather than targeting only one board.

---

## 📌 WIZnet Strategic Value

![](https://maker.wiznet.io/upload/ckeditor5/1003495806%5F1777885025%2Epng)

In this project, WIZnet chips are not used for a simple web server or TCP demo. W5500 and W5100S are used as **gateway interfaces between LoRa mesh and IP networks**.

MeshCom’s core value is off-grid LoRa communication, but wider coverage requires a bridge to HAMNET or Internet-connected infrastructure. WIZnet Ethernet provides a wired and predictable network path for those gateway nodes. This is especially useful for fixed amateur radio stations, club stations, and emergency communication sites where stable wired connectivity is preferred.

This makes MeshCom a strong example of WIZnet Ethernet being used as a **backhaul interface for low-power wireless mesh networks**. LoRa handles the local radio side, while WIZnet Ethernet connects the mesh to external IP-based services.

---

## 📌 Summary

MeshCom Firmware is a project for building an off-grid amateur-radio messaging network using LoRa and APRS-style messages. Each node is identified by a callsign, can exchange text, position, status, weather, and telemetry data, and can operate as a repeater or gateway.

WIZnet chips support MeshCom gateway operation. ESP32-S3 T-ETH-ELITE variants use W5500 Ethernet, while nRF52/RAK4631 builds use the RAK13800 W5100S Ethernet shield. Through this Ethernet path, a MeshCom node can connect the LoRa mesh to HAMNET or Internet-side UDP networks.

Ultimately, this project shows how LoRa mesh and WIZnet Ethernet can work together: LoRa provides local off-grid radio coverage, while WIZnet Ethernet provides the gateway path to wider IP-based message networks.

---

## 📌 FAQ

**Q1. What is MeshCom?**
MeshCom is an off-grid text messaging network for amateur radio, using LoRa and APRS-style messages.

**Q2. When is this project useful?**
It is useful for emergency communication, disaster or blackout scenarios, outdoor activities, amateur radio experiments, and low-power position/status reporting.

**Q3. What does the WIZnet chip do?**
W5500 or W5100S provides wired Ethernet for MeshCom gateway nodes, allowing LoRa mesh traffic to connect to HAMNET or Internet-side UDP services.

**Q4. Where is W5500 used?**
W5500 is used in the ESP32-S3 T-ETH-ELITE_1262 variant. The configuration defines W5500 Ethernet pins, and the code initializes Ethernet using `ETH_PHY_W5500`.

**Q5. Where is W5100S used?**
W5100S is used through the RAK13800 Ethernet Shield in the nRF52 / RAK4631 Ethernet implementation.

**Q6. Is MeshCom a commercial messaging product?**
No. The README states that MeshCom should follow Amateur Radio Service rules, including non-commercial and experimental operation.

---

Source: https://maker.wiznet.io/matthew/projects/meshcon/
