Technology1 min read

Mocktastic: A Meshtastic Node on Arduino

By · Published by Everything Blog

In short

Designed primarily for the LilyGO T3 LoRa32 board featuring an SX1276 radio, the project showcases low-level LoRa packet creation and decoding. Developers can configure the software via compile-time options into an interactive serial communication shell or an automated environmental sensor reporter. To streamline development, the core protocol logic is kept independent of device hardware, enabling unit testing directly on a host machine using Doctest. Setup requires importing external libraries for the radio and sensor alongside proper pin definitions.

Key points

  • Mocktastic provides an educational reference for creating and parsing Meshtastic packets…: Mocktastic provides an educational reference for creating and parsing Meshtastic packets within Arduino IDE.
  • The software includes two operational modes tailored for interactive serial messaging or…: The software includes two operational modes tailored for interactive serial messaging or environmental telemetry.
  • Hardware-independent protocol logic allows developers to run host-side unit tests via the…: Hardware-independent protocol logic allows developers to run host-side unit tests via the Doctest framework.

Sources checked by our analysis pipeline: 1

Mocktastic is a small, customizable Meshtastic-compatible LoRa client for ESP32 boards using ArduinoIDE environment. It is an educational and experimental implementation, not a fork of the official Meshtastic firmware. The project demonstrates how to build and decode Meshtastic packets in C++, and includes a working environmental-sensor example.

The firmware has two compile-time modes:

-

DECODER provides an interactive serial shell for receiving, decoding, and sending text messages on configured Meshtastic channels and direct messages.

-

SENSOR turns the board into a DHT22 temperature and humidity sensor. It can send measurements and respond to

/dht

messages on its configured private channel.

The implementation targets the LilyGO T3 LoRa32 V1.6.1 (ESP32-PICO and SX1276) and is intended to be adapted to other compatible ESP32/LoRa hardware.

The project uses MBDTLS for the cryptographic part during the test phase and Nano-Protobuf as a lightweight protobuf encoder. The tests are written using Doctest’s lightweight C++ tests.

The repository root contains meshtastic_decoder/

, which holds the firmware

and host-side tests:

File or directory | Purpose |

---|---|

|

Arduino entry point, board integration, radio setup, and compile-time…

Technology