github ALLFATHER-BV/wadamesh beta_83
wadamesh beta_83

latest releases: beta_101, beta_100, beta_99...
one month ago

Stable. This is the same build as the beta_83 test release, promoted unchanged after testing, and it replaces beta_65 as the recommended version.

Flash it at flasher.wadamesh.com, or update on the device.

Eighteen test builds went into this one, beta_66 through beta_83. Everything below is in it.

Read this first if you are coming from beta_65

  • If you keep an offline map pack on an SD card, older firmware was deleting tiles out of it. Every tile it wanted as a .jpg erased the .png sitting next to it. That is fixed, but the deletions already made cannot be undone: check whether areas of your pack are missing and re-copy them. Found and fixed by @cvhviz on a ThinkNode M9.
  • ThinkNode M9 owners: some of the SD cards Elecrow shipped carry a Windows worm (their advisory, September 2026). It cannot run on the radio, but it runs on the first Windows PC the card is put into, which is exactly where you take it to copy map tiles. This firmware warns you when such a card is in the device at startup or is inserted, and offers SD Scan. If your card has already been in a PC, run a virus scan on that PC too.
  • Bluetooth now serves either the phone app or a Bluetooth keyboard, and you choose which under Settings, Bluetooth. The phone app stays the default.
  • Changing the theme, rotating the screen or switching remote mode restarts the device. All three now say why before they do it.

Two new boards

  • Seeed Wio Tracker L2. Display, touch, GPS, microSD, battery and buttons brought up on real hardware by @oumike, who owns the board and maintains it.
  • LilyGo T-Deck Pro, marked experimental. E-paper screen, keyboard and touch, with radio, GPS, microSD and battery working. The screen redraws the way e-paper does rather than updating instantly. By @oumike, tested on one unit.

New things you can do

USB Files, on the T-Deck and the Heltec V4. Open it from the app drawer, connect the device with a USB cable and go to files.wadamesh.com in Chrome or Edge. Browse the SD card, internal storage and the map tiles, upload files and whole folders, download, rename and delete. The device carries out every operation itself, so what it relies on stays safe: identity, contacts, settings and chat history can be downloaded but not changed or deleted. Files that SD Scan would flag show in red, and the device checks a file's first bytes, so a Windows program under a harmless name is caught too. Your files go straight from the device to your computer over the cable; nothing passes through our server.

Files on and off the device over Wi-Fi, by @oumike. A browser copies files to and from the card, protected by a six digit code shown on screen, with uploads verified by checksum and committed atomically so an interrupted transfer cannot leave a half written file. The page also lists crash reports, settings backups and screenshots, filters them and can delete them, and it warns you that a settings backup contains your private key. A folder of offline OSM tiles can be uploaded straight to the card, with resumable writes.

Bluetooth keyboards on every board with Bluetooth. Pairing lists keyboards in pairing mode and pairs with a code or without one. Keys are read from the keyboard's own report map, the way a phone or computer reads them, with US, UK, German, French and Belgian layouts including AltGr and dead keys. The arrows, Tab, Enter and Page Up and Down drive the highlight, so the whole interface works without touching the screen. Esc is back, and because some keyboards type a character instead of sending Esc, the Back key setting captures whichever key you press. Not on the Tanmatsu or the T-Display P4, which have no Bluetooth of their own.

SD Scan, in the Store. It looks through the SD card for Windows programs, scripts, shortcuts and autorun files, shows what it found and why, and removes it after you confirm. A mesh radio never uses any of these files, and nothing else on the card is touched.

Day and Night themes, by @oumike. Settings, Display, Appearance, or the Theme chip in the control centre. Day is a full palette rather than an inverted one: text, panels, fields, borders, controls, focus rings, charts, status colours and chat bubbles each got their own light values.

Location privacy. Settings, GPS offers Exact, 100 m, 250 m or 1 km. Only what you broadcast moves; your own map still shows your real position. The displacement is fixed rather than random per advert, because a fresh random offset each time could be averaged out over a night of adverts, and it changes with the distance you pick so two settings cannot be crossed to find you. You can also choose to answer a position request from a chosen contact with your real position, since that reply goes encrypted to one person who already has your permission.

Set the clock without GPS, Wi-Fi or a phone. Settings, Clock takes local time by hand, starting from the current reading.

