Meshtastic APK+

2.7.9v FW+ v27

Alternatywna wersja firmware dla urządzeń Meshtastic skupiająca się na statystykach, eksperymentalnych rozwiązaniach routingu i większej kontroli radia
Pliki firmware
lp Sprzęt Wersja bazowa Czas od wydania Firmware ESP32 (bin) Factory ESP32 (bin) Firmware NRF (zip) Firmware NRF (uf2) Komentarz
1 T-Beam 2.7.9 0d 1h 21m update firmware - bin - -
2 T-Beam S3 Core 2.7.9 0d 1h 21m update firmware - bin - -
3 Heltec V3 2.7.9 0d 1h 21m update firmware - bin - -
4 Heltec Wireless Papper 2.7.9 0d 1h 21m update firmware - bin - -
5 RAK4631 2.7.9 0d 1h 21m - -
6 TLORA_V2_1_1P6 2.7.9 0d 1h 21m update firmware - bin - -
7 Heltec Wireless Tracker 2.7.9 0d 1h 21m update firmware - bin - -
8 Heltec WSL V3 2.7.9 0d 1h 21m update firmware - bin - - w razie problemów użyj heltec-v3
9 T-echo 2.7.9 0d 1h 21m - -
10 T114-v2 2.7.9 0d 1h 21m - -
11 Tracker T1000e 2.7.9 0d 1h 21m - -
12 ESP32 DIY V1 2.7.9 0d 1h 21m update firmware - bin - -
13 LILIGO T-LoRA T3-S3 2.7.9 0d 1h 21m update firmware - bin - -
14 NRF52 PROMICRO DIY V1 TCXO 2.7.9 0d 1h 21m - -
15 NRF52 PROMICRO DIY V1 XTAL 2.7.9 0d 1h 21m - -
16 RP2040 LORA 2.7.9 0d 1h 21m update firmware - bin - -
17 RAK KILLER v2 2.7.9 0d 1h 21m - -
18 Station G2 2.7.9 0d 1h 21m update firmware - bin - -
19 Seeed Xiao S3 2.7.9 0d 1h 21m update firmware - bin - -
20 T-DECK 2.7.9 0d 1h 21m update firmware - bin - -
21 Heltec Vision Master e213 2.7.9 0d 1h 21m update firmware - bin - -
22 Hydra 2.7.9 0d 1h 21m update firmware - bin - -

