Komercyjne lokalizatory dla zwierząt zwykle potrzebują karty SIM i miesięcznej opłaty albo łączą się z telefonem przez Bluetooth, który sięga na kilkadziesiąt metrów. LIA idzie inną drogą: pozycję z odbiornika GPS wysyła przez Meshtastic, czyli otwarty firmware do sieci kratowych (mesh) na radiu LoRa. Węzły takiej sieci przekazują sobie wiadomości bez internetu i bez stacji bazowych, więc pozycja psa może dotrzeć do właściciela nawet tam, gdzie telefon nie ma zasięgu.

Projekt prowadzi Jon G. Aguado. Oprócz plików do samodzielnej budowy repozytorium ma obszerną dokumentację, w tym dziennik prac z opisem błędów znalezionych po drodze. Gotowego urządzenia nie da się kupić, trzeba je zbudować samemu.

Co jest w środku

Sercem płytki jest moduł ESP32-S3-MINI-1, mikrokontroler z Wi-Fi i Bluetoothem. Za łączność odpowiada układ radiowy SX1262 w module Wio-SX1262 firmy Seeed, a za pozycję odbiornik u-blox SAM-M10Q, który korzysta jednocześnie z GPS, Galileo, GLONASS i BeiDou. Do tego dochodzą:

  • wskaźnik naładowania akumulatora MAX17048, który szacuje stan ogniwa na podstawie napięcia,
  • czujnik ruchu LSM6DSOX (akcelerometr i żyroskop),
  • ładowarka TP4056 i układ chroniący ogniwo przed nadmiernym rozładowaniem, przeciążeniem i zwarciem,
  • elastyczna antena LoRa na 868 MHz (można ją zastąpić zwykłą anteną zewnętrzną) oraz ceramiczna antena GPS.

Są dwie wersje sprzętu z tym samym firmware. V1.0 ma ogniwo 18650 o pojemności 3500 mAh, a V1.1 płaskie ogniwo 50×37×4 mm o pojemności 1000 mAh i dzięki temu wyraźnie mniejszą obudowę. Akumulator ładuje się przez USB-C albo magnetyczne złącze z czterema stykami sprężynowymi, dzięki któremu nie trzeba otwierać obudowy.

Trzy pozycje przełącznika

Tryb pracy wybiera się przełącznikiem na obudowie:

  • Tryb ciągły. Świeci czerwona dioda, urządzenie nie zasypia i wysyła pozycję co 30 sekund. To ustawienie na spacer albo na czas szukania zwierzęcia.
  • Cykl uśpienia. Lokalizator budzi się mniej więcej raz na minutę, czeka na pozycję z GPS najwyżej 90 sekund, wysyła ją i wraca do głębokiego uśpienia. Gdy pozycji nie ma, i tak zasypia, żeby nie wyczerpać akumulatora. Radio i GPS są wtedy całkiem odcięte od zasilania. To tryb na co dzień.
  • Wyłączony. Mikrokontroler nie dostaje prądu, ale akumulator nadal się ładuje.

Z lokalizatorem można też rozmawiać, wysyłając mu prywatną wiadomość w aplikacji Meshtastic. Polecenie GPS zwraca aktualną pozycję, BATTERY poziom naładowania, a IMU ON włącza czujnik ruchu: od tej chwili urządzenie samo zgłasza „Activity detected”, gdy zwierzę się poruszy. Są też komendy do włączania i wyłączania powiadomień o ładowaniu oraz do sterowania diodą, a HELP wyświetla listę wszystkich.

Pozycja widoczna tylko dla właściciela

Meshtastic szyfruje wiadomości kluczem kanału, a nie kluczem odbiorcy. Każdy, kto zna klucz kanału, może więc odczytać pozycję wysłaną na tym kanale, a na kanale publicznym zna go każdy. Każdy węzeł, który odszyfruje pakiet z pozycją, nanosi ją na swoją mapę, bez względu na to, do kogo pakiet był adresowany.

LIA omija ten problem. Wszystko, co wysyła – pozycję, stan baterii, odpowiedzi na polecenia – kieruje jako wiadomość bezpośrednią do jednego, wybranego węzła, na przykład radia połączonego z telefonem właściciela. Takie wiadomości aplikacja i firmware Meshtastic zwykle szyfrują kluczem publicznym odbiorcy, więc odczyta je tylko on. Wcześniejsza wersja projektu korzystała z prywatnego kanału o ustalonej nazwie, ale autor z niej zrezygnował, bo ta konfiguracja często się myliła i wiadomości przepadały bez żadnego sygnału.

Sam Meshtastic też idzie w tę stronę: od wersji 2.8 węzeł domyślnie nie rozgłasza pozycji, a na kanale publicznym jej dokładność jest ograniczona do około 729 m. Piszemy o tym w tekście „Meshtastic 2.8.1 Alpha: podpisane pakiety, prywatna pozycja i większe sieci”.

Rozwiązanie LIA ma jedną niewygodę: numer węzła-odbiorcy jest wpisany na stałe w kod. Żeby go zmienić, trzeba poprawić plik firmware/services/MeshTargets.h i samemu skompilować firmware. Autor zapowiada, że w przyszłości będzie się go dało ustawić bez kompilacji.

Zasięg i czas pracy: na razie obliczenia

Najważniejsze pytania przy lokalizatorze to, jak daleko sięga i jak długo działa. Dokumentacja odpowiada na nie na razie szacunkami.

