mirror of
https://github.com/meshtastic/firmware.git
synced 2026-11-07 06:44:33 -05:00
ebda44c677dacaca40e7ba4491e35e2de6107da2
Each environment satellite held a full meshtastic_EnvironmentMetrics, 304 B for 38 optional fields, of which a real sensor sets a handful. At the nRF52 cap of 40 that is ~12 KB of heap holding about 1 KB of data. Store the encoded bytes instead (~15-40 B per entry) and decode on read: copyNodeEnvironment() keeps its signature. The save writes the stored bytes straight out as the entry's environment_metrics, so nodes.proto is unchanged; the load packs each decoded entry. hasNodeEnvironment() becomes a key lookup, and MemAudit counts the real blob sizes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Overview
This repository contains the official device firmware for Meshtastic, an open-source LoRa mesh networking project designed for long-range, low-power communication without relying on internet or cellular infrastructure. The firmware supports various hardware platforms, including ESP32, nRF52, RP2040/RP2350, and Linux-based devices.
Meshtastic enables text messaging, location sharing, and telemetry over a decentralized mesh network, making it ideal for outdoor adventures, emergency preparedness, and remote operations.
Get Started
- 🔧 Building Instructions - Learn how to compile the firmware from source.
- ⚡ Flashing Instructions - Install or update the firmware on your device.
Join our community and help improve Meshtastic! 🚀
Stats
Languages
C++
73.5%
C
21.8%
Python
2.6%
Shell
1.5%
Batchfile
0.2%
Other
0.2%