pozostałe? należy skompilować samemu

  • 1. wejdź na flasher.meshtastic.org
  • 2. wybierz sprzęt z list device
  • 3. obok "Select Firmware Version" kliknij ikonkę i wskaż plik firmware (uwaga na wersje FACTORY! czytaj niżej!)
  • 4. rozpoczać flashowanie zgodnie z procedurami

  • 1. Wgranie z resetem przez flasher.meshtastic.org może być niemożliwe, powoduje błędy.
  • 2. użyć esptool.exe --baud 921600 write_flash -z 0x0 firmware.factory.bin
  • 3. wersja firmware.factory nie czyści pamięci node, spokojnie.
  • 4. esptool znajdziesz tutaj https://github.com/espressif/esptool
  • Więcej na stronie oficjalnej

  • 1. Wgranie z resetem przez flasher.meshtastic.org jest niemożliwe, powoduje błędy. Masz dwa wyjścia:
  • 2a. użyć esptool.exe --chip esp32 --port COM3 --baud 921600 write_flash -z 0x10000 firmware.bin
  • 2b. esptool znajdziesz tutaj https://github.com/espressif/esptool
  • 3a. wgrać poprzez flasher.meshtastic.org oficjalne fw z full erase, a dopiero później wgrać firmware.bin jako aktualizacja (nie factory)
  • Więcej na stronie oficjalnej

  • firmware.factory.bin to "pełny" obraz startowy – zawiera bootloader, tabelę partycji (i zwykle ota_data) plus samą aplikację. Nadaje się do pierwszego flashowania albo gdy układ/układ partycji się zmienił. Dzięki temu urządzenie prawie zawsze wstaje.

    Dziwne, factory.bin nie resetuje node? Tak – to prawidłowe zachowanie i wynika z tego, jak Meshtastic buduje obraz firmware.factory.bin i jak działa bootloader ESP32: firmware.factory.bin jest "self-contained", zawiera bootloader, tabelę partycji, ota_data i samą aplikację pod odpowiednimi offsetami, ale nie zawsze ma pełny obraz całej pamięci flash – np. nie zawiera NVS (non-volatile storage, gdzie są ustawienia Meshtastica, kalibracja Wi-Fi, pary kluczy itp.). Dlatego wgrywając go wprost na 0x0, nadpisujesz bootloader+partitions+app, ale nie kasujesz całego flasha (NVS i inne partycje zostają, jeśli nie robisz erase_flash).

    Dopisek FACTORY dotyczy kompletności obrazu a nie ustawień
  • firmware.bin to sama aplikacja (partycja "app", zwykle offset 0x10000). Działa tylko wtedy, gdy w pamięci jest już właściwy bootloader i zgodna tabela partycji (np. po wcześniejszym wgraniu "factory" lub przy aktualizacji OTA). Jeśli układ partycji/bootloader nie pasuje – node nie startuje albo wpada w boot-loop.

  • 1. użyć esptool.exe --chip esp32 erase_flash

  • 1. Prawdopodobnie doszło do uszkodzenia plików konfiguracyjnych na samym node
  • 2. pozyskaj narzędzie esp_tool
  • 3. zrób backup kluczy! zrób backup wszystkich istotnych ustawień (najlepiej ręcznie i gdzieś na boku)
  • 4. wyczyść cały flash node podłączając się po USB i używając polecenia "espool erase_flash" (dla esp32), dla NRF potrzeba wgrać specjalny plik czyszczący (ikonka kubła na flasher.meshtastic.org, 3 krok)
  • 5. wgraj firmware, przywróć ustawienia

  • Ustawiając ten tryb blokujesz propagacje informacji o statustach tekstowych węzłów, żądaniach OnDemand które są lekkie i rzadko używane, pakietach sterujących routingiem, administracji FW+ czyli wszystkich rzeczy które daje FW+/APK+.

Zmiany?

13.09.2025 r.

- FW+ wersja 27, bazowa wersja 2.7.9
- Storage & Forward (S&F): aktywne dostarczanie DM (wiadomości prywatnej, unicast, od-do) - celem jest zwiększenie skuteczności dostarczania wiadomości prywatnych w sieci.
- Serwer S&F przejmuje custody (przejęcie odpowiedzialności za dostarczenie) wiadomości prywatnej (DM), odsyła ACK do nadawcy i próbuje dostarczyć ją do węzła docelowego.
- Retry z nowym ID (tylko przy ponowieniach). Gdy dostarczenie nie powiedzie się przez deduplikację na kliencie (to samo (from,id)), serwer przy kolejnych próbach nadaje pakiet z nowym ID (treść pozostaje zaszyfrowana, źródło i metadane zachowane). Może to wpłynąć na korelację w statystykach, ale znacząco zwiększa skuteczność dostarczania.
- Handover między serwerami S&F: Jeśli po drodze jest inny serwer S&F, przejmie on custody i dalej spróbuje dostarczyć wiadomość (unikamy równoległych prób dzięki sygnałom custody).
- Broadcast bez custody. S&F nie "posiada" broadcastów; wykonuje co najwyżej pojedynczy, grzeczny re‑emit i udostępnia historię na żądanie.
- Poprzednio S&F działało wyłącznie pasywnie i "na żądanie"; teraz umożliwia aktywne, niezawodne (w miarę możliwości) dostarczanie DM w sieci.
- Rozwiązanie rozwojowe i eksperymentalne, wymaga dalszych testów i analizy.

06.09.2025 r.

- FW+ wersja 25, bazowa wersja 2.7.9
- Routing: zwiększony współczynnik uczenia się tras NextHop
- Routing: aktywne uczenie się tras podczas wyzwalania traceroute
- OnDemand: zabezpieczenie przed potencjalnym przepełnieniem bufora listy nodów

