Realizing Meshtastic's Promise with the T-Deck

Meshtastic—a simple off-grid mesh network used to transfer short messages—is a neat bit of tech, but until recently, most development has focused on little nodes with or without tiny OLED displays, and a separate phone app or web UI to actually interact with the mesh.

The major use case I have for Meshtastic is backup comms—when cell networks and physical infrastructure may be unavailable. In those conditions, I don't want to run my full computer, or even a full smartphone, just to communicate long range via text.

Enter the T-Deck:

Lilygo T-Deck running experimental UI Meshtastic firmware

If the Meshtastic community could focus on a few 'halo' devices like this, I think general Meshtastic adoption will increase a lot further. The current state of Meshtastic, where you typically buy a tiny node and then use it with your phone or computer, relegates the tech to an existing base of radio enthusiasts, mostly.1

Often when I post about Meshtastic, I get the response: "I thought it was supposed to be off-grid. Doesn't requiring an app that has to be downloaded from an online App Store make that kinda impossible?"

Yes, yes it does.

And forget about trying to explain how local Bluetooth or WiFi connections don't require a working Internet connection, you've already lost most people's interest by that point.

Which is why I love the T-Deck—it has it's warts, but it's the first truly-standalone Meshtastic node that would be useful to me in an emergency, especially with a 5000 mAh battery that lasts a few days!

Not only that, it still retains the ability to interface with the phone app and self-hosts a Web UI over WiFi for advanced configuration and chat.

But the UI is currently trash. At least if you want adoption from anyone outside the world of arcane RF and ham enthusiasts used to QRPing and DXing.

Video version: I have a video version of this blog post as well: This device makes Meshtastic the BEST off-grid tech

Installing the Experimental T-Deck UI

I've seen murmurs around an experimental T-Deck UI; some people posted about it on Reddit, some in random YouTube video comments. And a quick DDG search brings up this YouTube Short... which said 'here's the tutorial', but I couldn't figure out where it was, until I dug into the comments and figured out the Short was using a 'long form video link' which doesn't show on YouTube's desktop layout!

So I eventually found the full tutorial video, but the actual instructions were buried in the description with little formatting.

So I've re-written the guide for flashing the experimental device-ui onto the T-Deck:

Download the latest 'fancy T-Deck' build from here, specifically, the firmware-2.5.3.bfe99b2.zip artifact.

Note: This CI-generated build linked above will vanish after 90 days—according to Meshtastic devs, people kept filing support requests against these experimental builds, so first and most important: don't do that!

And second, it looks like at some point you'll need to start building your own images. I'll maybe update this guide to show you how to do that too :)

  1. Set the T-Deck into flashing mode: hold down the center trackball while turning on the power switch.
  2. Visit https://flasher.meshtastic.org/ and install firmware-2.5.3.bfe99b2.zip (select "Full erase and install").
  3. Close out of the Meshtastic flasher and visit https://esp.huhn.me/ and connect to your T-Deck.
  4. Expand firmware-2.5.3.bfe99b2.zip and next to the 0x10000 slot, select the firmware-t-deck-2.5.3.bfe99b2-update.bin file and click 'Program'.

Once it's done, follow it's instruction: To run the new firmware please reset your device.

Again, because I know some people will ignore the warning above: Don't file support requests or waste Meshtastic contributors' time asking for support with the experimental UI firmware. This is just for testing at this point.

Using the Experimental UI

Lilygo T-Deck running experimental UI Meshtastic firmware - messages

There's a reason why this is considered experimental. It looks pretty, and the features that are implemented, like the simple connected nodes listing, are already eons better (IMHO) than what you get even in the iOS app.

