mirror of
https://github.com/ratspeak/ratdeck.git
synced 2026-04-26 10:57:20 +00:00
Preset table and inline reference had wrong BW and TX power values that didn't match the actual firmware presets.
162 lines
5.2 KiB
Markdown
162 lines
5.2 KiB
Markdown
# Ratdeck — Quick Start
|
|
|
|
## Hardware Required
|
|
|
|
- **LilyGo T-Deck Plus** (ESP32-S3, 16MB flash, 8MB PSRAM, integrated SX1262 LoRa)
|
|
- **microSD card** (optional, recommended — FAT32, any size)
|
|
- **USB-C cable** (data-capable)
|
|
|
|
## Build & Flash
|
|
|
|
```bash
|
|
# Install PlatformIO
|
|
pip install platformio
|
|
|
|
# Clone and build
|
|
git clone https://github.com/ratspeak/ratdeck.git
|
|
cd Ratdeck
|
|
python3 -m platformio run
|
|
|
|
# Flash
|
|
python3 -m platformio run --target upload
|
|
```
|
|
|
|
> If `pio` is not on your PATH, use `python3 -m platformio` instead. See [BUILDING.md](BUILDING.md) for esptool instructions and troubleshooting.
|
|
|
|
### Web Flash (No Build Required)
|
|
|
|
Visit [ratspeak.org/download](https://ratspeak.org/download.html) to flash directly from your browser using WebSerial.
|
|
|
|
### USB Port
|
|
|
|
The T-Deck Plus uses USB-Serial/JTAG — port appears as `/dev/cu.usbmodem*` (macOS) or `/dev/ttyACM*` (Linux).
|
|
|
|
## First Boot
|
|
|
|
1. Power on the T-Deck Plus
|
|
2. Boot animation plays with progress bar
|
|
3. SX1262 radio initializes (915 MHz, Balanced preset)
|
|
4. SD card checked — auto-creates `/ratputer/` directories
|
|
5. Reticulum identity generated (Ed25519 keypair, saved to flash + SD + NVS)
|
|
6. Name input screen — type a display name or press Enter to auto-generate one
|
|
7. Home screen shows your name, LXMF address, connection status, and online node count
|
|
|
|
## Navigation
|
|
|
|
The T-Deck Plus has a QWERTY keyboard, trackball, and touchscreen (touch currently disabled):
|
|
|
|
| Input | Action |
|
|
|-------|--------|
|
|
| Trackball up/down | Scroll lists |
|
|
| Trackball left/right | Cycle tabs |
|
|
| Trackball click | Select / confirm |
|
|
| Trackball long-press (1.2s) | Context menu |
|
|
| `,` / `/` | Previous / next tab |
|
|
| Enter | Select / send message |
|
|
| Esc or Backspace | Back / cancel |
|
|
| Ctrl+H | Show hotkey help overlay |
|
|
|
|
### Tabs
|
|
|
|
| Tab | Name | Contents |
|
|
|-----|------|----------|
|
|
| 1 | Home | Your name, LXMF address, connection status, online nodes |
|
|
| 2 | Friends | Saved contacts with display names |
|
|
| 3 | Msgs | Conversations sorted by most recent, with preview and unread dots |
|
|
| 4 | Peers | All discovered nodes — contacts section + online section |
|
|
| 5 | Setup | Device, Display, Radio, Network, Audio, Info, System |
|
|
|
|
## Sending Your First Message
|
|
|
|
1. Wait for another node to appear in the **Peers** tab (or connect via WiFi)
|
|
2. Navigate to the node and press **Enter** to open a chat
|
|
3. Type your message on the keyboard
|
|
4. Press **Enter** to send
|
|
5. Message status: yellow (sending) -> green (delivered) or red (failed)
|
|
|
|
## Connecting Two Ratdecks Over LoRa
|
|
|
|
1. Power on both devices
|
|
2. Ensure both use the same radio settings (defaults work out of the box)
|
|
3. Wait ~30 seconds for announces to propagate
|
|
4. The other device appears in the **Peers** tab with RSSI and SNR
|
|
5. Select the node and press Enter to start chatting
|
|
|
|
Both devices must use the same frequency, spreading factor, bandwidth, and coding rate. Default: 915 MHz, SF9, BW 125 kHz, CR 4/5 (Balanced preset).
|
|
|
|
## WiFi Setup
|
|
|
|
Default WiFi mode is **STA** (client). Change in Settings -> Network.
|
|
|
|
### STA Mode (Connect to Your WiFi)
|
|
|
|
1. Go to Setup -> Network
|
|
2. Enter your WiFi SSID and password
|
|
3. Add a TCP endpoint (e.g., `rns.beleth.net:4242`)
|
|
4. Ratdeck connects and bridges LoRa <-> TCP automatically
|
|
|
|
### AP Mode (Ratdeck as Hotspot)
|
|
|
|
1. Set WiFi Mode to AP in Settings -> Network
|
|
2. Connect your laptop to `ratdeck-XXXX` (password: `ratspeak`)
|
|
3. Add to `~/.reticulum/config`:
|
|
```ini
|
|
[[ratdeck]]
|
|
type = TCPClientInterface
|
|
target_host = 192.168.4.1
|
|
target_port = 4242
|
|
```
|
|
4. Your desktop is now bridged to the LoRa mesh
|
|
|
|
### WiFi OFF
|
|
|
|
Select OFF in Settings -> Network to disable WiFi entirely (saves power).
|
|
|
|
## SD Card
|
|
|
|
Insert a microSD card (FAT32) before powering on. The firmware auto-creates:
|
|
|
|
```
|
|
/ratputer/
|
|
config/ Settings backup
|
|
messages/ Message archives (up to 100 per conversation)
|
|
contacts/ Saved friends
|
|
identity/ Identity key backup
|
|
transport/ Routing table backup
|
|
```
|
|
|
|
## Managing Friends
|
|
|
|
- **Peers tab**: Navigate to a node, press `s` to toggle friend status, or long-press to add/delete
|
|
- **Messages tab**: Long-press a conversation for context menu (Add Friend / Delete Chat / Cancel)
|
|
- Friends are saved to flash + SD and persist across reboots
|
|
- Friends are never auto-evicted from the node list
|
|
|
|
## Radio Presets
|
|
|
|
Three presets available in Setup -> Radio:
|
|
|
|
| Preset | SF | BW | CR | TX | Use Case |
|
|
|--------|----|----|----|----|----------|
|
|
| **Balanced** (default) | 9 | 125 kHz | 4/5 | 17 dBm | General use |
|
|
| Long Range | 12 | 62.5 kHz | 4/8 | 22 dBm | Maximum range, slow |
|
|
| Fast | 7 | 250 kHz | 4/5 | 14 dBm | Short range, fast |
|
|
|
|
All parameters are individually configurable. Changes apply immediately.
|
|
|
|
## Serial Diagnostics
|
|
|
|
Connect at 115200 baud for debug output:
|
|
|
|
```bash
|
|
python3 -m platformio device monitor -b 115200
|
|
```
|
|
|
|
- **Ctrl+D** on device: full diagnostics dump (identity, radio, heap, uptime)
|
|
- **Ctrl+T** on device: send radio test packet
|
|
- **Ctrl+R** on device: 5-second RSSI sampling
|
|
|
|
## Transport Mode
|
|
|
|
By default, Ratdeck runs as an **Endpoint** (handles its own traffic only). Enable **Transport Node** in Setup -> Network to relay packets for other nodes in the mesh. Requires reboot.
|