Lock screen notifications that say who sent it and how far away they are. A muted channel no longer lights the screen at all, while an @-mention in that same channel still comes through.

Console mode, an early preview: a plain text console with no graphical interface, so the memory and processor time the interface would use are yours instead. Off by default, in Settings, General. Type ui or hold a finger on the screen for three seconds to come back. Contacts, channels, threads, sending, a live monitor, radio and battery readouts and discovery all work; there is no map, no file manager and no Lua apps.

The ThinkNode M9 compass, by @cvhviz: a driver written from the chip's own register map, with the axis orientation measured on real hardware at four headings ninety degrees apart, so a calibrated device points north with no setup. The GPS Compass app in the Store gives bearing and range to a contact, a satellite meter and hard iron calibration.

Also new: sharing a contact with nodes in direct range, screenshots from the Control Center on the M9 and both Pagers, @-mention autocomplete, "At a glance" previews on a dimmed screen by @codemonkeybr, a louder chime option, DS3231 clock module support on a T-Deck, a character count as you approach the 160 character limit, Wi-Fi passwords you can see while typing, regions as a list you can add to, telemetry polling that stops on its own after 10 requests, and a Battery page that says what is keeping the device awake.

Crashes and lockups fixed

  • The regions screen crash. When a text field is destroyed the interface library sends it one last "you lost focus" event, and seven fields saved their value on losing focus, so a field was reading and rewriting itself from inside its own destructor. All seven now ignore a blur that is really a deletion. Found by decoding the core dump attached to the report.
  • A crash at startup, which on an unlucky unit means it never comes up at all. Wi-Fi event handlers were being added after the radio had already started, and a disconnect arriving in that moment could be handled while the handler list was being rebuilt underneath. Found from a crash dump on a Heltec V4-R8.
  • A Lua app could reset the device. The firmware never told Lua what to do when an error escapes, so Lua fell back to aborting the whole program, which on a radio is a reset.
  • A reboot from the home screen: boards with the Expansion Kit were reading the temperature sensor over I2C about once a second, and a stalled reading could leave the shared bus in a state that panics the firmware.
  • The M9's card could stop responding until a reboot, when opening Settings, About at the wrong moment parked the tile worker and the recovery path against each other. Traced from the code by @cvhviz, who filed it without being able to reproduce it.
  • Long sender names were cut on arrival, keeping 24 of the 31 characters a name can hold. By Ruben Laban, a first contribution.
  • Granting an app permission could silently take one away from a different app, which is why apps reported "permission denied" with every permission granted. Two separate causes, both fixed.
  • Powering off the T-Display P4 appeared to freeze it, under a message telling you to click a trackball it does not have. Boards that cannot be woken no longer offer the option.

If your T-Deck typed the wrong letters

Pressing "a" produced "q " on the older T-Deck keyboards, the ones without the controllable backlight, because their answer to "do you speak the newer protocol" looked enough like a yes to be taken as one. Nothing can tell the two apart while nobody is typing, so the firmware now corrects itself on the first letter you press. There is also a switch you can reach without typing: Settings, Keyboard, "Older keyboard protocol".

Radio, battery and power

  • The idle power saver works again. It consulted a saved Wi-Fi setting that reads as "on" when it has never been written, so anyone who had not explicitly switched Wi-Fi off inside this firmware was blocked forever.
  • The charging icon appears on every board that was missing it. Charge detection was only ever compiled for two boards.
  • The battery life estimate works again after a restart, the T-Deck no longer reads a full battery as 4.09 V, and the T-Display P4 takes its percentage from the fuel gauge instead of guessing from voltage.
  • On the T-Display P4, Wi-Fi came back on by itself after a power cycle while every switch said it was off: the co-processor rejoins your last network on its own, and the firmware only ever acted when the setting changed.
  • Asking a contact for telemetry from the device always failed, while the phone app got it from the same contact, because every request was preceded by a login only repeaters and room servers understand.
  • An open Discover page probed every four seconds for as long as it was open; it backs off to thirty seconds now.
  • Web settings could quietly change your radio: the page showed a bandwidth of 62.5 as 62 and sent 62 back on Apply.

Messages, map and the interface