But there are many, many features that are either not implemented or completely broken. Like a few, off the top of my head:

  • Sending messages (Apparently I forgot to set the region to US, oops!)
  • Configuring channels (See Manuel's comment below!)
  • Bluetooth access so my phone app can use the device

There is a lot that does work, though—even some of the simple things that leave a great first impression, like a boot screen, smooth scrolling (mostly), changing the alert tone, and other essential settings. It may seem silly to some people, but those surface-level bits of polish can really rope in first-time users.

Would I recommend you go out and buy a T-Deck and flash this firmware to it? Not yet. The default firmware has more functionality just by virtue of being able to be used over Bluetooth/WiFi—on device functionality is extremely limited because it's mostly hidden behind arcane key combos.

I think Lilygo's acknowledged the popularity of the T-Deck for Meshtastic, so much so they've built out the T-Deck Plus, which includes everything you need pre-built (and pre-flashed, albeit with the default firmware) so you can get up and running without needing a 3D printer or even a separate computer!


  1. Yes, I know there is a place for many different types of nodes... but Meshtastic's ultimate success is based on getting more people to join the mesh—without geographically-distributed nodes and some people putting nodes higher up, you won't get widespread coverage and the utility is greatly reduced. Just relying on ham/RF enthusiasts (which is kinda where I see Meshtastic today) won't get any kind of critical mass, you have to target other people too. Get them interested on a base level, then start getting them interested in setting up router nodes, being part of the community, etc. :) ↩︎

Comments

Pretty cool piece of tech. I am an amateur radio operator as well as a Linux / self-hosting / FOSS enthusiast. Meshtastic seems quite cool, but I have not dug into in depth myself yet. Appreciated reading through this post, I am now intrigued to learn more about meshtastic

Developers have stunted interest in this by pulling down the recent firmware with the nicer UI. Even if it was pre-alpha or something a lot of people wanted to tinker with it and will now be disappointed when they can't actually run the great looking software shown in images online and even product listings.
Just a reminder to archive everything when something cool comes up because coders bothered by github comments will rage-delete everything like children.

Thanks, Jeff! Up and running on my T-Deck+ that has been mostly unused since I got it. Despite the 'experimental' caveats, this firmware is what I was hoping we'd get from the T-Deck. I agree that this is the perfect entry point for a lot of people, I'm excited to see this continue to develop! (Shout out to mverch67, we should all support him if we can!)

lol I find it a little comical you point out that " people kept filing support requests against these experimental builds' and thought "oh well I'll just send them even more". I'd love to know if you even worked with the developers for this articles or your just a nother "influencer" getting on the band wagon. Way to go.

I'm an open source developer who deals with hundreds of new issues per week across my hundreds of GitHub projects, so I totally understand where the developers are coming from. Which is why I put not one, but two bold warnings for people not to go asking for support for the experimental UI.

There are two options for me: 1. Don't share the cool things I learn about like Meshtastic, or 2. Share the cool things I learn, and give people the knowledge to replicate what I've learned. I choose the second option, but if Meshtastic devs think I'm doing a disservice to the community, I'd be fine removing that portion of the blog post with a note about why they'd rather people not try it out.

No manners, that is what I see. People sharing their code for the benefit of the community. No one is a slave to anyone here, no one HAS to do anything for anyone and if someone is nice enough to share their experimental code, telling you to NOT fill support requests... then f*cking don't do it. Have some patience and respect and stop being a ungrateful pig.

Hi Jeff,
this is Manuel the author of this fancy UI firmware. First of all, thanks for the short video of the work I've done for meshtastic and T-Deck.
I try to develop the UI in a fashion that it can be used by any non-tech person including my grandma and a six year old, so that it'll really be an EDC off-grid messenger device for everybody.

There are some things no quite correct in your blog post, the messaging is fully implemented and I'd say the channel configuration *should* work (although you would have to type in the base64 PSK using the keyboard). Bluetooth is not supported due to the way the UI interfaces with the firmware (uses internal Bluetooth serial connection queue) but it's possible to use WLAN with an Android app. Also, the web-client can be used with an USB-C cable for some advanced configuration as well as the python CLI.

It would be nice if you can add a sponsor link to my work underneath your video:
https://github.com/sponsors/mverch67

Cheers,
Manuel

Thanks! And thanks especially for your work—I'll add a link below the video too. I have updated the post with a note to look down here to your comment for more info too.

Manuel! Thank you for your work. I just learned about this system and im looking forward to exploring. I look forward to hearing of your continued progress.

Parts list for your T-Deck? With links would be a bonus. Your case looks nicer than anything LilyGo offers.

Merci!

I am unable to find firmware-2.5.3.bfe99b2 on the flasher or the other link you provided. This new firmware really seems to be quite elusive.

Hello Jeff, well you mentioned that the software on T-Deck wasn't quite smooth, maybe you could make another video with ChatterBox, it's (if I'm not mistaken) made by Matt Calhoun. You can find his YouTube's channel online. Looks promising, keep on making Meshtastic videos, it's awesome!

I was looking at ChatterBox stuff. I was wondering if it can interface with Meshtastic Nodes. But, no-one really seems to either talk about it, or mention if it does or not. Would be cool though if so. I have a Heltec V3 and a T-Deck at this point, building a mesh in Northwest Indiana. No-one else seems to be near me outside of 2 nodes in a town about half hour from me.

I'd love to hear more about how to build our own images! I'm intrigued to follow this project as it develops further!

Just installed this onto my T_Deck today in the UK and love it. Thanks both Jeff and the dev who did the great work!!!!

Couldn't find the source version on the Meshtastic firmware updater that you suggested to do the full reset. I selected the latest alpha and beta and did that... works.

When I flash using the website you suggested using the file I downloaded, unzipped and uploaded to the exact slot you said, file firmware-t-deck-2.5.3.bfe99b2-update.bin, it says it flashed and to restart the device, restart and all I get is a blank screen.

If I go back to the meshtastic firmware it works. 2.5.3.bfe99b2 has been removed from the meshtastic flasher. 4 months on, still not even able to try this firmware!

I did this today and it worked fine.
It was a little confusing with the re-written instructions.
You need to do two things: 1) download the zip 2) extract the zip to a separate folder.
flasher website. you don't select any of the drop down firmware you use the folder icon to browse to the zip file.
Once that's loaded turn off the device and hold down the trackball and power on just like for the flasher. Use the second website (esp32) and browse to your extracted zip folder for the correct update file then hit program. turn device off an on then is should run the new firmware.

Any chance you (or anyone) could share the firmware zip file? I created a github account just to be able to download it and even with an account the download is not possible.

Can you initiate a chat from the new firmware if they aren't in the chat list? I can't figure it out if so.

Looks great! The only problem is how do I retrieve my channel encryption key that my mesh uses and enter it on the T-deck. I understand that it needs to be typed in manually, but how do I get the key, IOS app only generates a QR code for the key.

Just flashed 2 T-Deck Pluses and a standard T-Deck(in a zerofox3D case)! Compared with the base firmware it's light-years ahead!

the firmware link has expired. where do i get this now?

Firmware is also showing expired for me too and I'm unable to download it

Been running this for a couple of days now but it has not connected to a single radio. It appears to configured for the default channel and there are about 30 other radios in my area. Guess we will have to wait for software updates.

links have expired. Does anyone have a google drive link to the zip file?