Skip to content
forked from lyusupov/SoftRF

SoftRF DIY - Stratux and SkyDemon compatible fork

License

Notifications You must be signed in to change notification settings

VirusPilot/SoftRF

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SoftRF fork

  • for Stratux use via USB: T-Beam and T-Beam S3 Supreme
  • for SkyDemon use via BLE: T-Beam, T-Beam S3 Supreme, T-Echo and Seeed T1000-E

ATTENTION: it is strongly recommended to only use the following open standards based protocols (LEGACY protocol is broken and won't be fixed):

  • ADS-L (default for all platforms)
  • OGN
  • FANET

ATTENTION: only ESP32 (T-Beam, T-Beam S3 Supreme), nRF52 (T-Echo, T1000-E) and STM32 (T-Motion) binaries are provided/tested on a regular basis, they are provided as Github Actions Artifacts - a Github account is required to download them

ATTENTION: Seeed T1000-E comes with pre-installed Meshtastic and needs to be prepared before flashing SoftRF for the first time (see: https://github.com/lyusupov/SoftRF/wiki/Card-Edition.-Quick-start)

It is recommended to consider the following Stratux compatible alternatives:

General Features:

  • option to enter AircraftID (through SoftRF WiFi settings page: http://192.168.1.1/settings)
    • if added (AircraftID: <ICAO hex Code>), then ADDR_TYPE_ICAO is set (this is based on the assumtion that your airplane has a transponder)
    • if not added, then the SoftRF factory ID remains (AircraftID: 0) and ADDR_TYPE_FLARM is set

T-Beam and T-Beam S3 Supreme Features:

  • USB mode (default): enables SoftRF to work as a proper GNSS and Baro source for Stratux
  • Bluetooth LE mode: enables SoftRF to work as a proper traffic rx/tx and GNSS source for SkyDemon (since version 4.0.0), please use the following settings:
    • 1

T-Echo and Seeed T1000-E Features:

  • Bluetooth LE mode (enabled by default): enables SoftRF to work as a proper traffic rx/tx and GNSS source for SkyDemon

UF2 Binaries

UF2 binaries are available for the following platforms and can be downloaded as part of SoftRF.zip from here: https://github.com/VirusPilot/SoftRF/actions (click on the latest workflow run and download SoftRF.zip "Artifact"):

T-Beam S3 Supreme - UF2 update method (aka. USB Mass Storage method):

T-Echo and T1000-E - UF2 update method (aka. USB Mass Storage method):

"classic" T-Beam Binaries

"classic" binaries are available for the T-Beam up to v1.2 and can be downloaded as part of SoftRF.zip from here: https://github.com/VirusPilot/SoftRF/actions (click on the latest workflow run and download SoftRF.zip "Artifact"):

  • connect your T-Beam to your PC (via USB)
  • open https://espressif.github.io/esp-launchpad/ with your Chrome browser, select "DIY" and "connect" your T-Beam
  • it may be necessary the execute "Erase Flash" once
  • upload all files from the SoftRF.zip/esp32.esp32.esp32 folder according to the following order and execute "Program": Chrome T-Beam Flash Tool

T-Beam and T-Beam S3 Supreme modifications:

  • u-blox GNSS configuration:
    • enable GSA, GSV, VTG, GST (in addition to GGA and RMC)
    • enable GPS, GALILEO, BEIDOU and SBAS (u-blox 10 default)
    • enable NMEA extended protocol
  • default connection with Stratux: USB (115200 baud), the USB T-Beam connection with Stratux works best if init_uart_baud=115200 is added to the /boot/config.txt file on the Raspberry Pi (/boot/firmware/config.txt for Bookworm)

T-Echo and Seeed T1000-E modifications:

  • GSA messges enabled (in addition to GGA and RMC)
  • LK8EX1 and HEARTBEAT messages are disabled

Limitations:

  • GNSS update rate is limited to 1 Hz in SoftRF, which is good enough for Stratux except when using GNSS as a pseudo AHRS (internally all u-blox based T-Beams use 10Hz measurement rate)
  • the L76K only supports the NMEA "strict" protocol version, therefore some extended satellite information (like elevation, azimut and numbering) is not provided for some satellites and therefore the GNSS info page in Stratux is incomplete. Furthermore BEIDOU satellites are not displayed at all but are in fact used and counted for "in solution"
  • if your T-Beam or T-Echo has a baro sensor (e.g. BMP280) included, you can omit your Stratux baro module as SoftRF is providing the baro altitude to your Stratux

Recommendations for T-Beam S3 Supreme:

Recommendations for T-Beam:

Recommendations for T-Echo and T1000-E:

DANGER ZONE - NOT RECOMMENDED FOR UNEXPERIENCED USERS

Compiling/Flashing from Source Code

You need to be familiar with Arduino to compile and flash it for your platform. You need to install the latest version of Arduino IDE and add the following two entries into the Additional Board Manager URLs:

  • T-Beam and T-Beam S3 Supreme: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  • T-Echo and T1000-E: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json

Arduino IDE settings for T-Beam

  • based on https://github.com/Xinyuan-LilyGO/LilyGo-LoRa-Series?tab=readme-ov-file#3%EF%B8%8F⃣arduino-ide-quick-start
  • Install "esp32 by Espressif" version 2.0.9 under "BOARDS MANAGER"
  • Select Tools -> Board -> ESP32 Dev Module
  • Select Tools -> CPU Frequency -> 240MHz
  • Select Tools -> Flash Frequency -> 80MHz
  • Select Tools -> Flash Mode -> QIO
  • Select Tools -> Flash Size -> 4MB
  • Select Tools -> Partition Scheme -> minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
  • Select Tools -> PSRAM -> Enabled
  • Select Tools -> Upload Speed -> 921600
  • Select Tools -> open serial monitor @ 115200 baud
  • connect your T-Beam
  • Select Tools -> Port -> (select accodingly)
  • compile/upload

Arduino IDE settings for T-Beam S3 Supreme (Caution: the UF2 firmware upload option will no longer work after the following steps)

  • based on https://github.com/Xinyuan-LilyGO/LilyGo-LoRa-Series?tab=readme-ov-file#3%EF%B8%8F⃣arduino-ide-quick-start
  • Install "esp32 by Espressif" version 2.0.9 under "BOARDS MANAGER"
  • Select Tools -> Board -> ESP32S3 Dev Module
  • Select Tools -> USB CDC on Boot -> enabled
  • Select Tools -> CPU Frequency -> 240MHz
  • Select Tools -> USB DFU on Boot -> disabled
  • Select Tools -> Flash Frequency -> 80MHz
  • Select Tools -> Flash Mode -> QIO
  • Select Tools -> Flash Size -> 8MB
  • Select Tools -> USB Firmware MSC on Boot -> disabled
  • Select Tools -> Partition Scheme -> 8M with spiffs (3MB APP/1.5MB SPIFFS)
  • Select Tools -> PSRAM -> QSPI PSRAM
  • Select Tools -> Upload Mode -> USB-OTG CDC (TinyUSB)
  • Select Tools -> Upload Speed -> 921600
  • Select Tools -> USB Mode -> USB-OTG CDC (TinyUSB)
  • connect your T-Beam S3 Supreme
  • put your T-Beam in Espressif Service Mode (press and keep holding BOOT, press and release RESET, thereafter release BOOT)
  • compile/upload
  • press RESET

alternative for T-Beam S3 Supreme (and if you want to maintain the UF2 firmware upload option):

Arduino IDE settings for T-Echo and T1000-E

  • Install "Adafruit nRF52 by Adafruit" under "BOARDS MANAGER"
  • Select Tools -> Board -> Nordic nRF52840 DK
  • connect your T-Echo
  • Select Tools -> Port -> (select accodingly)
  • compile/upload

alternative for T-Echo:

About

SoftRF DIY - Stratux and SkyDemon compatible fork

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 86.0%
  • C++ 12.9%
  • HTML 0.5%
  • Shell 0.3%
  • Python 0.2%
  • Makefile 0.1%