05.09.2025 r.

- FW+ wersja 24
- Routing: uczenie pasywne NextHop będzie brać pod uwagę tylko węzły bezpośrednie.
- Ograniczenie nadawania pozycji (skalowane), NodeInfo z 1h na 3h (bez skalowania), NeighborInfo dodatkowy czas skalowany. Musimy ograniczać broadcasty/flood gdzie to możliwe. Stawiamy na routing i unicasty.

04.09.2025 r.

- FW+ wersja 22
- Routing: dodano pasywne uczenie NextHop na podstawie traceroute (RouteDiscovery, sniff pasywny). Nasz węzeł od teraz pasywnie analizuje trasy i ruch w sieci aby szybciej konwergować swoją tabelę routingu; mniej floodingu, szybsza konwergencja.
- OnDemand zwraca tabelę routingu NextHop do wglądu. Wejdź w detale węzłą, odnajdź "+ OnDemand" i zarequestuj tabelę routingu.
- NextHop posiada TTL (czas ważności trasy). Proaktywne odpytywanie węzłów (traceroute) o ekspansyjnym zakresie w przypadku gdy tabela NextHop jest przedawniona w znacznym stopniu (np. brak ruchu w sieci, brak isotnych informacji o pakietach i sąsiadach). Pozwala to uniknąć problemów z dostarczaniem pakietów kierowanych do konkretnego węzła (problem pierwszej wiadomości).

03.09.2025 r.

- FW+ wersja 20
-
Oportunistyczny flooding router; przystawka dla routingu opóźniająca rebroadcast pakietów zaleznie od SNR, liczby hopów, geolokalizacji oraz wielkości sieci. Dotyczy tylko pakietów BROADCAST (publiczne, nie unicastowe tylko OD-DO). W skrócie: zamiast “wszyscy naraz”, mamy “kto ma sens, niech powtórzy pierwszy”. Włączona domyślnie. Ocena skuteczności tego rozwiązania przyjdzie z czasem po zebraniu danych z eteru.
- Obsługa i konfiguracja dodana do APK+ w zakładce Firmware+ config
- Ograniczenia nadwania telemetrii, znaczne opóźnienia względem dużej sieci np. (telemetria: 50 nodów = 1h45min, 200 nodów = 13h) więcej
- Usprawiony Next-Hop routing: Pasywne DV‑ETX (Distance Vector + Expected Transmission Count) dla unicastów uczy się najlepszych tras na podstawie realnych dostaw (ACK/Reply) i jakości łącza (SNR->ETX). Gdy trasa jest świeża i "pewna", unicast idzie jednym łańcuchem next‑hopów; gdy nie ma pewnej trasy, automatyczny fallback do floodingu zapewnia dostarczenie i jednocześnie "uczy" nową trasę. więcej

02.09.2025 r.

- FW+ wersja 18
- OnDemand, możliwość zwrócenia listy nodów o bezpośrednim połączeniu (DIRECT)(opcja zwrócenia wszystkich nodów pozostała)
- OnDemand, zwrócona lista nodów posiada od teraz informacje o geolokalizacji

01.09.2025 r.

- FW+ wersja 17
- OnDemand, zwracanie listy nodów o bezpośrednim połączeniu (DIRECT)
- Limiter telemetrii - ogranicza rebroadcast cudzej telemetrii do X pakietów na minutę. Przydatne gdy telemetria nadwana jest w zbyt dużej ilości lub oszczędzamy energię, ewentualnie eter. Opcja raczej dedykowana dla ROUTERA.(domyślnie wyłączony)
- Limiter pozycji - niektóre nody mogą nadawać pozycje zbyt często, co może obciążać sieć. Limiter ogranicza ilość rebroadcastowanych pozycji do X pakietów na minutę. Dotyczy tylko pozycji, które nie zmieniają się w czasie oraz są typu broadcast. Wymiana pozycji (FROM->TO) lub nody będące w ruchu nie są ograniczane. Opcja raczej dedykowana dla ROUTERA. (domyślnie wyłączony)

