T-deck from Lilygo

LGTM

1 Like

Dear Meshtastic developers,

are there any plans to support this model?
If yes, I firing up my shopping basket in 3…2…1… :smile:

3 Likes

The screen is the tricky part as we don’t have any working color LCD screens yet.

If supported it is going to really burn through the battery.

1 Like

I guess you’d want to sleep the screen after 20sec inactivity or similar?

I will hold my money until they release a e-ink display version.

I would be all over something like this with an e-ink display, and heck I’d even grab this if meshtastic could support it stand alone as is with the LCD. Cram 3x 18650s behind it and battery life would probably stretch into multiple days as long as the LCD went to sleep at a reasonable idle interval.

To add to the wish list, offline GPS mapping would be great and really is my dream meshtastic device. Adding something like a stripped down baby atak would be awesome to be able to see where other nodes are and for them to drop points on the map.

3 Likes

I think the color LCD is probably perfect for this. I suspect it won’t really affect battery life all that much, because it’s not going to replace phones, the applications don’t really involve being on it all day.

It’s got a microphone and speaker(!) so it can notify you on incoming messages.

I’m a pretty big time maximalist with tech, so my dream firmware for this would be combining Meshtastic with CircuitPython, and proper App support. I’ve always wanted a low power app capable device like a modern Cybiko!

Python has pretty good battery life characteristics despite being interpreted, because it only needs to run when you’re interacting with it, and it only needs to run a tiny amount of code for some basic menus.

I’m not sure how hard it would be to embed the interpreter in a Meshtastic firmware, it seems like every C++ app is different with regards to how much you have to fight the compiler to actually use it, but it would certainly make developing really nice UIs easy for this and any future devices, and it would allow for really fully taking advantage of the capabilities of this thing.

People are already talking about the “Apps” they’d like, I’m almost tempted to start working on it myself!

Micro/circuitpython does seem to have ways to add CPP code, and they both use LittleFS, it doesn’t seem too hard to build Meshtastic as an extension module and add a few hooks to send/receive, but I wouldn’t want to be stuck maintaining it as a separate fork by myself if there wasn’t much interest.

2 Likes

Meshtastic firmware support work will start when devices arrive. For the mesh to work with any traffic the MCU is essentially always on, this device is going to use a ton of battery as it is likely that turning up the CPU clock will be necessary. To get more than an hour or two you are probably going to need multiple 18650 batteries, probably more than 2.

If you want to write code that works with the firmware in circuit python you will need a second mcu to communicate with meshtastic via serial.

I’m not quite sure it’s not possible on one CPU, it would just be a lot of work. CircuitPython should only use a few percent of CPU power if it’s just running menus and such. Python could run in an entirely separate thread, the main firmware could just have a few notifyScript() and checkScriptCommands() weak functions.

I’m not sure why battery life would be any worse on this than any other ESP32 platform, the CPU can be idle most of the time and actively interacting with the device will probably only be a small percentage of the time.

There’s probably room for a bit more power optimization on this than something like a T-Echo, since we don’t need to wake up to listen for Bluetooth, if the user will just be interacting with it directly when they want to send something.

Even with Bluetooth, the new ESP32 chips should only use a few mA to listen with modem sleep, so in theory if there’s no traffic on the net and you’re not actively using the device, it could be optimized to 15mA or so and we should be getting well over 200 hours from 1x18650.

An ESP32 uses 10x the power of the nrf chip in the techo before bumping up the cpu. Each t deck example is using like 90% cpu to run the screen.

You can’t deep sleep an esp32 with meshtastic, the device is on most of the time. You can’t run circuit python on a meshtastic device.

The 8 days on a 18650 is just not realistic, we used to advertise this, but is is just not accurate and deep sleep does not work well for a mesh. Esp32 is lucky to get 36 hours on an 18650, add a color screen and battery life gets worse not better.

I ordered two of these T-Decks to mess with as communicators. If you need someone to QA test the firmware work being done for this device just let me know. Would be glad to help out in getting this device up and running with Lora communications.

2 Likes

One of the developers has ordered the device and is still waiting for it. There’s currently no timeline for when or if there will be support for the device. Should support get added, it will be announced. Stay tuned.

3 Likes

I have one in hand rn. All the example code is functional out of the box PlatformIO. It’s using RadioLib presently for subGHz lib. This would be an productive community project. Who’s in lmk we can get a repo started? GitHub - Xinyuan-LilyGO/T-Deck

Yes, this looks like a perfect device for an alternative commutation (not 4g/5g). I am waiting for a support from mechanic to buy this t-deck device.

There is an alpha firmware release including basic support (including keyboard, trackball and touchscreen) available here.

Not sure what to expect for runtime on a battery though :wink:

2 Likes

Thank you for the Alpha for the T-Deck!!! just got 2 in the mail today and trying to figure out how to flash it from https://flasher.meshtastic.org/
Select everything correctly but the device reboots back to factory…
Do i need to flash directly or from the SDCard?
Thanks in advance!

According to the developer who’s mainly working on this, you have to press and hold the button on the trackball while you plug in the USB, then release it when it is plugged in. Then you should be able to flash it via the Web flasher.

I don’t have one, so I can’t confirm.

2 Likes

Testing now and will get back to the group on my progress…Thanks!!!

1 Like

Notes and Observations

  • plugging in the unit and holding trackball when switching power on has same effect as hold and plug
  • Seems to be stuck on Preparing Installation on 4x attempts on both units that i have
    including running https://flasher.meshtastic.org/ as an incog window
  • The device is being ID’ed by flasher
  • I have tried update and wipe and both have the same results
  • Resetting device restores factory defaults
    Open to suggestions…
    Is there a way to flash it with the Meshtastic firmware from Visual Code studio and PlatformIO