Skip to content

wadamesh beta_101

Latest

Choose a tag to compare

@B0N3-GD B0N3-GD released this 28 Oct 13:56
· 3 commits to main since this release

Stable. This is the same build as the beta_101 test release, promoted unchanged, and it replaces beta_85 as the recommended version.

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

Sixteen builds went into this one, beta_86 through beta_101, and everything below is in it. It is the biggest step wadamesh has taken: a new interface, colour themes, a Home made of widgets, MeshCore 1.18, a repeater admin app, the whole UI in a browser, and a long list of fixes, many of them from the community.

Much of it is community work: @oumike sent more than thirty pull requests across nearly every board, @MrYoshii brought the T-LoRa Pager to life, and @TerryTel93, @samuelcoustet, @jcyrio, @Confituurke and many others added features, apps, boards and translations. The full thank-you is at the end.

Read this first if you are coming from beta_85

  • The whole interface is redesigned, and many things have moved: the status bar, Chats, the conversation screen, the lock screen, the screensaver, Home, Settings and notifications. The sections below say where things went.
  • Home is made of widgets now, and Glance is the layout you get after the update. Your old Home is still there as the Commander preset, in Settings > Display > Home.
  • Colour settings moved to a new Theme page. Appearance, High contrast, the accent colour, Colourful chat bubbles and Compact messages are no longer under Display. MORE COLORS! is switched on for everyone in its Regular style, and an aurora in your accent colour sits behind every screen; turn either off on the Theme page for a calmer look.
  • Make a fresh settings backup after updating. Backups made with beta_85 or earlier were written as invalid JSON and cannot be imported again. New ones are valid, carry the screen and app preferences the old ones were missing, and are named meshcore-backup-<date>.
  • Chat history on a busy device could stop saving without a word. Once the history reached its 24 files, a reboot left every new message in memory only, gone at the next restart. Full files are now merged to make room, a new file is opened when they cannot be merged, and no message is ever dropped to keep saving. Messages lost that way before the update cannot be recovered.
  • T-Deck trackball: Scroll is the default now, and a trackball set to Cursor is moved to Scroll once by the update. Hold the trackball still for about half a second to switch.
  • The screensaver also runs on battery, for 15 seconds after the screen timeout by default (Settings > Display > On battery, show it for). The old "Only while charging" option is gone.
  • Boards without a GPS take up to 5 seconds longer to boot, because MeshCore 1.18 waits longer for a GPS to answer. A device with no clock source starts from 1 March 2026 instead of May 2024.
  • Heltec V4: to make room for everything else, Snake is its only built-in game (2048, Tetris and Breakout are not built in), and it has no picture background.
  • Wio Tracker L2: the screen starts in landscape once after this update, now that it can rotate. The Orientation setting turns it back.
  • A failed SD card no longer costs your node its key. The device keeps a copy of the key in its own memory, and a device that keeps its data on the card and starts without it says so and offers to try the card again, instead of opening first-time setup.

