Meshtastic służy do wysyłania krótkich wiadomości przez radio LoRa, bez sieci komórkowej i bez internetu. LoRa przesyła dane powoli, ale daleko i przy małym poborze prądu, a urządzenia w sieci podają sobie wiadomości dalej, aż trafią do adresata.
MokyaLora ma być samodzielnym urządzeniem do takiej sieci, w stylu komórek sprzed ery smartfonów (po angielsku feature phone). Wiadomość pisze się na fizycznej klawiaturze i czyta na małym ekranie. Telefon z aplikacją nie jest do tego potrzebny.
Co siedzi na płytce
Wszystkim steruje dwurdzeniowy mikrokontroler RP2350B. Za łączność odpowiada radio LoRa SX1262, a za ustalanie pozycji odbiornik GNSS Teseo-LIV3FL (GNSS to wspólna nazwa systemów nawigacji satelitarnej, nie tylko GPS). Tekst wyświetla ekran IPS o przekątnej 2,4″ ze sterownikiem ST7789VI, a pisze się na 36 klawiszach połączonych w matrycę 6×6.
Do tego dochodzi kilka czujników znanych ze smartfonów: magnetometr, czyli elektroniczny kompas, czujnik ruchu (IMU) i barometr. Obok pamięci flash jest 8 MB pamięci PSRAM, a osobne układy ładują akumulator, mierzą jego stan i sterują podświetleniem.
Na pierwszej płytce działa wszystko
Pierwszą wersję sprzętu, oznaczoną Rev A, autor uruchamiał etapami. Zajęło to 26 kroków opisanych w dzienniku projektu i skończyło się w kwietniu 2026 roku. Na prawdziwej płytce ruszyły zasilanie, mikrokontroler, USB, czujniki, GNSS, ekran, klawiatura i pamięć. Radio SX1262 sprawdzono w działającej sieci Meshtastic i wiadomości przechodzą.
Działają też wzmacniacz audio i mikrofon, ale z wersji Rev B i tak znikną, bo obecne plany co do urządzenia ich nie przewidują. Pozostałe układy przejdą do nowej rewizji bez zmian.
Jeden rdzeń dla Meshtastica, drugi dla reszty
Oprogramowanie dzieli pracę między oba rdzenie mikrokontrolera. Rdzeń 0 robi za modem Meshtastic: działa na nim wariant rp2350b-mokya oprogramowania Meshtastic 2.7.21, uruchamiany na Arduino-Pico i FreeRTOS. Rdzeń 1 zajmuje się wszystkim, z czym styka się użytkownik – interfejsem zbudowanym na bibliotece graficznej LVGL v9, ekranem i klawiaturą – a do tego czujnikami, GNSS i USB.
Rdzenie wymieniają dane przez 24 KB wspólnej pamięci SRAM, w której mieszczą się trzy kolejki komunikatów i podwójny bufor na dane z GNSS. Tą drogą przechodzą już wiadomości tekstowe w obie strony, potwierdzenia dostarczenia i zmiany na liście węzłów. Ustawienia da się na razie zmieniać tylko dla samego radia LoRa. Z komputera też można się z urządzeniem dogadać: na polecenie meshtastic --info odpowiada po około 4,5 sekundy.
Większość ekranów interfejsu już działa, choć nie wszystkie są skończone. Pozycję można na razie zapisać tylko z GNSS, ręczne wpisywanie współrzędnych ma dojść później. Czekają jeszcze trzy ekrany SOS, bo potrzebują sterownika przycisku zasilania i obsługi niskiego stanu baterii.
Pisanie po chińsku na 36 klawiszach
Na 36 klawiszach pisze się inaczej niż na pełnej klawiaturze, dlatego projekt ma własny silnik do wpisywania tekstu, MokyaInput Engine (MIE). Podpowiada słowa po angielsku i po chińsku. Chińskie znaki można też wpisywać fonetycznie, w bopomofo (inaczej zhuyin), czyli zapisie wymowy używanym głównie na Tajwanie.
Żeby te znaki dało się wyświetlić, MIE ma własny font z 19 320 znakami. Słownik leży w pamięci flash. Silnik zapamiętuje też 128 ostatnio wybranych wpisów i trzyma je we flashu, więc nie znikają po wyłączeniu. MIE działa już na sprzęcie, a wersja zbudowana na komputerze przechodzi wszystkie 120 testów jednostkowych.
Co jest w repozytorium
Płytkę zaprojektowano w KiCadzie 8, darmowym programie do projektowania obwodów drukowanych. W katalogu hardware/production/rev-a są pliki Gerber, które przyjmuje fabryka płytek, schemat na 13 arkuszach, rysunek montażowy, lista elementów (BOM) w CSV i model 3D całej płytki w formacie STEP.
Licencje zależą od części projektu. Sprzęt udostępniono na CERN-OHL-S-2.0, dokumentację na CC-BY-SA-4.0, oprogramowanie rdzenia 0 na GPL-3.0, a rdzenia 1 na Apache-2.0. Silnik MIE i protokół wymiany danych między rdzeniami mają licencję MIT.
README mówi też otwarcie, kto co zrobił. Pomysły i decyzje projektowe pochodzą od właściciela projektu, podobnie jak schemat i projekt płytki. Dokumentacja i oprogramowanie powstają z pomocą Claude Code, asystenta AI do programowania, ale każdą taką zmianę autor przegląda i zatwierdza, zanim trafi do repozytorium.
To wciąż prototyp
Autor pisze wprost, że MokyaLora to eksperymentalny prototyp. Rev A nie przeszła niezależnych testów ani przeglądu i nie ma żadnego certyfikatu radiowego – ani europejskiego CE, ani amerykańskiego FCC, ani tajwańskiego NCC. Za to, czy nadajnik spełnia lokalne przepisy, odpowiada ten, kto go zbuduje i uruchomi.
Na płytce jest też układ ładowania akumulatora litowo-jonowego. Błąd przy montażu, niewłaściwe elementy albo nieostrożne obchodzenie się z akumulatorem mogą skończyć się pożarem, obrażeniami albo zniszczeniem mienia. Kto chce zbudować to urządzenie, powinien najpierw sam sprawdzić projekt.
Artykuł powstał na podstawie repozytorium MokyaLora na GitHubie.
