# meshtastic/firmware

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/meshtastic-firmware).**

6,910 stars · 2,055 forks · C++ · gpl-3.0

## Links

- GitHub: https://github.com/meshtastic/firmware
- Homepage: https://meshtastic.org
- awesome-repositories: https://awesome-repositories.com/repository/meshtastic-firmware.md

## Topics

`esp32` `gps` `heltec` `hiking` `lora` `mesh` `mesh-networks` `meshtastic` `nrf52` `off-grid` `pico` `rp2040` `stm32` `ttgo` `ttgo-tbeam`

## Description

This project is an embedded operating system for creating decentralized peer-to-peer communication networks using long-range radio hardware. It provides an off-grid messaging protocol for transmitting text and GPS coordinates without relying on cellular or internet infrastructure.

The firmware implements a secure communication framework using shared keys and high-grade encryption to protect data transmitted over the air. It includes a LoRaWAN hardware interface to manage radio parameters and an MQTT radio gateway to bridge local mesh traffic to external networks.

The system covers a broad range of capabilities including store-and-forward data routing, remote node administration, and regional radio signal tuning. It supports external client connectivity via Bluetooth, WiFi, or USB, and allows for wireless over-the-air firmware updates across the network.

The project provides programmatic interaction through a Python software development kit and a dedicated command-line interface for automating node configurations.

## Tags

### Networking & Communication