Read this first if you have a T-Display P4

  • Landscape works. If beta_85 left your screen stuck in landscape with the controls out of reach, flash this build over USB from the flasher. Taps were being rotated twice, once by the touch driver and once by the interface.
  • If Wi-Fi never connects, your unit's Wi-Fi chip still runs LilyGo's factory firmware: pick the "factory Wi-Fi chip" image in the flasher (#612; thanks @jalevdev for spotting the missing choice in #619). If the board crashes with Wi-Fi on, within a minute of starting or twice in half an hour, the next boot switches Wi-Fi off and says so, and you turn it back on in Settings to try again.

Read this first if you have a T-Deck Pro

There are now separate builds for the V1.0 and V1.1 hardware. A touchscreen that did nothing on some Pros was the wrong touch driver for that revision, and the build that matches your device fixes it. If you do not know which you have, take V1.1, which is what the single Pro build used to be. Updating from the device keeps working without you choosing.

Read this first if you have a newer ThinkNode M9

The Meshtastic edition of the M9 works. Its keyboard controller answers at a different address, so on beta_85 no key did anything and first setup could not be passed, and its GPS is switched on the other way round, which the firmware now picks from the keyboard's address (#662 by @Bfindlay, reported in #644 by @thejiraguy; #661 and #663 by @Thatindianbruh).

A new interface

Every screen was redesigned around one design system: one palette, a clear type scale with a light clock and SemiBold names, line icons everywhere, and one style for every switch, field, dropdown, slider and button, with the main action on a page as a solid teal button. The status bar is calmer, with the clock in the middle, signal and battery on the right, unread messages on the left, and a GPS icon that shows whether it has a position.

Chats gains All, Channels and Direct filters, and every chat an icon drawn from its key; hold a chat, or use the menu in the conversation header, for its options. The conversation shows how each message reached you, "Heard by N repeaters" under your own channel posts, and Sent and Delivered on a direct message, with a tap to resend one that did not arrive. The lock screen has a large clock, a line of the last 24 hours of mesh activity and up to two unread conversations. Constellation, the new screensaver, draws your node and the nodes you have heard, with a ring wherever a packet came from and light along recent routes. Settings opens on a grouped list with a Device page at the top, and the control panel is square tiles coloured by their Settings group. Icon buttons explain themselves when you hold them or select them with keys.

An optional PIN lock (Settings > Lock screen > PIN lock) locks the device at boot and whenever the screen goes off. A forgotten PIN cannot be recovered, only reset along with everything on the device, and you accept a warning that says so before it is set.

Colour, the Theme page and backgrounds

Several of you said colour was what set wadamesh apart, so it came back as choices. The Theme page opens on a live preview, and one Apply and restart button commits what you pick. MORE COLORS! comes in three styles: Regular gives every section its own colour, Neon is full cyberpunk on a near-black violet ground, and Pastel is soft colours on a warm dark ground. Taste the rainbow gives every app and page its own place on the colour wheel and adds a little motion that rests while the screen is off. Chat icons can be Glyphs or Initials, and names are always in colour.

Behind every screen sits a background: the aurora, still or moving slowly, a colour of your own, a picture from Files, or none. Cards and widgets are glass over it (the Glass tiles switch draws them solid), and Picture dimming and Wallpaper dimming are yours to set, from Off to Strong (asked for by zomgugoff and benanderson).

Home is widgets

Hold any widget to arrange Home: drag it, pick small, wide or large, add from the catalog of twenty-four (clock, unread, chat, mentions, heard, nearest, radio, signal, airtime, GPS, battery, sensors, switches and more, with a mesh radar on the 8 MB boards and a compass on the M9), and set its options. Each orientation keeps its own layout, and the presets Glance, Commander, Radio, Minimal and Sensors are a starting point. Tapping a widget opens what it shows, and Lua apps can put their own widget on Home.

MeshCore 1.18

wadamesh runs on MeshCore 1.18, through meshcomod v1.18.0.1, shown in Settings > About under Build. The MeshCore app's Command Line works with the device (name, Bluetooth PIN, Wi-Fi, radio settings, duty cycle, transmit power, receive gain, path hash mode and more), and a contact you give remote CLI permission can run those commands over the mesh. Channel data, pushed telemetry and raw sends over multi-byte paths reach the app as they do on MeshCore 1.18.

Repeater and room server admin

The Admin button on a repeater or room server opens a full admin app instead of a password box and a raw console: status, firmware and owner, neighbours, telemetry and the access list; roles, identity, location, radio, repeating, limits, adverts, passwords and regions; and actions from an advert or a clock sync to a reboot or a firmware update. Requests now ask directly first, the way the MeshCore app does, and only log in when that gets no reply, so they answer far more often (#683, reported by @900steve).

wadamesh in your browser

The same touch interface runs at app.wadamesh.com and drives your own MeshCore node over USB or Bluetooth in Chrome or Edge, or a wadamesh or meshcomod node over Wi-Fi from wifi.app.wadamesh.com. It brings the map, the Store, Lua apps and backups, keeps its chats in the browser, and works on phones in portrait. Without a node it runs a demo mesh.

The T-LoRa Pager, by @MrYoshii

The Pager's own hardware came to life (#748 to #753, #755, #758 by @MrYoshii): the vibration motor buzzes for messages, the charger and fuel gauge show real charge with battery care and a safe low-battery switch-off, Power off is a real power-off, the motion sensor keeps it quiet face down and can wake the screen when you pick it up, and the lock screen can have a wallpaper. The interface fits the 480x222 panel with a one-row status bar, Shift and the knob set brightness or volume, holding Fn shows every shortcut, and the GPS gets its first fix faster. Alongside his work the Pager also gained keyboard navigation with remappable tab keys, shortcuts from Home, a GPS that rests in standby, and far less work while idle.

New

  • Contact nicknames (Contact options > Nickname), shown everywhere the contact appears and kept on the device; the mesh, the phone app and Lua apps keep the real name.
  • Hashtags in messages are links that open or join the channel, and the message menu gains Map, Web and Channel entries (#580 by @TerryTel93).
  • Contacts: a Rooms filter with Peers for people only (#740), Fewest hops sorting (#718, asked for by @mrickey), chat icons in the list (#649, asked for by @Jess-39), and optional auto-delete of contacts not heard from in a chosen number of days, which never touches favourites or the open chat (#731, asked for in #719). All by @oumike.
  • Maps: raster PMTiles archives from /maps on the SD card (#759 by @kremers); offline maps that fill a missing tile from one up to three levels above (asked for by benanderson); GPX track recording to /meshcomod/tracks; Favorites only; and picking your advert position on the map (#635 by @Confituurke).
  • USB Files on every board whose USB socket is the ESP32-S3's own, now including the T-LoRa Pager, Heltec V4-R8, RAK WisMesh Tap V2, Wio Tracker L2 and T-Deck Pro and Max, and about 30 times faster at roughly 120 KB/s. It can also drop Lua apps straight into meshcomod/apps.
  • Orientation in four choices, Portrait, Portrait 180, Landscape and Landscape 180, on every board that can rotate (#698, #701 by @oumike).
  • Battery saver on every touch board, working with Bluetooth or Wi-Fi on, and a GPS battery saver that rests the GPS between position checks. The T-Deck and the M9 find their GPS serial speed themselves (Auto, the default).
  • Time zones: 25 more, listed west to east (asked for by gadgeteerza). Fahrenheit under Settings > Display.
  • The Reader is a library, paging big text files 16 KB at a time, with scripts/sdpack.py to turn EPUB books into pages on the card.
  • Emoji in any text field, a navigation bar on any edge of the screen, Condense Nav for landscape, a first-time setup that keeps Bluetooth on (#416 by @oumike), backups listed by date (#741 by @oumike), and the changelog in the browser when there is no home page on the card.

Fixes

  • Direct messages from the phone app retry properly. wadamesh took the app's retries for a resent copy, so nothing went out, flood fallback included, while the app was told the message had been flooded (#636, traced by @guidokok).
  • A channel message could go out on the public channel from the device's web interface when the channel went missing while open. It now refuses (reported by @TippyLion28).
  • Path hashes: nodes heard over 2 or 3 byte path hashes appear among the recently heard nodes, and hop counts above 64 are gone, so "auto-delete above N hops" no longer throws away nodes one hop away (#621, reported by jesshampshire).
  • Firmware updates over Wi-Fi no longer stop at 0 percent and restart the device, and a dropped download picks up where it stopped (#689, reported by @Hixsten). Save update bin to SD completes (#734, reported by @Jess-39 and @william-stearns).
  • Store installs complete or leave nothing behind, so a failed update keeps the old version (reported by halflive-743 on Discord), and languages from the Store download on every board, the 2 MB Heltec V4 included (reported by 161ct006).
  • Wi-Fi after a lost link rejoins without clearing the saved network or racing the Wi-Fi chip (#685, reported by @william-stearns and @stephen-62), and companion sync reuses the oldest of its 8 app slots instead of never syncing a ninth app.
  • A request to a node that never answers lets go of the device's single request slot after 45 seconds, instead of leaving status, neighbours and access lists empty until a reboot.
  • Region scope applies to every way of sending, the phone app included (#614), and shows in a message's Info (#594, reported by @DenRalle).
  • Restores and backups: a restore that cannot save says so instead of restarting empty, and settings that fail to save to an SD slot file try again (#708 reported by @zomgugoff, #709 and #744 by @oumike). Import backup lists two or more backups again (#738 by @oumike).
  • Clock: internet time syncs reach the clock chip on the M9, "Sync clock" asks the time server at once (reported by gadgeteerza), and Set clock after a time zone change no longer moves the clock by the difference (#699, reported by @zomgugoff).
  • Text: characters a font cannot draw show as one "*", invisible marks in Arabic and Hebrew stay invisible (#679 by @oumike, reported by @neoemit), avatars never go blank (#674), accented letters keep their size at Large and Huge, emoji in settings fields draw (#690 by @tun0), and button captions shrink or wrap to fit a translation (#418, reported by @B0N3-GD).
  • Keypad navigation scrolls past long text and charts before the cursor moves on (asked for by benanderson and zomgugoff), keeps the cursor on the same chat when the list rebuilds, scrolls web pages (#680 by @oumike, reported by @Buko84), and reaches a chat's settings from the conversation header (#623, reported by @bobbythefett).
  • Deleting a chat's history no longer removes the chat (by @jcyrio), the screen lock holds the trackball so the map no longer pans underneath it (#566 by @samdems), the control panel's clock keeps time (#666, reported by @900steve), and the "SD card could not be read" notice no longer appears when the card works (#667, reported by @900steve).
  • Lua apps no longer leak memory on every redraw, and they get a shared sending budget against spam (#606, reported by @TransientOddity).

Boards

New boards

  • Elecrow CrowPanel Advance 3.5 and CrowPanel Advance 5.0 (#655), both by @oumike.
  • Elecrow CrowPanel Advanced 10.1 (ESP32-P4, 1024 by 600), experimental, with one image per board revision and an SX1262 module in the wireless slot.
  • SenseCAP Indicator D1L (#682 by @Confituurke): the ST7701S screen, FT6336 touch and the SX1262 radio behind a TCA9535 expander.

ThinkNode M9

A slow key press types one letter, not two (#625, #671, reported by @neoemit; #628 by @oumike). The notice icons along the bottom are gone, the keyboard light has a brightness setting (#664, asked for by @Buko84), MSG switches between Chats and Contacts (#765, asked for by @Eddie-Feher-at-TT), the d-pad cursor no longer lands on a message hidden under the text field (#764, reported by @mrickey), and the battery percentage fits beside the signal bars at every text size.

T-Deck, T-Deck Pro and T-Deck Max

The T-Deck gets Normal, Large and Huge text sizes, and so do the Pro and Max (#645 by @oumike, asked for in #639 by @Jess-39). A damaged trackball can be switched off, an older keyboard that sends a burst of letters is recognised and remembered, and Sym+W, E and R type 1, 2 and 3 in Italian, Spanish and Romanian again (#747, reported by @QuakeRadio). On the Pro, Wi-Fi starts with Bluetooth on (#763), the screens fit the 240 px e-paper panel (#742 by @oumike), and a slow boot no longer ends locked on the logo (#762, reported by @oz1kfy). On the Pro and Max the terminal is readable and Lua apps draw on e-paper (#704 by @Ender436), and the Max plays sound through its speaker (#665 by @Ender436).

T-Display P4 and the other P4 boards

LR2021 radio variants, the clip-on keyboard with its own keyboard light (asked for by zomgugoff), a one-row status bar and two-column Settings in landscape (by @oumike), vibration on new messages (#730 by @ItsNix), an external antenna setting, battery percentage from the voltage with the keyboard attached (#722 by @oumike), and a Wi-Fi chip that is reset and rejoins on its own when it stops answering (#685). On every P4 board a crash restarts the device instead of freezing on its last frame.

The rest

The Heltec V4 has all its translations again, compressed, with about 330 KB of room. The V4-R8 has its Store Apps tab back and easier chat bar buttons (#598, reported by @Jess-39). The Wio Tracker L2 plays notification chimes (#712 by @oumike). The Attaky Mesh Deck runs in portrait and hides the on-screen keyboard while its keyboard module is attached. Screens draw a third to a half faster on the T-Deck, with the same treatment on most other boards.

Apps and the Store

  • Spectrum, RF Monitor 1.4 and Airtime 1.6 are redesigned with tiles, filled charts and, in RF Monitor, a packet you can select for its route and margin.
  • Music plays MP3 and WAV from the SD card on every board with a speaker, and keeps playing with the screen off.
  • MECP posts emergency messages in the Mesh Emergency Communication Protocol, with its code table by xiang-dev-1 (asked for on Discord).
  • Games: Tetris and Breakout, Space Invaders 1.1 (#707, #729 by @JackCortines) and Blackjack 1.2.2 (#681, #705 by @halflive-743).
  • Outdoors: ProTreck 1.2 with a compass and three alarms, Trip Odometer 1.1 with return-to-home, and Ping, all by @samuelcoustet; Wardrive 1.3 (#735 by @SebRut).
  • The Store lists more than 16 apps, and its tile shows how many installed apps have an update waiting.

For app makers

wada.widget.set puts a widget on Home, wada.ui.emoji(cb) opens the emoji picker, and wada.ui.input takes a maximum length of up to 2000 characters and returns on Enter. Store apps can ship their own files, such as sounds, and the SDK gained rounded panels, bold and large figures, button:bg(colour), an event when a track ends, and canvases larger than 480 pixels fitted to the screen. Side-loaded apps go in /meshcomod/apps/ on a device with an SD card; the SDK guide had that path wrong.

For developers

The web host build runs as a T-LoRa Pager simulator with -DWADA_SIM_PAGER=ON (#754 by @MrYoshii) and as a ThinkNode M9 with -DWADA_HOST_BOARD=m9; see WEB_BUILD.md. ThinkNode M9 clean builds work with RadioLib 7.8.1 (#633 by @oumike).

Languages

Polish is new in the Store's languages, translated by tom73god. Arabic letters join properly, with the Arabic 101 shift layer, and text leaves the device as standard Arabic letters so a #channel name matches a phone's (#582, thanks to @jcyrio and a native speaker). Every new text is translated in all 14 languages, with wording fixes in Dutch, German and Hungarian by @jcyrio (#632) and the Pager strings in German by @MrYoshii (#755).

Thank you

A large part of this release is community work. @oumike sent the largest share by far, more than thirty pull requests: new boards (the CrowPanel 3.5 and 5.0), the T-Deck Pro and Max text sizes and e-paper fixes, orientation, the Device page, contact sorting, filters and auto-delete, backups, button captions and a long run of fixes on the M9, the P4 and the Pager (#596, #628, #645, #649, #655, #688, #698, #701, #718, #731, #740, #741, #742 and many more). @MrYoshii brought the T-LoRa Pager's hardware and interface to life (#748 to #755, #758). @TerryTel93 built hashtag links and the link menu (#580). @samuelcoustet contributed five apps and their updates (#585, #607, #648), @jcyrio the Arabic work, translations and Pager fixes (#582, #587, #590, #624, #632), and @Confituurke the advert position picker and the SenseCAP Indicator (#635, #682).

Thanks also to @JackCortines, @halflive-743, @Ender436, @kremers, @ItsNix, @SebRut, @Bfindlay, @Thatindianbruh, @tun0 and @samdems for code; to @Jess-39, @neoemit, @zomgugoff, @900steve, @william-stearns, @mrickey, @Buko84 and everyone else who filed an issue; and on Discord to benanderson, gadgeteerza, 161ct006, jesshampshire and everyone else who asked for something there.

Full notes: release-notes/beta_101-stable.txt.