From 89acfcfc8a67934adc27844fd8d9255e2074b2e7 Mon Sep 17 00:00:00 2001 From: imry Date: Thu, 29 May 2025 10:44:46 +0300 Subject: [PATCH 01/14] Add T-Deck Plus ESP32-S3 board support with correct pin mappings --- tinyGS/src/ConfigManager/ConfigManager.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tinyGS/src/ConfigManager/ConfigManager.cpp b/tinyGS/src/ConfigManager/ConfigManager.cpp index 4b9d4534..1d676c26 100644 --- a/tinyGS/src/ConfigManager/ConfigManager.cpp +++ b/tinyGS/src/ConfigManager/ConfigManager.cpp @@ -51,8 +51,9 @@ ConfigManager::ConfigManager() : IotWebConf2(thingName, &dnsServer, &server, initialApPassword, configVersion), server(80), gsConfigHtmlFormatProvider(*this), boards({ //OLED_add, OLED_SDA, OLED_SCL, OLED_RST, PROG_BUTTON, BOARD_LED, L_SX127X?, L_NSS, L_DI00, L_DI01, L_BUSSY, L_RST, L_MISO, L_MOSI, L_SCK, L_TCXO_V, RX_EN, TX_EN, BOARD #if CONFIG_IDF_TARGET_ESP32S3 - { 0x3c, 17, 18, 21, 0, 35, RADIO_SX1262, 8, UNUSED, 14, 13, 12, 11, 10, 9, 1.6f, UNUSED, UNUSED, "150–960Mhz - HELTEC LORA32 V3 SX1262" }, // SX1262 - { 0x3c, 17, 18, UNUSED, 0, 35, RADIO_SX1278, 8, 6, 14, UNUSED, 12, 11, 10, 9, 0.0f, UNUSED, UNUSED, "Custom ESP32-S3 433MHz SX1278" }, // SX1278 @g4lile0 + { 0x00, 11, 16, UNUSED, 0, 46, RADIO_SX1262, 9, UNUSED, 45, 13, 17, 38, 41, 40, 1.6f, UNUSED, UNUSED, "433MHz LilyGo T-Deck Plus SX1262"}, // T-Deck Plus S3 + { 0x3c, 17, 18, 21, 0, 35, RADIO_SX1262, 8, UNUSED, 14, 13, 12, 11, 10, 9, 1.6f, UNUSED, UNUSED, "150–960Mhz - HELTEC LORA32 V3 SX1262" }, // SX1262 + { 0x3c, 17, 18, UNUSED, 0, 35, RADIO_SX1278, 8, 6, 14, UNUSED, 12, 11, 10, 9, 0.0f, UNUSED, UNUSED, "Custom ESP32-S3 433MHz SX1278" }, // SX1278 @g4lile0 #elif CONFIG_IDF_TARGET_ESP32C3 { 0x3c, 0, 1, UNUSED, 20, 21, RADIO_SX1262, 8, UNUSED, 3, 4, 5, 6, 7, 10, 1.6f, UNUSED, UNUSED, "433MHz HELTEC LORA32 HT-CT62 SX1262" }, // SX1262 @gargomoma { 0x3c, 0, 1, UNUSED, 20, 21, RADIO_SX1278, 8, 4, UNUSED, UNUSED, 5, 6, 7, 10, 0.0f, UNUSED, UNUSED, "Custom ESP32-C3 433MHz SX1278" }, // SX1278 @gargomoma @@ -571,7 +572,8 @@ void ConfigManager::boardDetection() // https://github.com/mpmarks/tinyGS-newboards/commit/e520086f1b43c7cea4cb85d996f0fc379f2d2786 #if CONFIG_IDF_TARGET_ESP32S3 -// nothing yet + itoa(0, board, 10); // Set to T_DECK_PLUS_ESP32S3 = 0 as default + return; #elif CONFIG_IDF_TARGET_ESP32C3 // nothing yet #else From 46611b95b09cfbc87426601bef6e5438e590102f Mon Sep 17 00:00:00 2001 From: imry Date: Thu, 29 May 2025 10:45:10 +0300 Subject: [PATCH 02/14] Add T-Deck Plus to ESP32-S3 board enum --- tinyGS/src/ConfigManager/ConfigManager.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tinyGS/src/ConfigManager/ConfigManager.h b/tinyGS/src/ConfigManager/ConfigManager.h index ebfe35fb..8fbc68f7 100644 --- a/tinyGS/src/ConfigManager/ConfigManager.h +++ b/tinyGS/src/ConfigManager/ConfigManager.h @@ -70,6 +70,7 @@ enum boardNum #if CONFIG_IDF_TARGET_ESP32S3 HELTEC_LORA32_V3 = 0, ESP32S3_SX1278_LF, + T_DECK_PLUS_ESP32S3, #elif CONFIG_IDF_TARGET_ESP32C3 HELTEC_LORA32_HTCT62 = 0, ESP32C3_SX1278_LF, From da861c42294cdeceebb34a8ca5e6ebde961d4492 Mon Sep 17 00:00:00 2001 From: imry Date: Thu, 29 May 2025 10:45:21 +0300 Subject: [PATCH 03/14] Add T-Deck Plus to board selection dropdown for ESP32-S3 --- tinyGS/src/ConfigManager/html.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tinyGS/src/ConfigManager/html.h b/tinyGS/src/ConfigManager/html.h index a306a5c3..ff6adf52 100644 --- a/tinyGS/src/ConfigManager/html.h +++ b/tinyGS/src/ConfigManager/html.h @@ -27,6 +27,7 @@ constexpr auto BOARD_NAME_LENGTH = 62; const char BOARD_NAMES[][BOARD_NAME_LENGTH] PROGMEM = { #if CONFIG_IDF_TARGET_ESP32S3 + "433MHz LilyGo T-Deck Plus SX1262", "433MHz HELTEC LORA32 V3", "Custom ESP32-S3 433MHz SX1278", #elif CONFIG_IDF_TARGET_ESP32C3 From ebabc8cb8b3ebc27f36096e643eb0db1ea9b033c Mon Sep 17 00:00:00 2001 From: imry Date: Thu, 29 May 2025 10:45:43 +0300 Subject: [PATCH 04/14] Add lilygo_t_deck_plus_s3 build environment --- platformio.ini | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 16dbccb6..63ee04af 100644 --- a/platformio.ini +++ b/platformio.ini @@ -51,4 +51,16 @@ platform = espressif32@ 6.5.0 board = seeed_xiao_esp32c3 board_build.mcu = esp32c3 board_build.f_cpu = 160000000L -framework = arduino \ No newline at end of file +framework = arduino + +[env:lilygo_t_deck_plus_s3] +platform = espressif32@ 6.5.0 +board = esp32-s3-devkitc-1 +board_build.mcu = esp32s3 +framework = arduino +build_flags = + ${env.build_flags} + -DARDUINO_USB_MODE=1 + -DARDUINO_USB_CDC_ON_BOOT=1 +monitor_port = /dev/ttyACM* +upload_port = /dev/ttyACM* \ No newline at end of file From 58da489860375816beb9582388266a12bd5b3ef9 Mon Sep 17 00:00:00 2001 From: Imry Date: Sat, 31 May 2025 19:03:18 +0300 Subject: [PATCH 05/14] Create specialized README --- README | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 00000000..270d11e1 --- /dev/null +++ b/README @@ -0,0 +1,118 @@ + +# TinyGS on LilyGo T-Deck Plus ESP32-S3 + +[![TinyGS Stations](https://img.shields.io/badge/Ground%20Stations-3%20Ready-green)](https://tinygs.com/stations) [![Pull Request](https://img.shields.io/badge/Device-LILYGO®%20T--Deck%20Plus-blue)](https://lilygo.cc/products/t-deck-plus-1) [![MCU](https://img.shields.io/badge/MCU-ESP32--S3-red)](https://www.espressif.com/en/products/socs/esp32-s3) [![LoRa Module](https://img.shields.io/badge/LoRa%20Module-SX1262-orange)](https://www.semtech.com/products/wireless-rf/lora-connect/sx1262) + +> TinyGS satellite ground station on the **LilyGo T-Deck Plus ESP32-S3** with SX1262 LoRa module. + +## Live Stations + +Our operational stations contributing to the global TinyGS network: + +- **[PiTAYA_gs_001](https://tinygs.com/station/PiTAYA_gs_001@393436548)** - Ariel, Israel 📍 +- **[PiTAYA_gs_002](https://tinygs.com/station/PiTAYA_gs_002@393436548)** - Haifa, Israel 📍 +- **[test_Intro2SDR_AU](https://tinygs.com/station/test_Intro2SDR_AU@393436548)** - Ariel University (Educational Demo) 📍 + +## Quick Start Guide + +### Step 1: Install PlatformIO + +Install PlatformIO Core via command line: + +```bash +# Install PlatformIO Core via pip +pip install -U platformio + +# Verify installation +pio --version + +``` + +### Step 2: Clone and Build + +```bash +# Clone this repository +git clone https://github.com/iMRUM/t-deck-plus-tinygs.git +cd t-deck-plus-tinygs + +# Connect your T-Deck Plus via USB-C +# The T-Deck Plus environment is already configured in platformio.ini + +# Upload firmware +pio run -e lilygo_t_deck_plus_s3 -t upload + +``` + +### Step 3: Initial Configuration + +After successful upload, your T-Deck Plus will: + +1. **Boot up** and show TinyGS splash screen +2. **Create WiFi Access Point** named "My TinyGS" or "TinyGS-xxxxxx" +3. **Wait for configuration** via web interface + +### Step 4: Web Configuration + +1. **Connect to AP**: Join the "My TinyGS" WiFi network (usually no password) + +2. **Open Browser**: Navigate to `http://192.168.4.1/` + +3. **Configure Station**: + + - **Ground Station Name**: Choose unique name (appears on global map) + - **Board Type**: Select **"433MHz LilyGo T-Deck Plus SX1262"** from dropdown + - **Location**: Enter latitude/longitude coordinates + - **WiFi**: Your WiFi credentials for internet access + - **MQTT**: Get credentials from [TinyGS Personal Bot](https://t.me/tinygs_personal_bot) +4. **Save Configuration**: Device will restart and connect to internet + + +### Step 5: Verify Operation + +- **Global Map**: Your station appears on [TinyGS map](https://tinygs.com/stations) +- **Dashboard**: Access local dashboard at your device's IP address +- **Radio Status**: Should show "READY" (green) +- **Packets**: Begin receiving satellite telemetry automatically + +### Commits Made +- [Add T-Deck Plus ESP32-S3 board support with correct pin mappings (no OLED pins, pins 11 and 16 were configured for OLED pseudo-support)](https://github.com/G4lile0/tinyGS/commit/89acfcfc8a67934adc27844fd8d9255e2074b2e7) +- [Add T-Deck Plus to ESP32-S3 board enum](https://github.com/G4lile0/tinyGS/commit/46611b95b09cfbc87426601bef6e5438e590102f) +- [Add T-Deck Plus to board selection dropdown for ESP32-S3](https://github.com/G4lile0/tinyGS/commit/da861c42294cdeceebb34a8ca5e6ebde961d4492) +- [Add `lilygo_t_deck_plus_s3` build environment](https://github.com/G4lile0/tinyGS/commit/ebabc8cb8b3ebc27f36096e643eb0db1ea9b033c) + +## 🔗 Resources and Links + +### TinyGS Community + +- **[TinyGS Main Repository](https://github.com/G4lile0/tinyGS)** - Original project +- **[TinyGS Website](https://tinygs.com/)** - Global network dashboard +- **[TinyGS Telegram](https://t.me/joinchat/DmYSElZahiJGwHX6jCzB3Q)** - Community support +- **[TinyGS Personal Bot](https://t.me/tinygs_personal_bot)** - Get MQTT credentials + +### Technical Documentation + +- **[LilyGo T-Deck Plus Product Page](https://lilygo.cc/products/t-deck-plus-1)** - Device Specs +- **[LilyGo T-Deck Plus Official Repo](https://github.com/Xinyuan-LilyGO/T-Deck)** - Sample code and more detailed information about this board + + +## 🙏 Acknowledgments + +- **Prof. Ben-Moshe** (Ariel University) - Equipment provision, project motivation, and introduction to TinyGS and LoRa technologies and many more... +- **TinyGS Community** - Original project development and global satellite tracking network +- **[@G4lile0](https://github.com/G4lile0)** - TinyGS project creator and maintainer + + +## 📜 License + +This project maintains the same license as the original TinyGS project: + +- **GNU General Public License v3.0** +- See LICENSE file for details + +---------- + +**Built with ❤️ for the global space community** + +---------- + +_This guide represents a community contribution to expand TinyGS hardware support. For general TinyGS questions, please refer to the [main project documentation](https://github.com/G4lile0/tinyGS)._ From 237b6fdba3d607b2981d5cc408e349bf6a25462b Mon Sep 17 00:00:00 2001 From: Imry Date: Sat, 31 May 2025 19:03:51 +0300 Subject: [PATCH 06/14] Rename README.md to README-ORIGINAL.md --- README.md => README-ORIGINAL.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename README.md => README-ORIGINAL.md (100%) diff --git a/README.md b/README-ORIGINAL.md similarity index 100% rename from README.md rename to README-ORIGINAL.md From c1f1bab6df4e8e6bdbd9fee08bf44e33b4140ee0 Mon Sep 17 00:00:00 2001 From: Imry Date: Sat, 31 May 2025 19:04:14 +0300 Subject: [PATCH 07/14] Rename README to README.md --- README => README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename README => README.md (100%) diff --git a/README b/README.md similarity index 100% rename from README rename to README.md From b46d832ee24ec7e4d060caf2e35b9cff2f5a2c73 Mon Sep 17 00:00:00 2001 From: Imry Date: Sat, 31 May 2025 19:08:03 +0300 Subject: [PATCH 08/14] Update README.md --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 270d11e1..22989ad7 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,15 @@ [![TinyGS Stations](https://img.shields.io/badge/Ground%20Stations-3%20Ready-green)](https://tinygs.com/stations) [![Pull Request](https://img.shields.io/badge/Device-LILYGO®%20T--Deck%20Plus-blue)](https://lilygo.cc/products/t-deck-plus-1) [![MCU](https://img.shields.io/badge/MCU-ESP32--S3-red)](https://www.espressif.com/en/products/socs/esp32-s3) [![LoRa Module](https://img.shields.io/badge/LoRa%20Module-SX1262-orange)](https://www.semtech.com/products/wireless-rf/lora-connect/sx1262) -> TinyGS satellite ground station on the **LilyGo T-Deck Plus ESP32-S3** with SX1262 LoRa module. +> **This is a specialized fork for LilyGo T-Deck Plus support. For general TinyGS documentation, see the [original TinyGS repository](https://github.com/G4lile0/tinyGS) or [original README](README-ORIGINAL.md).** ## Live Stations Our operational stations contributing to the global TinyGS network: -- **[PiTAYA_gs_001](https://tinygs.com/station/PiTAYA_gs_001@393436548)** - Ariel, Israel 📍 -- **[PiTAYA_gs_002](https://tinygs.com/station/PiTAYA_gs_002@393436548)** - Haifa, Israel 📍 -- **[test_Intro2SDR_AU](https://tinygs.com/station/test_Intro2SDR_AU@393436548)** - Ariel University (Educational Demo) 📍 +- **[PiTAYA_gs_001](https://tinygs.com/station/PiTAYA_gs_001@393436548)** - Ariel, Israel +- **[PiTAYA_gs_002](https://tinygs.com/station/PiTAYA_gs_002@393436548)** - Haifa, Israel +- **[test_Intro2SDR_AU](https://tinygs.com/station/test_Intro2SDR_AU@393436548)** - Ariel University, Israel (Educational Demo) ## Quick Start Guide @@ -80,7 +80,7 @@ After successful upload, your T-Deck Plus will: - [Add T-Deck Plus to board selection dropdown for ESP32-S3](https://github.com/G4lile0/tinyGS/commit/da861c42294cdeceebb34a8ca5e6ebde961d4492) - [Add `lilygo_t_deck_plus_s3` build environment](https://github.com/G4lile0/tinyGS/commit/ebabc8cb8b3ebc27f36096e643eb0db1ea9b033c) -## 🔗 Resources and Links +## Resources and Links ### TinyGS Community @@ -95,14 +95,14 @@ After successful upload, your T-Deck Plus will: - **[LilyGo T-Deck Plus Official Repo](https://github.com/Xinyuan-LilyGO/T-Deck)** - Sample code and more detailed information about this board -## 🙏 Acknowledgments +## Acknowledgments - **Prof. Ben-Moshe** (Ariel University) - Equipment provision, project motivation, and introduction to TinyGS and LoRa technologies and many more... - **TinyGS Community** - Original project development and global satellite tracking network - **[@G4lile0](https://github.com/G4lile0)** - TinyGS project creator and maintainer -## 📜 License +## License This project maintains the same license as the original TinyGS project: From b7a3c6c82a349a86a389b92f04c03514b92b81a6 Mon Sep 17 00:00:00 2001 From: Imry Date: Sun, 1 Jun 2025 19:06:28 +0300 Subject: [PATCH 09/14] Add universal ESP32-S3 configuration --- platformio.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platformio.ini b/platformio.ini index 63ee04af..6c520fd0 100644 --- a/platformio.ini +++ b/platformio.ini @@ -53,7 +53,7 @@ board_build.mcu = esp32c3 board_build.f_cpu = 160000000L framework = arduino -[env:lilygo_t_deck_plus_s3] +[env:esp32s3] platform = espressif32@ 6.5.0 board = esp32-s3-devkitc-1 board_build.mcu = esp32s3 @@ -63,4 +63,4 @@ build_flags = -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=1 monitor_port = /dev/ttyACM* -upload_port = /dev/ttyACM* \ No newline at end of file +upload_port = /dev/ttyACM* From 1d8d7ab43bb118f621af3cc0cb836cad88cbae2c Mon Sep 17 00:00:00 2001 From: imry Date: Tue, 3 Jun 2025 14:12:36 +0300 Subject: [PATCH 10/14] auto detect monitor and upload port for esp32s3 --- platformio.ini | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/platformio.ini b/platformio.ini index 6c520fd0..55dcff52 100644 --- a/platformio.ini +++ b/platformio.ini @@ -62,5 +62,4 @@ build_flags = ${env.build_flags} -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=1 -monitor_port = /dev/ttyACM* -upload_port = /dev/ttyACM* + From 2e6c04e1898d9cd4f499e887bdbd8ebf53d1a778 Mon Sep 17 00:00:00 2001 From: imry Date: Tue, 3 Jun 2025 14:14:40 +0300 Subject: [PATCH 11/14] remove [env:heltec_wifi_lora_32_V3] to standardize on a universal ESP32-S3 configuration --- platformio.ini | 7 ------- 1 file changed, 7 deletions(-) diff --git a/platformio.ini b/platformio.ini index 55dcff52..0755c807 100644 --- a/platformio.ini +++ b/platformio.ini @@ -39,13 +39,6 @@ monitor_port = /dev/ttyUSB* upload_port = /dev/ttyUSB* - -[env:heltec_wifi_lora_32_V3] -platform = espressif32@ 6.5.0 -board = heltec_wifi_lora_32_V3 -board_build.mcu = esp32s3 -framework = arduino - [env:esp32c3] platform = espressif32@ 6.5.0 board = seeed_xiao_esp32c3 From fde8a38c018bd54333cdde60c09e10047a17eb4d Mon Sep 17 00:00:00 2001 From: imry Date: Tue, 3 Jun 2025 14:29:40 +0300 Subject: [PATCH 12/14] Revert "Update README.md" This reverts commit b46d832ee24ec7e4d060caf2e35b9cff2f5a2c73. --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 22989ad7..270d11e1 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,15 @@ [![TinyGS Stations](https://img.shields.io/badge/Ground%20Stations-3%20Ready-green)](https://tinygs.com/stations) [![Pull Request](https://img.shields.io/badge/Device-LILYGO®%20T--Deck%20Plus-blue)](https://lilygo.cc/products/t-deck-plus-1) [![MCU](https://img.shields.io/badge/MCU-ESP32--S3-red)](https://www.espressif.com/en/products/socs/esp32-s3) [![LoRa Module](https://img.shields.io/badge/LoRa%20Module-SX1262-orange)](https://www.semtech.com/products/wireless-rf/lora-connect/sx1262) -> **This is a specialized fork for LilyGo T-Deck Plus support. For general TinyGS documentation, see the [original TinyGS repository](https://github.com/G4lile0/tinyGS) or [original README](README-ORIGINAL.md).** +> TinyGS satellite ground station on the **LilyGo T-Deck Plus ESP32-S3** with SX1262 LoRa module. ## Live Stations Our operational stations contributing to the global TinyGS network: -- **[PiTAYA_gs_001](https://tinygs.com/station/PiTAYA_gs_001@393436548)** - Ariel, Israel -- **[PiTAYA_gs_002](https://tinygs.com/station/PiTAYA_gs_002@393436548)** - Haifa, Israel -- **[test_Intro2SDR_AU](https://tinygs.com/station/test_Intro2SDR_AU@393436548)** - Ariel University, Israel (Educational Demo) +- **[PiTAYA_gs_001](https://tinygs.com/station/PiTAYA_gs_001@393436548)** - Ariel, Israel 📍 +- **[PiTAYA_gs_002](https://tinygs.com/station/PiTAYA_gs_002@393436548)** - Haifa, Israel 📍 +- **[test_Intro2SDR_AU](https://tinygs.com/station/test_Intro2SDR_AU@393436548)** - Ariel University (Educational Demo) 📍 ## Quick Start Guide @@ -80,7 +80,7 @@ After successful upload, your T-Deck Plus will: - [Add T-Deck Plus to board selection dropdown for ESP32-S3](https://github.com/G4lile0/tinyGS/commit/da861c42294cdeceebb34a8ca5e6ebde961d4492) - [Add `lilygo_t_deck_plus_s3` build environment](https://github.com/G4lile0/tinyGS/commit/ebabc8cb8b3ebc27f36096e643eb0db1ea9b033c) -## Resources and Links +## 🔗 Resources and Links ### TinyGS Community @@ -95,14 +95,14 @@ After successful upload, your T-Deck Plus will: - **[LilyGo T-Deck Plus Official Repo](https://github.com/Xinyuan-LilyGO/T-Deck)** - Sample code and more detailed information about this board -## Acknowledgments +## 🙏 Acknowledgments - **Prof. Ben-Moshe** (Ariel University) - Equipment provision, project motivation, and introduction to TinyGS and LoRa technologies and many more... - **TinyGS Community** - Original project development and global satellite tracking network - **[@G4lile0](https://github.com/G4lile0)** - TinyGS project creator and maintainer -## License +## 📜 License This project maintains the same license as the original TinyGS project: From bd4901b23d656a28e6c8057a91166ca48094d1b3 Mon Sep 17 00:00:00 2001 From: imry Date: Tue, 3 Jun 2025 14:31:43 +0300 Subject: [PATCH 13/14] Revert "Rename README.md to README-ORIGINAL.md" This reverts commit 237b6fdb --- README-ORIGINAL.md | 156 ------------------------------------ README.md | 192 +++++++++++++++++++++++++++------------------ 2 files changed, 115 insertions(+), 233 deletions(-) delete mode 100644 README-ORIGINAL.md diff --git a/README-ORIGINAL.md b/README-ORIGINAL.md deleted file mode 100644 index 2f75a824..00000000 --- a/README-ORIGINAL.md +++ /dev/null @@ -1,156 +0,0 @@ -

- -

- -TinyGS is an open network of Ground Stations distributed around the world to receive and operate LoRa satellites, weather probes and other flying objects, using cheap and versatile modules. - -# Hardware - -This project is based on ESP32 boards and currently it is compatible with sx126x and sx127x LoRa módules but we plan to support more radio módules in the future. - -Currently we are officially supporting the following proven LoRa boards: - -- **Heltec WiFi LoRa 32 V1 (433MHz & 863-928MHz versions)** -- **Heltec WiFi LoRa 32 V2 (433MHz & 863-928MHz versions)** -- **TTGO LoRa32 V1 (433MHz & 868-915MHz versions)** -- **TTGO LoRa32 V2 (433MHz & 868-915MHz versions)** -- **TTGO LoRa32 V2 (Manually swapped SX1267 to SX1278)** -- **T-BEAM + OLED (433MHz & 868-915MHz versions)** -- **T-BEAM V1.0 + OLED** -- **FOSSA 1W Ground Station (433MHz & 868-915MHz versions)** -- **ESP32 dev board + SX126X with crystal (Custom build, OLED optional)** -- **ESP32 dev board + SX126X with TCXO (Custom build, OLED optional)** -- **ESP32 dev board + SX127X (Custom build, OLED optional)** -- **ESP32-S3 150–960Mhz - HELTEC LORA32 V3 SX1262** -- **ESP32-S3 433Mhz Custom ESP32-S3 433MHz SX1278** - -However, any ESP32 board with sx126x or sx127x módule can be configured using templates. You can find more info about them [here](https://github.com/G4lile0/tinyGS/wiki/Board-Templates). - -# Install - ------- - -#### Use our brand new web installer to setup your board for first time. Just go to https://installer.tinygs.com and follow the instructions there - ------ - -The first time you flash your board you can use the [web installer](https://installer.tinygs.com) using Google Chrome web browser on Linux, Windows or MacOS. Follow instructions there. - -You can also download the latest [release](https://github.com/G4lile0/tinyGS/releases) and flash it with PlatformIO. If you dont know PlatformIO here you have our [PlatformIO guide](https://github.com/G4lile0/tinyGS/wiki/Platformio). - -Later you can update your Ground Station via [local web OTA or auto update method](https://github.com/G4lile0/tinyGS/wiki/OTA-Update). - -You can also use Arduino IDE, but is a longer and hard path, because you need to install all dependencies. [Arduino guide](https://github.com/G4lile0/tinyGS/wiki/Arduino-IDE) - -# Configuration - -Check our wiki [configuration page](https://github.com/G4lile0/tinyGS/wiki/Ground-Station-configuration) - -# Main data website - -All data received by TinyGS Ground Stations are showed at our TinyGS website - -[https://tinygs.com/](https://tinygs.com/) - -At this web you can see: - -- [Ground Stations list](https://tinygs.com/stations) -- [Supported satellites](https://tinygs.com/satellites) -- [All data packets received by the community in real time](https://tinygs.com/packets) - -At your personal area you can edit some parameters of your Ground Stations remotely. - -This is the main data recovery system, but we are developing an API to access data. - -# Local data access - -You can access to your Ground Station data and configuration via local website at your - -

- -

- -Also you can use the serial port of your board to see the basic console. - -# TinyGS network architecture - -

- -

- -# OTA update and Auto Tuning - -Once your Ground Station is alive and connected it can be automagically updated with the last version by the server via [OTA](https://github.com/G4lile0/tinyGS/wiki/OTA-Update). - -Also the Ground stations can be remote configured automagically ([Auto Tuning](https://github.com/G4lile0/tinyGS/wiki/Radio-Tuning-Guide)) to be able to hear the next satellite pass with the correct settings. - -Both systems are optional and you can opt-out at your Ground Station configuration, for example if you want to only support one specific satellite. But we recommend activating both to maintain the network health. - -# Community - -We are using Telegram as the main communication channel for the project. There are also two channels where you can subscribe and be updated automátically whenever a new packet is received by the network from the Satellite. - -- [Main community chat](https://t.me/joinchat/DmYSElZahiJGwHX6jCzB3Q) -- [Data channel](https://t.me/tinyGS_Telemetry) station status and received packets -- [Test channel](https://t.me/TinyGS_Test) RX packets by groundstations in test mode - -# History - -Initially TinyGS was born under the name ESP32 Fossa Groundstation, it was developed as a "weekend" project for the FossaSAT-1 LoRa satellite. We are passionate about space and created this project to be able to track and use the satellites and to learn and experiment about radio. Currently the network is open to any LoRa satellite and we also support other flying objects that have a compatible radio modulation with our hardware such as FSK, GFSK, MSK, GMSK, LoRa and OOK. And the project was renamed to TinyGS. - -Even though we have no relation with the Fossa team, they inspired this project and we are excited to support their new launched satellites into our network. - -This are the more important moments of the project: - -- Nov 28, 2019 ESP32-OLED-Fossa-GroundStation project born. -- Dec 6, 2019 FossaSAT-1 deployed with an Electron rocket by Rocket Lab. -- Dec 10,2019 YL3CT's GS receive the fist LoRa packet from FossaSAT-1 -- Sep 28,2020 6U Norby LoRa satellite is deployed with a Soyuz-2-1b launcher -- Oct 11, 2020 KA9ETC's GS receive the first LoRa packet from Norby -- Jan 24, 2021 3x V-R3x sat deployed with a Falcon-9 -- Jan 25, 2021 KA9ETC'S GS receive the first LoRa packet from V-R3x -- Feb 14, 2021 New name and web tinyGS.com with a new Beta firmware. - -# Contribute - -You can contribute to TinyGS by - -- Providing Pull Requests (Features, Proof of Concepts, Language files or Fixes) -- Testing new released features and report issues -- Contributing missing documentation for features and devices templates - -# Documentation - -Check our [wiki](https://github.com/G4lile0/tinyGS/wiki)! - -# Project dependencies - -This project relies on several third party libraries: - -- RadioLib -- ArduinoJson -- ESP8266\_SSD1306 -- IoTWebConf2 -- PubSubClient -- ESPNTPClient -- FailSafeMode - -You might also want to check out the other parts of this project: - * The web application: https://github.com/4m1g0/tinyGS-webapp - * The decoder modules: https://github.com/4m1g0/tinygs-decoders - -# TinyGS team - -The main TinyGS developer team is: - -- [4m1g0](https://github.com/4m1g0) -- [G4lile0](https://github.com/G4lile0) -- [gmag11](https://github.com/gmag11) - -# Contributors -There are many people that contributed to this project in many different forms. We have a great active community in our Telegram group and we would really like to thank all the community support from contributions to the project to useful tips on the group. And, if your are still not part of it we would like to invite you to join it on [Telegram](https://t.me/joinchat/DmYSElZahiJGwHX6jCzB3Q). - - -# License - -This program is licensed under GPL-3.0 diff --git a/README.md b/README.md index 270d11e1..2f75a824 100644 --- a/README.md +++ b/README.md @@ -1,118 +1,156 @@ +

+ +

-# TinyGS on LilyGo T-Deck Plus ESP32-S3 +TinyGS is an open network of Ground Stations distributed around the world to receive and operate LoRa satellites, weather probes and other flying objects, using cheap and versatile modules. -[![TinyGS Stations](https://img.shields.io/badge/Ground%20Stations-3%20Ready-green)](https://tinygs.com/stations) [![Pull Request](https://img.shields.io/badge/Device-LILYGO®%20T--Deck%20Plus-blue)](https://lilygo.cc/products/t-deck-plus-1) [![MCU](https://img.shields.io/badge/MCU-ESP32--S3-red)](https://www.espressif.com/en/products/socs/esp32-s3) [![LoRa Module](https://img.shields.io/badge/LoRa%20Module-SX1262-orange)](https://www.semtech.com/products/wireless-rf/lora-connect/sx1262) +# Hardware -> TinyGS satellite ground station on the **LilyGo T-Deck Plus ESP32-S3** with SX1262 LoRa module. +This project is based on ESP32 boards and currently it is compatible with sx126x and sx127x LoRa módules but we plan to support more radio módules in the future. -## Live Stations +Currently we are officially supporting the following proven LoRa boards: -Our operational stations contributing to the global TinyGS network: +- **Heltec WiFi LoRa 32 V1 (433MHz & 863-928MHz versions)** +- **Heltec WiFi LoRa 32 V2 (433MHz & 863-928MHz versions)** +- **TTGO LoRa32 V1 (433MHz & 868-915MHz versions)** +- **TTGO LoRa32 V2 (433MHz & 868-915MHz versions)** +- **TTGO LoRa32 V2 (Manually swapped SX1267 to SX1278)** +- **T-BEAM + OLED (433MHz & 868-915MHz versions)** +- **T-BEAM V1.0 + OLED** +- **FOSSA 1W Ground Station (433MHz & 868-915MHz versions)** +- **ESP32 dev board + SX126X with crystal (Custom build, OLED optional)** +- **ESP32 dev board + SX126X with TCXO (Custom build, OLED optional)** +- **ESP32 dev board + SX127X (Custom build, OLED optional)** +- **ESP32-S3 150–960Mhz - HELTEC LORA32 V3 SX1262** +- **ESP32-S3 433Mhz Custom ESP32-S3 433MHz SX1278** -- **[PiTAYA_gs_001](https://tinygs.com/station/PiTAYA_gs_001@393436548)** - Ariel, Israel 📍 -- **[PiTAYA_gs_002](https://tinygs.com/station/PiTAYA_gs_002@393436548)** - Haifa, Israel 📍 -- **[test_Intro2SDR_AU](https://tinygs.com/station/test_Intro2SDR_AU@393436548)** - Ariel University (Educational Demo) 📍 +However, any ESP32 board with sx126x or sx127x módule can be configured using templates. You can find more info about them [here](https://github.com/G4lile0/tinyGS/wiki/Board-Templates). -## Quick Start Guide +# Install -### Step 1: Install PlatformIO +------ -Install PlatformIO Core via command line: +#### Use our brand new web installer to setup your board for first time. Just go to https://installer.tinygs.com and follow the instructions there -```bash -# Install PlatformIO Core via pip -pip install -U platformio +----- -# Verify installation -pio --version +The first time you flash your board you can use the [web installer](https://installer.tinygs.com) using Google Chrome web browser on Linux, Windows or MacOS. Follow instructions there. -``` +You can also download the latest [release](https://github.com/G4lile0/tinyGS/releases) and flash it with PlatformIO. If you dont know PlatformIO here you have our [PlatformIO guide](https://github.com/G4lile0/tinyGS/wiki/Platformio). -### Step 2: Clone and Build +Later you can update your Ground Station via [local web OTA or auto update method](https://github.com/G4lile0/tinyGS/wiki/OTA-Update). -```bash -# Clone this repository -git clone https://github.com/iMRUM/t-deck-plus-tinygs.git -cd t-deck-plus-tinygs +You can also use Arduino IDE, but is a longer and hard path, because you need to install all dependencies. [Arduino guide](https://github.com/G4lile0/tinyGS/wiki/Arduino-IDE) -# Connect your T-Deck Plus via USB-C -# The T-Deck Plus environment is already configured in platformio.ini +# Configuration -# Upload firmware -pio run -e lilygo_t_deck_plus_s3 -t upload +Check our wiki [configuration page](https://github.com/G4lile0/tinyGS/wiki/Ground-Station-configuration) -``` +# Main data website -### Step 3: Initial Configuration +All data received by TinyGS Ground Stations are showed at our TinyGS website -After successful upload, your T-Deck Plus will: +[https://tinygs.com/](https://tinygs.com/) -1. **Boot up** and show TinyGS splash screen -2. **Create WiFi Access Point** named "My TinyGS" or "TinyGS-xxxxxx" -3. **Wait for configuration** via web interface +At this web you can see: -### Step 4: Web Configuration +- [Ground Stations list](https://tinygs.com/stations) +- [Supported satellites](https://tinygs.com/satellites) +- [All data packets received by the community in real time](https://tinygs.com/packets) -1. **Connect to AP**: Join the "My TinyGS" WiFi network (usually no password) - -2. **Open Browser**: Navigate to `http://192.168.4.1/` - -3. **Configure Station**: - - - **Ground Station Name**: Choose unique name (appears on global map) - - **Board Type**: Select **"433MHz LilyGo T-Deck Plus SX1262"** from dropdown - - **Location**: Enter latitude/longitude coordinates - - **WiFi**: Your WiFi credentials for internet access - - **MQTT**: Get credentials from [TinyGS Personal Bot](https://t.me/tinygs_personal_bot) -4. **Save Configuration**: Device will restart and connect to internet - +At your personal area you can edit some parameters of your Ground Stations remotely. -### Step 5: Verify Operation +This is the main data recovery system, but we are developing an API to access data. -- **Global Map**: Your station appears on [TinyGS map](https://tinygs.com/stations) -- **Dashboard**: Access local dashboard at your device's IP address -- **Radio Status**: Should show "READY" (green) -- **Packets**: Begin receiving satellite telemetry automatically +# Local data access -### Commits Made -- [Add T-Deck Plus ESP32-S3 board support with correct pin mappings (no OLED pins, pins 11 and 16 were configured for OLED pseudo-support)](https://github.com/G4lile0/tinyGS/commit/89acfcfc8a67934adc27844fd8d9255e2074b2e7) -- [Add T-Deck Plus to ESP32-S3 board enum](https://github.com/G4lile0/tinyGS/commit/46611b95b09cfbc87426601bef6e5438e590102f) -- [Add T-Deck Plus to board selection dropdown for ESP32-S3](https://github.com/G4lile0/tinyGS/commit/da861c42294cdeceebb34a8ca5e6ebde961d4492) -- [Add `lilygo_t_deck_plus_s3` build environment](https://github.com/G4lile0/tinyGS/commit/ebabc8cb8b3ebc27f36096e643eb0db1ea9b033c) +You can access to your Ground Station data and configuration via local website at your -## 🔗 Resources and Links +

+ +

-### TinyGS Community +Also you can use the serial port of your board to see the basic console. -- **[TinyGS Main Repository](https://github.com/G4lile0/tinyGS)** - Original project -- **[TinyGS Website](https://tinygs.com/)** - Global network dashboard -- **[TinyGS Telegram](https://t.me/joinchat/DmYSElZahiJGwHX6jCzB3Q)** - Community support -- **[TinyGS Personal Bot](https://t.me/tinygs_personal_bot)** - Get MQTT credentials +# TinyGS network architecture -### Technical Documentation +

+ +

-- **[LilyGo T-Deck Plus Product Page](https://lilygo.cc/products/t-deck-plus-1)** - Device Specs -- **[LilyGo T-Deck Plus Official Repo](https://github.com/Xinyuan-LilyGO/T-Deck)** - Sample code and more detailed information about this board +# OTA update and Auto Tuning +Once your Ground Station is alive and connected it can be automagically updated with the last version by the server via [OTA](https://github.com/G4lile0/tinyGS/wiki/OTA-Update). -## 🙏 Acknowledgments +Also the Ground stations can be remote configured automagically ([Auto Tuning](https://github.com/G4lile0/tinyGS/wiki/Radio-Tuning-Guide)) to be able to hear the next satellite pass with the correct settings. -- **Prof. Ben-Moshe** (Ariel University) - Equipment provision, project motivation, and introduction to TinyGS and LoRa technologies and many more... -- **TinyGS Community** - Original project development and global satellite tracking network -- **[@G4lile0](https://github.com/G4lile0)** - TinyGS project creator and maintainer +Both systems are optional and you can opt-out at your Ground Station configuration, for example if you want to only support one specific satellite. But we recommend activating both to maintain the network health. +# Community -## 📜 License +We are using Telegram as the main communication channel for the project. There are also two channels where you can subscribe and be updated automátically whenever a new packet is received by the network from the Satellite. -This project maintains the same license as the original TinyGS project: +- [Main community chat](https://t.me/joinchat/DmYSElZahiJGwHX6jCzB3Q) +- [Data channel](https://t.me/tinyGS_Telemetry) station status and received packets +- [Test channel](https://t.me/TinyGS_Test) RX packets by groundstations in test mode -- **GNU General Public License v3.0** -- See LICENSE file for details +# History ----------- +Initially TinyGS was born under the name ESP32 Fossa Groundstation, it was developed as a "weekend" project for the FossaSAT-1 LoRa satellite. We are passionate about space and created this project to be able to track and use the satellites and to learn and experiment about radio. Currently the network is open to any LoRa satellite and we also support other flying objects that have a compatible radio modulation with our hardware such as FSK, GFSK, MSK, GMSK, LoRa and OOK. And the project was renamed to TinyGS. -**Built with ❤️ for the global space community** +Even though we have no relation with the Fossa team, they inspired this project and we are excited to support their new launched satellites into our network. ----------- +This are the more important moments of the project: -_This guide represents a community contribution to expand TinyGS hardware support. For general TinyGS questions, please refer to the [main project documentation](https://github.com/G4lile0/tinyGS)._ +- Nov 28, 2019 ESP32-OLED-Fossa-GroundStation project born. +- Dec 6, 2019 FossaSAT-1 deployed with an Electron rocket by Rocket Lab. +- Dec 10,2019 YL3CT's GS receive the fist LoRa packet from FossaSAT-1 +- Sep 28,2020 6U Norby LoRa satellite is deployed with a Soyuz-2-1b launcher +- Oct 11, 2020 KA9ETC's GS receive the first LoRa packet from Norby +- Jan 24, 2021 3x V-R3x sat deployed with a Falcon-9 +- Jan 25, 2021 KA9ETC'S GS receive the first LoRa packet from V-R3x +- Feb 14, 2021 New name and web tinyGS.com with a new Beta firmware. + +# Contribute + +You can contribute to TinyGS by + +- Providing Pull Requests (Features, Proof of Concepts, Language files or Fixes) +- Testing new released features and report issues +- Contributing missing documentation for features and devices templates + +# Documentation + +Check our [wiki](https://github.com/G4lile0/tinyGS/wiki)! + +# Project dependencies + +This project relies on several third party libraries: + +- RadioLib +- ArduinoJson +- ESP8266\_SSD1306 +- IoTWebConf2 +- PubSubClient +- ESPNTPClient +- FailSafeMode + +You might also want to check out the other parts of this project: + * The web application: https://github.com/4m1g0/tinyGS-webapp + * The decoder modules: https://github.com/4m1g0/tinygs-decoders + +# TinyGS team + +The main TinyGS developer team is: + +- [4m1g0](https://github.com/4m1g0) +- [G4lile0](https://github.com/G4lile0) +- [gmag11](https://github.com/gmag11) + +# Contributors +There are many people that contributed to this project in many different forms. We have a great active community in our Telegram group and we would really like to thank all the community support from contributions to the project to useful tips on the group. And, if your are still not part of it we would like to invite you to join it on [Telegram](https://t.me/joinchat/DmYSElZahiJGwHX6jCzB3Q). + + +# License + +This program is licensed under GPL-3.0 From d8fd740f37f577a99a40952026e98acacdadcbc0 Mon Sep 17 00:00:00 2001 From: imry Date: Mon, 9 Jun 2025 12:07:58 +0300 Subject: [PATCH 14/14] remove debugging build flags --- platformio.ini | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/platformio.ini b/platformio.ini index 0755c807..a8347cbd 100644 --- a/platformio.ini +++ b/platformio.ini @@ -51,8 +51,5 @@ platform = espressif32@ 6.5.0 board = esp32-s3-devkitc-1 board_build.mcu = esp32s3 framework = arduino -build_flags = - ${env.build_flags} - -DARDUINO_USB_MODE=1 - -DARDUINO_USB_CDC_ON_BOOT=1 +