Meshtastic device firmware
Go to file
Tom Fifield a3e6f16378
Some checks failed
CI / setup (check) (push) Has been cancelled
CI / setup (esp32) (push) Has been cancelled
CI / setup (esp32c3) (push) Has been cancelled
CI / setup (esp32c6) (push) Has been cancelled
CI / setup (esp32s3) (push) Has been cancelled
CI / setup (nrf52840) (push) Has been cancelled
CI / setup (rp2040) (push) Has been cancelled
CI / setup (rp2350) (push) Has been cancelled
CI / setup (stm32) (push) Has been cancelled
CI / version (push) Has been cancelled
CI / build-debian-src (push) Has been cancelled
CI / package-pio-deps-native-tft (push) Has been cancelled
CI / test-native (push) Has been cancelled
CI / docker-deb-amd64 (push) Has been cancelled
CI / docker-deb-amd64-tft (push) Has been cancelled
CI / docker-alp-amd64 (push) Has been cancelled
CI / docker-alp-amd64-tft (push) Has been cancelled
CI / docker-deb-arm64 (push) Has been cancelled
CI / docker-deb-armv7 (push) Has been cancelled
CI / check (push) Has been cancelled
CI / build-esp32 (push) Has been cancelled
CI / build-esp32s3 (push) Has been cancelled
CI / build-esp32c3 (push) Has been cancelled
CI / build-esp32c6 (push) Has been cancelled
CI / build-nrf52840 (push) Has been cancelled
CI / build-rp2040 (push) Has been cancelled
CI / build-rp2350 (push) Has been cancelled
CI / build-stm32 (push) Has been cancelled
CI / gather-artifacts (esp32) (push) Has been cancelled
CI / gather-artifacts (esp32c3) (push) Has been cancelled
CI / gather-artifacts (esp32c6) (push) Has been cancelled
CI / gather-artifacts (esp32s3) (push) Has been cancelled
CI / gather-artifacts (nrf52840) (push) Has been cancelled
CI / gather-artifacts (rp2040) (push) Has been cancelled
CI / gather-artifacts (rp2350) (push) Has been cancelled
CI / gather-artifacts (stm32) (push) Has been cancelled
CI / release-artifacts (push) Has been cancelled
CI / release-firmware (esp32) (push) Has been cancelled
CI / release-firmware (esp32c3) (push) Has been cancelled
CI / release-firmware (esp32c6) (push) Has been cancelled
CI / release-firmware (esp32s3) (push) Has been cancelled
CI / release-firmware (nrf52840) (push) Has been cancelled
CI / release-firmware (rp2040) (push) Has been cancelled
CI / release-firmware (rp2350) (push) Has been cancelled
CI / release-firmware (stm32) (push) Has been cancelled
CI / publish-firmware (push) Has been cancelled
Introduce non-linear TX_GAIN_LORA (#8107)
* Introduce non-linear TX_GAIN_LORA

Previously, our TX_GAIN_LORA setting was a single number, intended
to represent the signal gain going through a power amp (plus or minus
antenna, attenuator, and other parts of the RF chain).

It turns out the relationship between the input power (i.e. from an SX1262)
and total output power is often non-linear. While we fudged a 1dBm difference
here and there with existing chips, the Heltec v4 has a 5dBm difference in gain
depending on which end of the input power (and frequency) you are at.

To allow people to run their Heltec v4 at max power when legal, and future
proof our code, this patch introduced an optional array-based TX_GAIN_LORA.

Define NUM_PA_POINTS and set TX_GAIN_LORA to gain values for a given input
power in 1dBm increments, and all will work.

For linear systems, just continue to define TX_GAIN_LORA as a number.

Fixes https://github.com/meshtastic/firmware/issues/8070

* Remove temporary power limit on heltec v4

* Add function RadioLibInterface::checkOutputPower

* Ensure SX126x reaches minimum supported power.

* Keep it simple, instead.
2025-09-30 08:20:39 +10:00
.clusterfuzzlite Portduino config refactor (#7796) 2025-09-19 08:24:35 -05:00
.devcontainer
.github Allow label enforcement job to run on self-hosted runners (#7909) 2025-09-22 10:23:42 +10:00
.trunk Upgrade trunk (#8118) 2025-09-26 11:17:38 -05:00
.vscode BaseUI Updates (#7787) 2025-09-19 06:59:33 -05:00
arch move SerialConsole to event based trigger 2025-09-24 17:14:14 +02:00
bin Automated version bumps (#8100) 2025-09-24 06:02:55 -05:00
boards Add heltec_v4 board. (#7845) 2025-09-21 07:13:28 -05:00
branding Add customizable boot logo based on resolution (#7146) 2025-07-02 11:53:12 -07:00
data/static
debian Automated version bumps (#8100) 2025-09-24 06:02:55 -05:00
extra_scripts
images
meshtestic@dcac7e5673
monitor
protobufs@082bb7cfeb Update protobufs (#8142) 2025-09-28 07:35:56 -05:00
release
src Introduce non-linear TX_GAIN_LORA (#8107) 2025-09-30 08:20:39 +10:00
test Duplicate 2025-09-09 11:20:27 -05:00
variants Introduce non-linear TX_GAIN_LORA (#8107) 2025-09-30 08:20:39 +10:00
.dockerignore
.env.example
.gitattributes
.gitignore Add customizable boot logo based on resolution (#7146) 2025-07-02 11:53:12 -07:00
.gitmodules
.gitpod.yml
.semgrepignore
alpine.Dockerfile Update Alpine to 3.22 (#6927) 2025-06-08 07:49:24 +10:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
docker-compose.yml
Dockerfile Docker: fix web assets location (#7683) 2025-08-19 14:06:43 -05:00
LICENSE
meshtasticd.spec.rpkg Stop the madness! Run as a user (not root) (#6718) 2025-05-15 06:40:46 -05:00
partition-table-8MB.csv reorganize 8MB partition for MUI devices (#7860) 2025-09-08 05:56:47 -05:00
partition-table.csv
platformio.ini add optional debug logging to see which OSThread / loops have what delays 2025-09-24 17:14:22 +02:00
pyocd.yaml
README.md Update README.md 2025-06-19 20:35:40 -05:00
renovate.json Renovate: Always use master as the base. (#7726) 2025-08-23 10:41:57 -05:00
rpkg.conf
SECURITY.md
suppressions.txt Unify the native display config between legacy display and MUI (#6838) 2025-06-21 06:36:04 -05:00
userPrefs.jsonc Set firmware edition (for events) from userprefs (#7488) 2025-07-28 07:31:33 -05:00
version.properties Automated version bumps (#8100) 2025-09-24 06:02:55 -05:00

Meshtastic Logo

Meshtastic Firmware

GitHub release downloads CI CLA assistant Fiscal Contributors Vercel

meshtastic%2Ffirmware | Trendshift

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

Join our community and help improve Meshtastic! 🚀

Stats

Alt