Repository navigation
Hardware Targets
Eric edited this page Jun 24, 2026
·
2 revisions
XNODE currently builds three supported firmware targets from this repo.
PlatformIO environment:
pio run -e t-watch-ultraRole:
- Primary watch build for the larger Ultra screen.
- Tactical map with larger markers and a large top-rendered GPS position triangle.
- GPS status page and automatic map GPS startup.
- Meshtastic radio service.
- BLE bridge for XTOC/XCOM.
- Power-managed idle behavior.
- DRV2605 haptic feedback through the Ultra haptic rail and XL9555 enable line.
Important build traits:
- Board file:
boards/twatch_ultra.json - Partition file:
default_16MB.csv - DIO flash mode.
- Post-upload watchdog reset script:
support/twatch_ultra_post_upload_reset.py
PlatformIO environment:
pio run -e t-watch2020-v3-s3Role:
- Existing watch variant that shares the XNODE app flows.
- Protected by the same regression checks so Ultra/T-Deck changes do not silently break it.
Important build traits:
- Board file:
boards/twatch2020_s3.json - Partition file:
default_16MB.csv - In-repo support libraries under
support/twatch-s3-libdeps.
PlatformIO environment:
pio run -e tdeck-plusRole:
- Larger 320x240 screen XNODE device.
- Built-in hardware keyboard for mesh/message entry.
- Same core launcher, messages, mesh, tactical map, GPS status, Alert Summary, SOS, and CheckIn workflows.
- Wide tactical map view showing synced XTOC/XCOM markers on the larger display.
- Produces a firmware binary suitable for manual install or bmorcelli Launcher testing.
Firmware output:
.pio/build/tdeck-plus/firmware.bin
Important hardware mappings:
| Function | Mapping |
|---|---|
| Display | 320x240 ST7789 |
| TFT CS/DC/backlight | GPIO 12/11/42
|
| Touch | GT911 on I2C GPIO 18/8, interrupt GPIO 16
|
| Keyboard | I2C controller at 0x55, interrupt GPIO 46
|
| LoRa | SX1262 on shared SPI GPIO 41/38/40, CS 9, BUSY 13, RST 17, DIO1 45
|
| GPS |
Serial1, RX 44, TX 43
|
| SD card | CS 39 on shared SPI |
| Battery estimate | ADC GPIO 4
|
Important T-Deck behavior:
- Upload speed is
460800for reliability. - DIO flash mode is used to avoid boot loops seen with QIO.
- Post-upload reset is handled by
support/tdeck_plus_post_upload_reset.py. - The display timeout blanks backlight without entering the full watch standby path.
- Touch and hardware keyboard remain activity/wake sources.
- The target currently does not implement trackball, speaker, microphone, IMU/compass, pedometer, or RTC alarm integration.
- The current T-Deck Plus hardware target does not expose an onboard vibration motor, so XNODE treats haptic feedback as unavailable on this target.