29.08.2025 r.

- FW+ wersja 14
- Bazowa wersja 2.7.7
- Dodano wsparcie dla Seeed Xiao S3 i Station G2
- Moduł nadający status tekstowy węzła uwzględnia teraz skalowanie wielkości sieci. Im większa ilość nodów w zasięgu, tym dłuższe okna czasowe dla nadwania.
- Moduł nadająćy rozszerzoną telemetrię uwzglętnia także skalowanie wielkości sieci.

22.04.2025 r.

- FW+ wersja 13
- Od teraz moduł dokonujący odpowiedzi (wraz z SNR i RSSI) na słowo "ping" w zdaniu będzie reagował wyłącznie słowo na "pinger" lub "Pinger" (jako jedyny tekst w zapytaniu tekstowym).

22.04.2025 r.

- FW+ wersja 12 - Usunięto potencjalne problemy wgrywania FW+ na NRF.
- Z powodu bardzo małej ilości wolnej pamięci Flash dla np. RAK4631 usunięto feature ze zwracaniem listy nodów na polecnie "nodes". Funkcja ta pozostaje nadal w formie OnDemand (APK+).

28.03.2025 r.

- FW+ v11, scalenie z 2.6.3
- Naprawiono wariant NRF52 PROMICRO DIY TCXO (czarny ekran, błąd #3 LORA)
- Rewizja projektu, posprzątano ;)

22.03.2025 r.

- FW+ v10 i scalenie z 2.6.3
- onDemand Route Errors: Llista błedów routingu takich jak PKI_FAILED, TIMEOUT, NO_ROUTE, i innych wraz z liczbą ich wystąpień. Dane zbierane do restartu node.
- OnDemand Stats: licznik ilości pakietów nie przekazanych dalej z powodu hop-limit
- Wsparcie WiFI OTA od 2.6.2 dla ESP32

28.02.2025 r.

- Przejście na wersję wersję bazową 2.6. Aktualizacja z wersji 2.5 do 2.6 spowoduje częsciowy reset naszego node z pwodu innej struktury plików (klucze zostają zachowane). Wersja testowa, mogą pojawić się błędy. Wersja 2.5 nadal będzie możliwa do pobrania.

26.02.2025 r.

- Zwiększony limit nodów do 160 (eksperymentalnie, nie dotyczy to wyjątków takich jak rak4631, gdzie limit nadal pozostaje 80)

20.02.2025 r.

- Poprawki stabilności i optymalizacja, szczególnie dla urządzeń opartych o NRF (np. rak4631, t114 v2)
- Naprawiono problem zawieszania się node po zamianie ustawień FW+ poprzez BT

14.02.2025 r.

- Nowy protokół routingu NextHopRouter (mający dopiero wejść w oficjalnej wersji, w FW+ już jest). Zmniejsza liczbę retransmisji, buduje trasy w oparciu o ACK. Nody są w stanie okreslić mniej-więcej trasę do noda ograniczając liczbę retransmisji "rozgłaszając wszystko wszędzie". W przypadku nodów, które nie posiadają tego protokołu, system działa w trybie legacy, czyli FloodingRouterze po staremu. Skuteczność tego protokołu jest więc uzależniona od liczby nodów które wspierają taki routing.
- Poprawka dla autorespondera, redirectora i polecenia "nodes", który mógł niepotrzebnie wykrywać wiadomości na kanale ogólnym

13.02.2025 r.

- AutoResponder - node może automatycznie odpowiadać na każdą wiadomość treścią jaką ustalimy. Dobre dla nodów zarządzalnych zdalnie. (APK+)
- AutoRedirect messages - mozliwość przekierowania każej odebranej wiadomości tekstowej przez node do innego node. (APK+)

12.02.2025 r.

- OnDemand, możliwość żądania statystyk (telemetry, local_stats i local_stats_extended) jako osobna struktura.
- OnDemand, wdrożono wersjonowanie FW+, możliwość żądania wersji FW+ na node począwszy od wersji 1

