ratdeck

Encrypted mesh messenger for the LilyGo T-Deck Plus

RatDeck booting up, showing the Ratspeak splash screen RatDeck running, showing the home screen with tabs

A standalone Reticulum node with a keyboard, trackball, and screen — no computer required.


RatDeck turns a LilyGo T-Deck Plus into a fully self-contained Reticulum mesh node. It's not an RNode and it's not a gateway — it's a complete encrypted communicator you carry with you.

End-to-end encrypted LXMF messaging over LoRa, WiFi bridging to the wider Reticulum network, node discovery, multiple identities, transport relay mode, and a configurable SX1262 radio — all through an LVGL touchscreen UI with a physical QWERTY keyboard and trackball.

Get one

  1. Buy a LilyGo T-Deck Plus (~$55 — LilyGo, AliExpress, or Amazon)
  2. Attach a 915 MHz antenna (SMA, usually included)
  3. Flash the firmware

Flash it

The easiest way is the web flasher — plug in USB, click flash, done.

To build from source:

git clone https://github.com/ratspeak/ratdeck
cd ratdeck
pip install platformio
python3 -m platformio run --target upload

First build takes a couple minutes while PlatformIO pulls the toolchain. After that it's fast.

Using it

On first boot, RatDeck generates a Reticulum identity and shows a name input screen. Your LXMF address (32-character hex string) is what you share with contacts.

Tabs: Home, Friends, Msgs, Peers, Setup — navigate with the trackball or , / / keys.

Sending a message: Find someone in Peers, click with the trackball to open chat, type your message, hit Enter. Status goes yellow (sending) → green (delivered).

Radio presets (Setup → Radio):

  • Long Range — SF12, 62.5 kHz, 22 dBm. Maximum distance, very slow.
  • Balanced — SF9, 125 kHz, 17 dBm. Good default.
  • Fast — SF7, 250 kHz, 14 dBm. Short range, quick transfers.

All radio parameters are individually tunable. Changes apply immediately, no reboot.

WiFi bridging

RatDeck can bridge your laptop to the LoRa mesh:

  1. Set WiFi to AP mode in Setup → Network (creates ratdeck-XXXX, password: ratspeak)
  2. Connect your laptop to that network
  3. Add to your Reticulum config:
[[ratdeck]]
  type = TCPClientInterface
  target_host = 192.168.4.1
  target_port = 4242

Your desktop Reticulum instance now reaches the LoRa mesh through RatDeck's radio.

Or use STA mode to connect to existing WiFi and reach remote nodes like rns.ratspeak.org:4242.

Transport mode

Enable in Setup → Network to turn your RatDeck into a mesh relay — it'll forward packets and maintain routing tables for other nodes. Best for fixed, elevated positions with good radio coverage.

Docs

The detailed stuff lives in docs/:

  • Quick Start — build, flash, first boot, first message
  • Building — build flags, flashing, CI, partition table
  • Architecture — layer diagram, data flow, design decisions
  • Development — adding screens, settings, transports
  • Hotkeys — keyboard shortcuts and navigation
  • Pin Map — full T-Deck Plus GPIO assignments
  • Troubleshooting — radio, build, boot, storage

License

GPL-3.0

Description
No description provided
Readme 9.4 MiB
Languages
C 57.7%
C++ 42.2%