DeFiDude 4a7b1935d5 Workaround LoRa link delivery truncation for large LXMF messages
Link delivery adds ~64 bytes of overhead (dest_hash + Token IV/HMAC/padding)
which can push encrypted payloads past the 255-byte LoRa MTU. SX1262::write()
silently truncates, corrupting the HMAC and failing decryption on the receiver.

Band-aid: cap link delivery plaintext at 180 bytes, falling back to
opportunistic delivery for larger messages. Long-term fix needed: negotiate
link MTU based on interface HW_MTU, or implement Resource-based multi-packet
transfer for oversized payloads.
2026-03-21 14:00:12 -06:00
2026-03-08 04:37:38 -06:00
2026-03-06 12:40:34 -07:00
2026-03-12 15:50:05 -06:00

Ratdeck

Standalone Reticulum for the LilyGo T-Deck

Ratdeck turns a LilyGo T-Deck into a full standalone Reticulum node. It's not just an RNode which requires another device — it's the complete setup.

End-to-end encrypted LXMF messaging over LoRa, TCP over WiFi for bridging to the wider Reticulum network, node discovery, identity management, and more.

Installing

The easiest way is the web flasher — enable download mode (hold the trackball while powering on), plug in the 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

Usage

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.

Manually announce: To send an announcement manually, press the trackball or enter on the home tab.

Add/delete contacts/messages: Hold the trackball down on a chat or a peer to add or delete.

Sending a message: Find someone in Peers, select to open chat, type your message, hit Enter. Status goes yellow (sending) → green (delivery confirmed).

Radio presets (Setup → Radio):

  • Long Range — SF12, 62.5 kHz, 22 dBm. Longest distance, slow.
  • Balanced — SF9, 125 kHz, 17 dBm. Medium distance, medium.
  • Fast — SF7, 250 kHz, 14 dBm. Shortest distance, fast.

All radio parameters are individually tunable. Changes apply immediately, no reboot. Please operate in accordance with local laws, as you are solely responsible for knowing which regulations and requirements apply to your jurisdiction.

WiFi Bridging (Alpha)

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

To bridge LoRa with Reticulum on your computer:

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

Note: WiFi bridging methods and interfaces will be revamped with Ratspeak's client release, therefore, it's unlikely AP mode works at all currently.

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%