11.02.2025 r.

- OnDemand, dodano atrybut RX_BAD dla statystyk odczytu AirTime. Aktualnie obsługiwane pomiary w oknie 10 min to: RX, TX, RX_BAD
- Optymalizacje OnDemand, potencjalne poprawki związane z zapisywaniem zmian dla node (protobufs, ustawienia node)

08.02.2025 r.

- OnDemand, poprawki SNR dla zdalnej listy nodów, dodano obsługę liczby soków do struktury

07.02.2025 r.

- Nowe żądanie OnDemand - liczniki wykorzystania portów (telemetria, tekst, pozycja, inne). Zliczane od restartu urządzenia.
- Poprawki obsługi lokalnego żądania onDemand

04.02.2025 r.

- Nowe żądanie OnDemand - zwraca listę nodów węzła (ostatnia aktywnośc do 2h)
- Nowe żądanie OnDemand - simple ping, odpowiednik śledzenia trasy ale mniej obciążający mesh i szybszy

30.01.2025 r.

- Obsługa requestów na żądanie dla wybranych danych (rozwojowe). Można pobrać z APK+ historię statystyk RX w 40 pomiarach (6h pracy) z podziałem co 10 min (suma odebranych)
- Nadawanie (local stats extended) średniej liczby odbieranych pakietów z godziny
- Nadawanie (local stats extended) ostatnich 6 pomiarów w interwałach 10 minutowych, sumy odebranych pakietów

23.01.2025 r.

- Poprawki nadawania telemetrii

20.01.2025 r.

- Możliwość ustawienia własnego ChUtil,AirUtilTx, polite util oraz non-polite. (polite - czyli przeważnie klient, pracuje w większych restrykcjach, np. do max 25% chutil/min, gdzie router może pracować nawet do 40%chutil/min, nie jest to warunek, niektóre pakiety są z zasady traktowane jako polite lub non-polite)
- Kolejne poprawki telemetrii

13.01.2025 r.

- Optymalizacja nadawania pakietów telemetrii lokalnej rozszerzonej, dłuższe okna czasowe pomiędzy pakietami
- Dodatkowa telemtria rozszerzona, nadawanie PSRAM free/total
- Drobne optymalizacje sprawdzania wolnego miejsca na flash

12.01.2025 r.

- BUG! Istotna poprawka związana z potwierdzeniem odebrania wiadomości i retransmisji, obsługa zwracanych błędów
- Więcej pakietów dla sniffera (np. admin, route)
- Polskie znaki dla wyświetlaczy e-ink (np. heltec wireless paper), thanks to andrzej137

09.01.2025 r.

- Nadwanie rozszerzonej telemetrii lokalnej over mesh, tzw. użycie CPU, dostępne miejsce na flash, dostępna pamięć ram

03.01.2025 r.

- Nowy protobuf (port 278), umożliwia nadawanie statusu opisowego węzła w stylu komunikatora.
- Zmieniono limity radiowe na mniej agresywne.
- Poprawki zarządzania kolejką pakietów dla sniffera. Poprawki wykrywania pakietów.
- Przetwarzanie nadchodzących pakietów neighborinfo, zawsze.
- Tryb routera zawsze przekazuje wszystko, a nie tylko CORE_PORTS (NodeInfo, Text, Position, Telemetry, Routing).
- Tekstowe polecenie "nodes" zwraca także ostatni czas kontaktu z węzłem.
- Wsparcie dla znaków OLED_PL.

19.12.2024 r.

- Poprawki nadwania telemetrii i jej detekcji na poziomie sniffera w aplikacji

18.12.2024 r.

- Rozróżnianie pakietów z telefonu od tych z meshu dla sniffera
- Przywrócono neighborinfo dla kanału głównego (co kilka godzin)

17.12.2024 r.

- Zoptymalizowane nadawanie lokalnej telemetrii, mniej pakietów
- Poprawianie pracy sniffera