Technical Information

This page contains technical details for advanced users, developers, and those who want to understand the technology deeply. If you're just getting started, check out our Getting Started guide instead.

MeshCore Architecture

What is MeshCore?

MeshCore is an open-source C++ library and firmware that enables multi-hop packet routing over LoRa radios. It's designed as an alternative to Meshtastic with a focus on simplified routing and battery efficiency.

Node Roles

MeshCore uses fixed roles to optimize network performance:

  • Companion Nodes: Do not repeat messages from other users. This prevents adverse routing paths and conserves battery for mobile/personal devices.
  • Repeater Nodes: Relay messages for all users. Typically deployed in fixed, high locations with permanent power or solar.

This role-based architecture balances network coverage with power efficiency and routing simplicity.

Multi-Hop Routing

Messages automatically route through intermediate nodes to reach distant destinations. MeshCore implements multi-hop packet forwarding with configurable hop limits to prevent infinite loops and network flooding.

Node Discovery

Unlike Meshtastic's automatic discovery, MeshCore uses on-demand discovery: nodes only appear when they send advertisements. This reduces radio chatter and power consumption but requires patience when joining the network.

LoRa Technology

Radio Specifications

  • Frequency: 915 MHz (US), unlicensed ISM band
  • Modulation: LoRa (Chirp Spread Spectrum)
  • Bandwidth: Configurable (125 kHz, 250 kHz, 500 kHz)
  • Spreading Factor: SF7-SF12 (trade-off between range and data rate)
  • Coding Rate: 4/5, 4/6, 4/7, 4/8 (forward error correction)
  • Output Power: Typically 20-22 dBm (100-158 mW)

Range Considerations

LoRa range depends on many factors:

  • Line-of-Sight: 5-15+ miles possible in ideal conditions
  • Urban/Suburban: 0.5-3 miles typical with buildings and obstacles
  • Elevation: Higher placement dramatically improves range (Fresnel zone clearance)
  • Antenna: Quality and placement matter more than transmit power
  • Terrain: Hills, trees, and buildings block or reflect signals
  • Weather: Rain and humidity can reduce range slightly

Data Rate & Airtime

LoRa is optimized for range, not speed:

  • Typical data rate: 0.3 - 5.5 kbps (varies with spreading factor)
  • Good for: Text messages, location data, sensor readings
  • Not suitable for: Voice, video, large file transfers
  • Duty cycle limits: FCC regulations limit transmit time to manage interference

Power Consumption

  • Sleep mode: ~100 μA (microamps)
  • Receive mode: ~10-15 mA
  • Transmit mode: ~120-140 mA at full power
  • Battery life: Days to months depending on message frequency and battery size

Hardware Platforms

Compatible Devices

MeshCore works with almost all Meshtastic-compatible hardware:

  • Heltec: WiFi LoRa 32 V3, Wireless Stick, Wireless Stick Lite
  • RAK Wireless: RAK4631 (nRF52 + SX1262), RAK11200 (ESP32)
  • TTGO/LilyGO: T-Beam, T-Echo, T-Deck
  • DIY: Custom ESP32 + SX126x/SX127x boards

Check the official flasher for the complete compatibility list.

Recommended Hardware Features

  • Screen: Helpful for monitoring without phone (OLED or E-ink)
  • GPS: Enables location sharing and repeater positioning
  • Battery connector: For portable/mobile use
  • External antenna connector: Allows antenna upgrades for better range
  • Enclosure compatibility: Consider weatherproofing for outdoor deployment

Regional Configuration

US Recommended Settings

The "US Recommended" preset optimizes for US regulations and typical use cases:

  • 915 MHz frequency band (ISM)
  • Appropriate spreading factor for range/battery balance
  • FCC-compliant transmit power and duty cycle
  • Channel hopping within allowed frequencies

MeshCore vs Meshtastic

Key Differences

Feature MeshCore Meshtastic
Node Discovery On-demand (via advertisements) Automatic
Node Roles Fixed (Companion vs Repeater) Configurable routing behavior
Routing Simplified multi-hop More complex routing options
Community Size Smaller, growing Larger, established
Development Active Very active
Hardware Same devices Same devices
Switching Easy - just reflash firmware

When to Choose MeshCore

  • You prefer simplified routing and role-based architecture
  • Battery life is a top priority
  • You want to experiment with an alternative approach
  • You're building a planned network with designated repeaters

When to Choose Meshtastic

  • You want automatic node discovery
  • You need more advanced routing features
  • You want access to a larger community and more documentation
  • You prefer more frequent updates and feature additions

Development & Customization

Building from Source

If you want to modify MeshCore or build custom firmware:

  1. Clone the repository: git clone https://github.com/meshcore-dev/MeshCore
  2. Install PlatformIO IDE or CLI
  3. Select your target board in platformio.ini
  4. Build: pio run
  5. Upload: pio run --target upload

See the repository README for detailed build instructions.

Example Applications

The MeshCore repository includes several example implementations:

  • Companion Radio: Bluetooth-connected personal node
  • Simple Repeater: Standalone relay node
  • Room Server: Hub for local services
  • Secure Chat: Encrypted messaging implementation

Network Planning

Optimal Repeater Placement

  • Elevation: Higher is almost always better (rooftops, hills, towers)
  • Line-of-Sight: Visual line-of-sight to other repeaters improves reliability
  • Coverage Gaps: Identify areas with no coverage and place repeaters accordingly
  • Redundancy: Multiple paths between areas improve network resilience
  • Power Access: Consider solar + battery for remote locations
  • Weather Protection: Outdoor repeaters need weatherproof enclosures

Antenna Considerations

  • Stock antennas: Usually adequate for testing and short range
  • Upgraded antennas: 5-8 dBi gain antennas can double effective range
  • Directional antennas: Yagi or patch antennas for point-to-point links
  • Omnidirectional: Better for general coverage and mobile use
  • Antenna height: Every meter of height significantly improves range

Additional Resources