Ryan Malloy dbed318124 Initial commit: Heltec V3 MeshCore repeater
Standalone PlatformIO project using MeshCore as a library.

Features:
- Heltec LoRa32 V3 support (ESP32-S3 + SX1262)
- OLED display integration
- OTA firmware updates via WiFi
- Serial CLI for configuration

Uses symlinked MeshCore library from ../MeshCore
2026-01-25 12:15:15 -07:00

1.8 KiB

Heltec V3 MeshCore Repeater

A standalone MeshCore repeater project for the Heltec LoRa32 V3 board.

Overview

This project builds a LoRa mesh repeater using the MeshCore library. The repeater:

  • Forwards mesh packets between nodes
  • Displays status on the onboard OLED
  • Supports OTA (Over-The-Air) firmware updates
  • Provides a serial CLI for configuration

Project Structure

repeater/
├── platformio.ini      # Build configuration
├── src/
│   ├── main.cpp        # Entry point
│   ├── MyMesh.cpp      # Repeater mesh logic
│   ├── MyMesh.h
│   ├── UITask.cpp      # Display handling
│   ├── UITask.h
│   └── RateLimiter.h
└── docs/               # Documentation

Quick Start

# Build
pio run

# Flash via USB
pio run -t upload

# Monitor serial output
pio device monitor

See Building and Flashing for details.

Configuration

Edit platformio.ini to customize your repeater:

; ===== CUSTOMIZE THESE =====
-D ADVERT_NAME='"RPM Repeater"'    ; Name shown to other nodes
-D ADVERT_LAT=0.0                   ; GPS latitude
-D ADVERT_LON=0.0                   ; GPS longitude
-D ADMIN_PASSWORD='"password"'      ; Admin password for CLI
-D MAX_NEIGHBOURS=50                ; Max tracked neighbors

Serial Commands

Connect at 115200 baud to access the CLI. See Serial Commands.

OTA Updates

The repeater supports wireless firmware updates. See Flashing.

Hardware

  • Board: Heltec WiFi LoRa 32 V3 (ESP32-S3 + SX1262)
  • Display: 128x64 SSD1306 OLED
  • Radio: SX1262 LoRa @ 910.525 MHz (US default)

Dependencies

This project uses MeshCore as a symlinked library from ../MeshCore. Ensure that directory exists.