The map drew only 31 contacts while the counter counted every one (now 256, with a "Max dots" setting), and opening it cost about two and a half seconds every time because leaving the tab threw away every decoded tile (boards with the memory keep them, so a return is roughly ten times faster). Route hops show their path prefix next to the repeater name. The Discovered list no longer reports "255 hop" for a path it does not know. Notification sounds now respect the master Sound switch and Do Not Disturb, which previews never did. Panels that hold text scale with it, so a longer translation has room and Large or Huge text no longer cuts the first line of a page in half. Shift latches like the symbol and alt keys, accented and Nordic letters are reachable on the M9 and the Pager, there is a Latvian layout by @aigarslv, and pasting a key into a channel secret field takes the key out of whatever you copied.

Board by board: the T-Lora Pager remounts its card after a PC has read it and unmounts properly on power off; the T-Deck Pro debounces touch and no longer starts the screen lock on a space; the Wio Tracker L2 writes backups to the SD card; the V4-R8 keeps chat history and the battery log on the card and no longer crashes when Wi-Fi associates with Bluetooth on; "Store data on SD" is honoured on the M9; Known regions can be left again on the Tanmatsu; and every board now names its own firmware file for updates, so no board can quietly install another board's firmware.

The ThinkNode M9 got the most work of any board, from @oumike and @cvhviz out of reports by Buko84 and DenRalle: the screen really turns off now instead of leaving the panel refreshing behind a dark backlight, Contacts no longer stalls while adverts arrive, the d-pad walks conversations one message at a time, Enter replies instead of a five second hold, unlocking is a double press, accented characters can be selected, and a waiting firmware update is finally visible on screen.

For people writing Lua apps

Apps can hold a whole conversation: direct messages to a contact, posts to a room server, the device's channel list, and incoming messages tagged channel, dm or room. Permissions went from two to four, split the way the risk splits. Apps can put the real map on their page, with the same tiles and projection the Map tab uses; take a scrollable list whose rows are real buttons; be told about each packet as it arrives instead of polling a 16-deep ring; send discovery probes, with each reply carrying both directions of the link; ask for a line of text through the firmware's own dialog; compute distance and bearing in C; read environment sensors, GPS speed and heading, and the magnetometer; set more than one timer; upload as well as download; and play WAV or MP3 audio. wada.crypto adds SHA-1, SHA-256, both HMACs and hex, because a HMAC in pure Lua does not fit inside the per-callback instruction budget. wada.ui.clear() empties a page, contacts page past the old 100 and 200 ceilings, and an app can be 192 KB instead of 64 KB. wada.sd.check and wada.sd.remove handle card malware, with the firmware deciding what counts. wada.mesh.send() returns a fingerprint and wada.mesh.repeats(fp) counts the repeaters heard rebroadcasting it. The Store now says what an app needs and stops offering apps your board cannot run. New in the Store over this run: 2048 by pisti87, Wardrive, Nearby, GPS Compass, SD Scan, and Wardrive 1.2 by @tmetz1987. All documented at wadamesh.com/sdk.html.

Translations

Fifty one strings could never be translated by anyone and nobody could have known: the check that decides what belongs in a language file recognised one way of marking text as translatable and the firmware uses four. That was the whole map options sheet, the sort menus, the contacts filters and the home screen buttons. A later bug in the same tool put 202 invented entries into v18, like "Paste (move)Paste (copy)" glued together and a phrase that only exists inside a source-code comment; those are gone from all thirteen files and nothing a translator had actually translated was touched. Language files and Store apps are published by a script now, so a fix reaches devices instead of sitting in the project. Hungarian kept pace with the firmware throughout, by pisti87.

Thanks

Most of these eighteen builds are community work, above all @oumike, who contributed the majority of several drops and tests each one on his own hardware. @cvhviz audited the ThinkNode M9 and the Heltec V4-R8 and wrote the M9 compass; @codemonkeybr wrote At a glance; pisti87 kept Hungarian current and wrote the first community Store app; @aigarslv, @tmetz1987 and Ruben Laban each contributed as well.

Thanks also to everyone who reported a bug with their board name and what they did, and to the people who sent crash dumps: three of the crashes above were found by decoding one.

Don't miss a new wadamesh release

NewReleases is sending notifications on new releases.