Zmierzony jest czas pierwszego ustalenia pozycji po włączeniu: na zewnątrz około 36 sekund, z dziesięcioma satelitami. W testach lokalizator pracował w prawdziwej sieci liczącej 39 węzłów. Pod drzewami i przy budynkach GPS potrzebuje więcej czasu, a w pomieszczeniu zwykle nie ustali pozycji wcale – wtedy firmware nie wysyła starej pozycji, tylko czeka albo zasypia.

Czas pracy dokumentacja tylko wylicza, z typowego poboru prądu podzespołów:

Tryb V1.0 (3500 mAh) V1.1 (1000 mAh)
Cykl uśpienia, dobre warunki ok. 80 godzin (3,3 dnia) ok. 23 godzin
Cykl uśpienia, GPS szuka pozycji do 90 s ok. 50 godzin ok. 14 godzin
Tryb ciągły ok. 4 godzin ok. 1,2 godziny

W trybie ciągłym większość prądu pobiera według tych obliczeń dioda, która świeci przez cały czas. Autor zastrzega, że to liczby poglądowe, a nie pomiary. W README zaznaczył już jako wykonane próbę terenową i pomiar czasu pracy, ale wyników nie opublikował.

O zasięgu dokumentacja mówi ogólnie: na otwartym terenie z widocznością między węzłami można liczyć na kilka kilometrów od węzła do węzła, w mieście i w lesie na znacznie mniej. Pozycja dotrze do właściciela tylko wtedy, gdy jego węzeł jest w zasięgu lokalizatora albo gdy łączy ich łańcuch innych węzłów Meshtastic. Bez sieci w okolicy LIA niczego nie przekaże.

Jak zbudować własny

Płytkę można zamówić z montażem w firmie produkującej obwody drukowane: w repozytorium są pliki Gerber, lista części i pliki do automatu układającego elementy. Obudowa ma trzy warianty: dwa dla ogniwa 18650 (jeden zdejmowany z obroży, drugi zamocowany na stałe) i jeden dla płaskiego ogniwa. Można ją wydrukować w technologii 3D (z żywicy albo filamentu) albo wyfrezować. Nie jest jeszcze szczelna: ma otwory, przez które łatwo dostać się do przełącznika i podłączyć anteny. Uszczelka ma się pojawić w kolejnych wersjach.

UWAGA: ogniwo litowe włożone odwrotnie albo zwarte może się przegrzać i zapalić. Przed włożeniem do uchwytu sprawdź biegunowość, a płaskie ogniwo z V1.1 chroń przed zgnieceniem i przebiciem. Płytka ma własne zabezpieczenia, więc dokumentacja dopuszcza ogniwo bez wbudowanego układu ochronnego.

Firmware to Meshtastic 2.7.26 z nakładką dla płytki LIA, która nie zmienia żadnego pliku samego Meshtasticu. Zwykły instalator Meshtastic w przeglądarce się tu nie przyda, bo nie zna tej płytki. Firmware buduje się w PlatformIO skryptem build.ps1, który pobiera właściwą wersję Meshtastic, dokłada pliki LIA, kompiluje całość i może ją od razu wgrać. Uruchamia się go w PowerShellu (nie w Git Bash):

cd firmware/tools
./build.ps1 -Upload -Port COM7

Po wgraniu trzeba w aplikacji Meshtastic ustawić rolę urządzenia na Tracker. Bez tego wbudowane mechanizmy usypiania Meshtastic gryzą się z własnym harmonogramem LIA.

Pierwsza seria płytek miała dwie wady. Linie danych czujnika ruchu były zamienione miejscami, co autor naprawił przewodami na gotowych płytkach, a 24 lipca 2026 roku poprawił w plikach KiCada. Zamiast diody RGB wlutowano dwukolorową, więc lokalizator świeci tylko na czerwono. To błąd przy montażu, który autor chce poprawić w następnej serii.

Legalnie w Polsce

Dokumentacja wymienia kilka regionów radiowych, w tym amerykański, i wspomina o antenach na 868 i 915 MHz. W Polsce i w całej UE pasmo 915 MHz i region US są niedozwolone. Właściwy region to EU_868: pasmo 869,4–869,65 MHz, moc do 500 mW e.r.p. (liczona razem z zyskiem anteny) przy najwyżej 10% czasu nadawania.

meshtastic --set lora.region EU_868

W trybie ciągłym lokalizator nadaje co 30 sekund, a jego wiadomości mogą jeszcze przekazywać dalej inne węzły. Taki tryb lepiej więc zostawić na czas poszukiwań: szybko wyczerpuje akumulator i zajmuje kanał, który dzielą wszyscy w sieci. Firmware przed każdym wysłaniem pyta Meshtastic, czy obciążenie kanału pozwala nadawać, i w razie potrzeby odczekuje.

LIA jest projektem eksperymentalnym i autor zastrzega, że nie należy go traktować jako niezawodnego systemu śledzenia w czasie rzeczywistym. Licencja CC BY-NC-SA 4.0 pozwala budować i przerabiać urządzenie na własny użytek, w szkole i w społeczności, ale użytek komercyjny, w tym sprzedaż, wymaga zgody autorów.

Artykuł powstał na podstawie repozytorium i dokumentacji projektu LIA. Stan dokumentacji sprawdzono 24 października 2026 roku.