- [Decentralized Messaging](https://awesome-repositories.com/f/networking-communication/decentralized-messaging.md) — Enables decentralized text communication between network members without relying on centralized internet infrastructure. ([source](https://meshtastic.org/docs/))
- [Peer-to-Peer Networking](https://awesome-repositories.com/f/networking-communication/peer-to-peer-networking.md) — Implements a decentralized peer-to-peer network for off-grid text and location data exchange.
- [Peer-to-Peer Networking](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/peer-to-peer-networking.md) — Implements a secure communication framework using shared keys and high-grade encryption for all peer-to-peer traffic.
- [Mesh Networking](https://awesome-repositories.com/f/networking-communication/mesh-networking.md) — Creates long-range wireless data links between low-power radio nodes using a decentralized mesh architecture.
- [Message Routing](https://awesome-repositories.com/f/networking-communication/message-routing.md) — Implements a store-and-forward mechanism to route messages between nodes with hop limits and duplicate detection. ([source](https://meshtastic.org/docs/overview/))
- [Radio Physical Layer Implementations](https://awesome-repositories.com/f/networking-communication/messaging-api-integrations/lora-messaging-integrations/radio-physical-layer-implementations.md) — Implements a LoRa-based physical layer for transmitting small data packets over several kilometers without cellular infrastructure.
- [Store-and-Forward Protocols](https://awesome-repositories.com/f/networking-communication/store-and-forward-protocols.md) — Implements a store-and-forward data routing system for transmitting text and GPS coordinates without internet infrastructure.
- [Store-and-Forward Routing](https://awesome-repositories.com/f/networking-communication/store-and-forward-routing.md) — Implements store-and-forward routing to relay messages between nodes while preventing infinite loops using hop counts.
- [MQTT Messaging Integrations](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/mqtt-messaging-integrations.md) — Provides the ability to bridge local radio mesh traffic to external internet services using the MQTT protocol.
- [Live Location Sharing](https://awesome-repositories.com/f/networking-communication/live-location-sharing.md) — Allows members to broadcast and track geographic GPS coordinates to enable location-aware communication. ([source](https://meshtastic.org/docs/))
- [Mesh-to-External Gateways](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/tunneling/ssh/gateway-bridging/mesh-to-external-gateways.md) — Provides bridging capabilities to forward mesh traffic to external networks via MQTT, Bluetooth, Wi-Fi, or serial connections. ([source](https://meshtastic.org/docs/overview/))
- [Secure Communication Channels](https://awesome-repositories.com/f/networking-communication/secure-communication-channels.md) — Supports traffic isolation into logical groups using shared keys to ensure only authorized nodes decrypt specific messages. ([source](https://meshtastic.org/docs/overview/))
- [Radio](https://awesome-repositories.com/f/networking-communication/transport-bridges/protocol-bridges/radio.md) — Functions as a protocol bridge converting local radio mesh traffic into standardized internet messaging formats via MQTT.

### Hardware & IoT

- [LoRaWAN Interfaces](https://awesome-repositories.com/f/hardware-iot/hardware-device-interfaces/lorawan-interfaces.md) — Manages radio parameters, frequency presets, and signal quality specifically for long-range wireless hardware.
- [Long-Range RF Transmission](https://awesome-repositories.com/f/hardware-iot/long-range-rf-transmission.md) — Supports sending data over several kilometers between nodes using long-range radio technology. ([source](https://meshtastic.org/))
- [Frequency Tuning](https://awesome-repositories.com/f/hardware-iot/radio-frequency-transmitters/frequency-tuning.md) — Allows precise tuning of frequency, bandwidth, and spreading factors to ensure interoperability between radio nodes. ([source](https://meshtastic.org/docs/overview/))
- [Bluetooth Connectivity](https://awesome-repositories.com/f/hardware-iot/bluetooth-connectivity.md) — Provides connectivity for phones and computers to interact with radio hardware via Bluetooth, WiFi, or USB. ([source](https://meshtastic.org/docs/getting-started/))
- [MQTT Bridging](https://awesome-repositories.com/f/hardware-iot/connectivity-iot/internet-of-things/mqtt-bridging.md) — Connects the local radio mesh to the internet by forwarding packets through an MQTT publish-subscribe broker.
- [Over-the-Air Device Updates](https://awesome-repositories.com/f/hardware-iot/over-the-air-device-updates.md) — Supports wireless over-the-air firmware updates to update device software across the mesh network. ([source](https://meshtastic.org/docs/faq/))

### Security & Cryptography

- [End-to-End Encryption](https://awesome-repositories.com/f/security-cryptography/end-to-end-encryption.md) — Implements cryptographic methods ensuring that only authorized recipients can decrypt messages transmitted across the mesh. ([source](https://meshtastic.org/docs/introduction/))
- [Message Encryption](https://awesome-repositories.com/f/security-cryptography/message-encryption.md) — Secures private communications and network traffic across radio nodes using shared-key encryption.
- [Encrypted Mesh Networks](https://awesome-repositories.com/f/security-cryptography/privacy-data-protection/data-encryption/end-to-end-encryption/encrypted-mesh-networks.md) — Provides a decentralized network topology where all node communications are protected by encrypted links. ([source](https://meshtastic.org/docs/))
- [Symmetric Encryption](https://awesome-repositories.com/f/security-cryptography/symmetric-encryption.md) — Secures packet-level data using shared symmetric keys to ensure privacy across the decentralized mesh.

### System Administration & Monitoring

- [Remote Device Management](https://awesome-repositories.com/f/system-administration-monitoring/remote-device-management.md) — Enables wireless configuration of hardware parameters and remote software updates across the mesh network. ([source](https://meshtastic.org/docs/configuration/))
- [Node Management Interfaces](https://awesome-repositories.com/f/system-administration-monitoring/node-management-interfaces.md) — Provides dedicated mobile applications and web-based clients for controlling and configuring radio network devices. ([source](https://meshtastic.org/))

### Data & Databases

- [Serial Command Interfaces](https://awesome-repositories.com/f/data-databases/data-serialization-formats/json-serialization/serial-command-interfaces.md) — Implements a standardized text-based serial protocol for external applications to configure device settings.

### Development Tools & Productivity

- [Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces.md) — Ships a dedicated command-line interface for interacting with device settings and automating node configurations. ([source](https://meshtastic.org/docs/faq/))
- [Python SDKs](https://awesome-repositories.com/f/development-tools-productivity/sdk-integrations/python-sdks.md) — Ships a Python software development kit for programmatic interaction and automation of network configurations. ([source](https://meshtastic.org/))
