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
74 lines
1.8 KiB
Markdown
74 lines
1.8 KiB
Markdown
# 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](https://github.com/ryanmalloy/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
|
|
|
|
```bash
|
|
# Build
|
|
pio run
|
|
|
|
# Flash via USB
|
|
pio run -t upload
|
|
|
|
# Monitor serial output
|
|
pio device monitor
|
|
```
|
|
|
|
See [Building](building.md) and [Flashing](flashing.md) for details.
|
|
|
|
## Configuration
|
|
|
|
Edit `platformio.ini` to customize your repeater:
|
|
|
|
```ini
|
|
; ===== 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](serial-commands.md).
|
|
|
|
## OTA Updates
|
|
|
|
The repeater supports wireless firmware updates. See [Flashing](flashing.md#ota-updates).
|
|
|
|
## 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.
|