From 631fcc67fb4b88b907794bb757c564366d91aad7 Mon Sep 17 00:00:00 2001 From: Jared Dohrman Date: Mon, 13 Apr 2026 16:01:22 +1000 Subject: [PATCH] docs: improve board guidance and normalise eastmesh mqtt targets --- .github/workflows/pr-build-check.yml | 5 +- .github/workflows/push-build-check.yml | 4 +- docs/boards.md | 149 ++-- docs/index.md | 5 + docs/local-builds.md | 94 ++- variants/eastmesh_mqtt/platformio.ini | 1030 ++++++++++++------------ 6 files changed, 665 insertions(+), 622 deletions(-) diff --git a/.github/workflows/pr-build-check.yml b/.github/workflows/pr-build-check.yml index 400e2701..79619c53 100644 --- a/.github/workflows/pr-build-check.yml +++ b/.github/workflows/pr-build-check.yml @@ -21,8 +21,6 @@ jobs: matrix: environment: # ESP32-S3 / core EastMesh targets - - Heltec_v3_companion_radio_wifi - - Heltec_v3_repeater_mqtt - heltec_v4_companion_radio_wifi - heltec_v4_repeater_mqtt - T_Beam_S3_Supreme_SX1262_companion_radio_wifi @@ -31,7 +29,8 @@ jobs: - Xiao_C3_companion_radio_wifi - Xiao_C3_repeater_mqtt # ESP32-C6 - - LilyGo_Tlora_C6_repeater_mqtt_ + - LilyGo_Tlora_C6_repeater_mqtt + - Xiao_C6_repeater_mqtt steps: - name: Clone Repo diff --git a/.github/workflows/push-build-check.yml b/.github/workflows/push-build-check.yml index b3403247..1c96248c 100644 --- a/.github/workflows/push-build-check.yml +++ b/.github/workflows/push-build-check.yml @@ -21,13 +21,13 @@ jobs: matrix: environment: # ESP32-S3 / core EastMesh targets - - Heltec_v3_repeater_mqtt - heltec_v4_repeater_mqtt - T_Beam_S3_Supreme_SX1262_repeater_mqtt # ESP32-C3 - Xiao_C3_repeater_mqtt # ESP32-C6 - - LilyGo_Tlora_C6_repeater_mqtt_ + - LilyGo_Tlora_C6_repeater_mqtt + - Xiao_C6_repeater_mqtt steps: - name: Clone Repo diff --git a/docs/boards.md b/docs/boards.md index 89c8e124..a8e74d5d 100644 --- a/docs/boards.md +++ b/docs/boards.md @@ -1,81 +1,109 @@ # Board Comparison -The tables below are built from the repo's PlatformIO board metadata and variant build flags. `RAM` is the MCU's on-chip RAM where it is known from the MCU family. `PSRAM` is only shown when the repo declares it explicitly or enables it in board metadata. If the board enables PSRAM but the repo does not declare a size, it is marked as `Yes (size not declared)`. +This page is meant to help you choose a board, not just list every technical detail. -## Quick Guidance +If you only want a quick answer: + +- for a roof-mounted or set-and-forget MQTT repeater, start with `heltec_v4`, `heltec_v4_tft`, `Station_G2`, or `T_Beam_S3_Supreme_SX1262` +- for an app-first Wi-Fi companion, headless boards are fine and often simpler +- if you want an onboard screen people will actually use, prefer TFT boards +- if you want a low-power status screen, prefer e-paper boards + +The tables below are built from the repo's PlatformIO board metadata and variant build flags. + +- `Target` is the short board name used in this comparison page. Release filenames and local build commands still use the full env names such as `heltec_v4_repeater_mqtt`. +- `RAM` is the MCU's built-in RAM. +- `PSRAM` is extra memory on some boards. More PSRAM usually means more headroom for UI, MQTT, and future features. +- `Web UI` means the local repeater web panel is enabled in that build. + +If a board enables PSRAM but the repo does not declare the exact size, it is shown as `Yes (size not declared)`. + +## Start Here - Pick an `ESP32-S3` board with `16MB` flash and PSRAM if you want the most headroom for MQTT plus UI: `heltec_v4_tft`, `heltec_v4`, `Station_G2`, `T_Beam_S3_Supreme_SX1262`. - Pick a TFT board if this will be used as a human-facing companion or field node: `heltec_v4_tft`, `heltec_tracker_v2`, `LilyGo_TDeck`, `Heltec_T190`. - Pick e-paper if you want a status screen with lower idle draw and less frequent refresh: `Heltec_E213`, `Heltec_E290`, `Heltec_Wireless_Paper`, `ThinkNode_M5`. - Pick a headless board if this is mainly a fixed MQTT gateway and screen space is not useful: `Xiao_C3`, `RAK_3112`, `Tenstar_C3`, `Heltec_ct62`, `Generic_E22`. +- Pick a headless Wi-Fi companion if the phone app will be the primary UI anyway: `Xiao_C3_companion_radio_wifi`, `RAK_3112_companion_radio_wifi`, `Xiao_S3_WIO_companion_radio_wifi`, `Station_G2_companion_radio_wifi`. - Pick a GPS-capable board if location-aware/mobile use matters: the T-Beam family, `heltec_tracker_v2`, `Heltec_v3`, `heltec_v4`, `Station_G2`, `ThinkNode_M5`. - If you want the most conservative, older radio family choices, the `SX1276` boards are `LilyGo_TLora_V2_1_1_6`, `Tbeam_SX1276`, and `Heltec_v2`. ## `repeater_mqtt` Boards -Rows with a trailing `_` in the env name are still included because they exist in `variants/eastmesh_mqtt/platformio.ini`, but they look more experimental than the main EastMesh targets listed in [local-builds.md](./local-builds.md). +This table includes all repeater MQTT targets currently defined in `variants/eastmesh_mqtt/platformio.ini`. -| Env | CPU | RAM | PSRAM | Flash | LoRa | Display | GPS | Web UI | Notes | -| -------------------------------------- | ----------------- | ------ | ----------------------- | ----- | ------ | --------------- | --- | ------ | --------------------------------------- | -| T_Beam_S3_Supreme_SX1262_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | 8 MB | 8MB | SX1262 | OLED (SH1106) | Yes | Yes | GPS, more memory headroom | -| LilyGo_TLora_V2_1_1_6_repeater_mqtt | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1276 | OLED (SSD1306) | Yes | Yes | GPS | -| LilyGo_TBeam_1W_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 16MB | SX1262 | OLED (SH1106) | Yes | Yes | GPS, more memory headroom | -| Xiao_C3_repeater_mqtt | ESP32C3 / 160 MHz | 400 KB | No | 4 MB | SX1262 | None | Yes | No | headless, GPS, web panel off | -| Ebyte_EoRa-S3_Repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 4MB | SX1262 | OLED (SSD1306) | No | Yes | more memory headroom | -| RAK_3112_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | None | Yes | Yes | headless, GPS | -| Tbeam_SX1262_repeater_mqtt | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1262 | OLED (SSD1306) | Yes | Yes | GPS | -| Heltec_E290_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | 8 MB | 16MB | SX1262 | E-paper (2.9") | No | Yes | low-power display, more memory headroom | -| Tbeam_SX1276_repeater_mqtt | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1276 | OLED (SSD1306) | Yes | Yes | GPS | -| Heltec_E213_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | 8 MB | 16MB | SX1262 | E-paper (2.13") | No | Yes | low-power display, more memory headroom | -| Heltec_Wireless_Tracker_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | TFT (ST7735) | Yes | Yes | richer UI, GPS | -| M5Stack_Unit_C6L_repeater_mqtt | ESP32C6 / 160 MHz | 512 KB | No | 4 MB | SX1262 | None | Yes | Yes | headless, GPS | -| LilyGo_TDeck_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | No | 16MB | SX1262 | TFT (ST7789) | Yes | Yes | richer UI, GPS | -| Station_G2_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 16MB | SX1262 | OLED (SH1106) | Yes | Yes | GPS, more memory headroom | -| Station_G2_logging_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 16MB | SX1262 | OLED (SH1106) | Yes | Yes | GPS, more memory headroom | -| LilyGo_T3S3_sx1262_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 4MB | SX1262 | OLED (SSD1306) | No | Yes | more memory headroom | -| Meshadventurer_sx1262_repeater_mqtt | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1262 | OLED (SSD1306) | Yes | Yes | GPS | -| Meshadventurer_sx1268_repeater_mqtt | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1268 | OLED (SSD1306) | Yes | Yes | GPS | -| Heltec_Wireless_Paper_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | E-paper (2.13") | No | Yes | low-power display | -| heltec_v4_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | 2 MB | 16MB | SX1262 | OLED (SSD1306) | Yes | Yes | GPS, more memory headroom | -| heltec_v4_tft_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | 2 MB | 16MB | SX1262 | TFT (ST7789) | Yes | Yes | richer UI, GPS, more memory headroom | -| heltec_tracker_v2_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | No | 8MB | SX1262 | TFT (ST7735) | Yes | Yes | richer UI, GPS | -| Heltec_v3_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | OLED (SSD1306) | Yes | Yes | GPS | -| Heltec_WSL3_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | None | Yes | Yes | headless, GPS | -| LilyGo_T3S3_sx1276_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 4MB | SX1276 | OLED (SSD1306) | No | Yes | more memory headroom | -| LilyGo*Tlora_C6_repeater_mqtt* | ESP32C6 / 160 MHz | 512 KB | No | 4 MB | SX1262 | None | No | Yes | headless | -| Xiao*C6_repeater_mqtt* | ESP32C6 / 160 MHz | 512 KB | No | 4 MB | SX1262 | None | No | Yes | headless | -| Meshimi*repeater_mqtt* | ESP32C6 / 160 MHz | 512 KB | No | 4 MB | SX1262 | None | No | Yes | headless | -| WHY2025*badge_repeater_mqtt* | ESP32C6 / 160 MHz | 512 KB | No | 4 MB | SX1262 | None | No | Yes | headless | -| Heltec_v2_repeater_mqtt | ESP32 / 240 MHz | 520 KB | No | 8 MB | SX1276 | OLED (SSD1306) | No | Yes | | -| nibble_screen_connect_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | No | 4MB | SX1262 | OLED (SSD1306) | No | Yes | | -| ThinkNode_M2_Repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | No | 4MB | SX1262 | OLED (SH1106) | No | Yes | | -| ThinkNode_M5_Repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | No | 4MB | SX1262 | E-paper (GxEPD) | Yes | Yes | low-power display, GPS | -| Heltec*T190_repeater_mqtt* | ESP32S3 / 240 MHz | 512 KB | 8 MB | 16MB | SX1262 | TFT (ST7789) | No | Yes | richer UI, more memory headroom | -| Tenstar_C3_sx1262_repeater_mqtt | ESP32C3 / 160 MHz | 400 KB | No | 4 MB | SX1262 | None | No | Yes | headless | -| Tenstar_C3_sx1268_repeater_mqtt | ESP32C3 / 160 MHz | 400 KB | No | 4 MB | SX1268 | None | No | Yes | headless | -| Heltec_ct62_repeater_mqtt | ESP32C3 / 160 MHz | 400 KB | No | 4 MB | SX1262 | None | No | Yes | headless | -| Xiao_S3_WIO_repeater_mqtt | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | None | Yes | Yes | headless, GPS | -| Generic_E22_sx1262_repeater_mqtt | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1262 | None | No | Yes | headless | -| Generic_E22_sx1268_repeater_mqtt | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1268 | None | No | Yes | headless | +| Target | CPU | RAM | PSRAM | Flash | LoRa | Display | GPS | Web UI | Notes | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| Ebyte_EoRa-S3 | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 4MB | SX1262 | OLED (SSD1306) | No | Yes | more memory headroom | +| Generic_E22_sx1262 | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1262 | None | No | Yes | headless | +| Generic_E22_sx1268 | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1268 | None | No | Yes | headless | +| Heltec_ct62 | ESP32C3 / 160 MHz | 400 KB | No | 4 MB | SX1262 | None | No | Yes | headless | +| Heltec_E213 | ESP32S3 / 240 MHz | 512 KB | 8 MB | 16MB | SX1262 | E-paper (2.13") | No | Yes | low-power display, more memory headroom | +| Heltec_E290 | ESP32S3 / 240 MHz | 512 KB | 8 MB | 16MB | SX1262 | E-paper (2.9") | No | Yes | low-power display, more memory headroom | +| Heltec_T190 | ESP32S3 / 240 MHz | 512 KB | 8 MB | 16MB | SX1262 | TFT (ST7789) | No | Yes | richer UI, more memory headroom | +| heltec_tracker_v2 | ESP32S3 / 240 MHz | 512 KB | No | 8MB | SX1262 | TFT (ST7735) | Yes | Yes | richer UI, GPS | +| Heltec_v2 | ESP32 / 240 MHz | 520 KB | No | 8 MB | SX1276 | OLED (SSD1306) | No | Yes | | +| Heltec_v3 | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | OLED (SSD1306) | Yes | Yes | GPS | +| heltec_v4 | ESP32S3 / 240 MHz | 512 KB | 2 MB | 16MB | SX1262 | OLED (SSD1306) | Yes | Yes | GPS, more memory headroom | +| heltec_v4_tft | ESP32S3 / 240 MHz | 512 KB | 2 MB | 16MB | SX1262 | TFT (ST7789) | Yes | Yes | richer UI, GPS, more memory headroom | +| Heltec_Wireless_Paper | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | E-paper (2.13") | No | Yes | low-power display | +| Heltec_Wireless_Tracker | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | TFT (ST7735) | Yes | Yes | richer UI, GPS | +| Heltec_WSL3 | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | None | Yes | Yes | headless, GPS | +| LilyGo_T3S3_sx1262 | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 4MB | SX1262 | OLED (SSD1306) | No | Yes | more memory headroom | +| LilyGo_T3S3_sx1276 | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 4MB | SX1276 | OLED (SSD1306) | No | Yes | more memory headroom | +| LilyGo_TBeam_1W | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 16MB | SX1262 | OLED (SH1106) | Yes | Yes | GPS, more memory headroom | +| LilyGo_TDeck | ESP32S3 / 240 MHz | 512 KB | No | 16MB | SX1262 | TFT (ST7789) | Yes | Yes | richer UI, GPS | +| LilyGo_Tlora_C6 | ESP32C6 / 160 MHz | 512 KB | No | 4 MB | SX1262 | None | No | Yes | headless | +| LilyGo_TLora_V2_1_1_6 | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1276 | OLED (SSD1306) | Yes | Yes | GPS | +| M5Stack_Unit_C6L | ESP32C6 / 160 MHz | 512 KB | No | 4 MB | SX1262 | None | Yes | Yes | headless, GPS | +| Meshadventurer_sx1262 | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1262 | OLED (SSD1306) | Yes | Yes | GPS | +| Meshadventurer_sx1268 | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1268 | OLED (SSD1306) | Yes | Yes | GPS | +| Meshimi | ESP32C6 / 160 MHz | 512 KB | No | 4 MB | SX1262 | None | No | Yes | headless | +| nibble_screen_connect | ESP32S3 / 240 MHz | 512 KB | No | 4MB | SX1262 | OLED (SSD1306) | No | Yes | | +| RAK_3112 | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | None | Yes | Yes | headless, GPS | +| Station_G2 | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 16MB | SX1262 | OLED (SH1106) | Yes | Yes | GPS, more memory headroom | +| Station_G2_logging | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 16MB | SX1262 | OLED (SH1106) | Yes | Yes | GPS, more memory headroom | +| T_Beam_S3_Supreme_SX1262 | ESP32S3 / 240 MHz | 512 KB | 8 MB | 8MB | SX1262 | OLED (SH1106) | Yes | Yes | GPS, more memory headroom | +| Tbeam_SX1262 | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1262 | OLED (SSD1306) | Yes | Yes | GPS | +| Tbeam_SX1276 | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1276 | OLED (SSD1306) | Yes | Yes | GPS | +| Tenstar_C3_sx1262 | ESP32C3 / 160 MHz | 400 KB | No | 4 MB | SX1262 | None | No | Yes | headless | +| Tenstar_C3_sx1268 | ESP32C3 / 160 MHz | 400 KB | No | 4 MB | SX1268 | None | No | Yes | headless | +| ThinkNode_M2 | ESP32S3 / 240 MHz | 512 KB | No | 4MB | SX1262 | OLED (SH1106) | No | Yes | | +| ThinkNode_M5 | ESP32S3 / 240 MHz | 512 KB | No | 4MB | SX1262 | E-paper (GxEPD) | Yes | Yes | low-power display, GPS | +| WHY2025_badge | ESP32C6 / 160 MHz | 512 KB | No | 4 MB | SX1262 | None | No | Yes | headless | +| Xiao_C3 | ESP32C3 / 160 MHz | 400 KB | No | 4 MB | SX1262 | None | Yes | No | headless, GPS, web panel off | +| Xiao_C6 | ESP32C6 / 160 MHz | 512 KB | No | 4 MB | SX1262 | None | No | Yes | headless | +| Xiao_S3_WIO | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | None | Yes | Yes | headless, GPS | ## `companion_radio_wifi` Boards With A Display -This table only includes Wi-Fi companion envs that actually have a display configured. Headless Wi-Fi companion envs such as `Xiao_C3_companion_radio_wifi` are intentionally excluded here. +These are the Wi-Fi companion targets that have a display configured for local status, setup help, or occasional direct interaction. -| Env | CPU | RAM | PSRAM | Flash | LoRa | Display | GPS | Notes | -| --------------------------------------------- | ----------------- | ------ | ----------------------- | ----- | ------ | --------------- | --- | ------------------------------------ | -| heltec_tracker_v2_companion_radio_wifi | ESP32S3 / 240 MHz | 512 KB | No | 8MB | SX1262 | TFT (ST7735) | Yes | richer UI, GPS | -| Heltec_v2_companion_radio_wifi | ESP32 / 240 MHz | 520 KB | No | 8 MB | SX1276 | OLED (SSD1306) | No | | -| Heltec_v3_companion_radio_wifi | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | OLED (SSD1306) | Yes | GPS | -| heltec_v4_companion_radio_wifi | ESP32S3 / 240 MHz | 512 KB | 2 MB | 16MB | SX1262 | OLED (SSD1306) | Yes | GPS, more memory headroom | -| heltec_v4_tft_companion_radio_wifi | ESP32S3 / 240 MHz | 512 KB | 2 MB | 16MB | SX1262 | TFT (ST7789) | Yes | richer UI, GPS, more memory headroom | -| LilyGo_TBeam_1W_companion_radio_wifi | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 16MB | SX1262 | OLED (SH1106) | Yes | GPS, more memory headroom | -| LilyGo_TLora_V2_1_1_6_companion_radio_wifi | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1276 | OLED (SSD1306) | Yes | GPS | -| nibble_screen_connect_companion_radio_wifi | ESP32S3 / 240 MHz | 512 KB | No | 4MB | SX1262 | OLED (SSD1306) | No | | -| Station_G2_companion_radio_wifi | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 16MB | SX1262 | OLED (SH1106) | Yes | GPS, more memory headroom | -| T_Beam_S3_Supreme_SX1262_companion_radio_wifi | ESP32S3 / 240 MHz | 512 KB | 8 MB | 8MB | SX1262 | OLED (SH1106) | Yes | GPS, more memory headroom | -| ThinkNode_M2_companion_radio_wifi | ESP32S3 / 240 MHz | 512 KB | No | 4MB | SX1262 | OLED (SH1106) | No | | -| ThinkNode_M5_companion_radio_wifi | ESP32S3 / 240 MHz | 512 KB | No | 4MB | SX1262 | E-paper (GxEPD) | Yes | low-power display, GPS | +| Target | CPU | RAM | PSRAM | Flash | LoRa | Display | GPS | Notes | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | +| Heltec_v2 | ESP32 / 240 MHz | 520 KB | No | 8 MB | SX1276 | OLED (SSD1306) | No | | +| Heltec_v3 | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | OLED (SSD1306) | Yes | GPS | +| heltec_tracker_v2 | ESP32S3 / 240 MHz | 512 KB | No | 8MB | SX1262 | TFT (ST7735) | Yes | richer UI, GPS | +| heltec_v4 | ESP32S3 / 240 MHz | 512 KB | 2 MB | 16MB | SX1262 | OLED (SSD1306) | Yes | GPS, more memory headroom | +| heltec_v4_tft | ESP32S3 / 240 MHz | 512 KB | 2 MB | 16MB | SX1262 | TFT (ST7789) | Yes | richer UI, GPS, more memory headroom | +| LilyGo_TBeam_1W | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 16MB | SX1262 | OLED (SH1106) | Yes | GPS, more memory headroom | +| LilyGo_TLora_V2_1_1_6 | ESP32 / 240 MHz | 520 KB | No | 4 MB | SX1276 | OLED (SSD1306) | Yes | GPS | +| nibble_screen_connect | ESP32S3 / 240 MHz | 512 KB | No | 4MB | SX1262 | OLED (SSD1306) | No | | +| Station_G2 | ESP32S3 / 240 MHz | 512 KB | Yes (size not declared) | 16MB | SX1262 | OLED (SH1106) | Yes | GPS, more memory headroom | +| T_Beam_S3_Supreme_SX1262 | ESP32S3 / 240 MHz | 512 KB | 8 MB | 8MB | SX1262 | OLED (SH1106) | Yes | GPS, more memory headroom | +| ThinkNode_M2 | ESP32S3 / 240 MHz | 512 KB | No | 4MB | SX1262 | OLED (SH1106) | No | | +| ThinkNode_M5 | ESP32S3 / 240 MHz | 512 KB | No | 4MB | SX1262 | E-paper (GxEPD) | Yes | low-power display, GPS | + +## `companion_radio_wifi` Headless Boards + +These are the Wi-Fi companion targets that rely on the companion app as the primary interface. For many users, this is the best everyday option. + +| Target | CPU | RAM | PSRAM | Flash | LoRa | GPS | Notes | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Heltec_WSL3 | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | Yes | headless, GPS | +| RAK_3112 | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | Yes | headless, GPS | +| Xiao_C3 | ESP32C3 / 160 MHz | 400 KB | No | 4 MB | SX1262 | Yes | smallest headless option, web panel off | +| Xiao_S3_WIO | ESP32S3 / 240 MHz | 512 KB | No | 8 MB | SX1262 | Yes | headless, GPS | ## Practical Picks @@ -84,4 +112,5 @@ This table only includes Wi-Fi companion envs that actually have a display confi - Best low-power display MQTT builds: `Heltec_E213_repeater_mqtt`, `Heltec_E290_repeater_mqtt`, `Heltec_Wireless_Paper_repeater_mqtt`, `ThinkNode_M5_Repeater_mqtt`. - Best companion choices if you want the richest local UI: `heltec_v4_tft_companion_radio_wifi` and `heltec_tracker_v2_companion_radio_wifi`. - Best companion choices if you want maximum memory headroom: `T_Beam_S3_Supreme_SX1262_companion_radio_wifi`, `heltec_v4_companion_radio_wifi`, `heltec_v4_tft_companion_radio_wifi`, `Station_G2_companion_radio_wifi`. +- Best companion choices if you are happy with an app-first, mostly headless setup: `Xiao_C3_companion_radio_wifi`, `RAK_3112_companion_radio_wifi`, `Xiao_S3_WIO_companion_radio_wifi`, `Station_G2_companion_radio_wifi`. - Best companion choices if you prefer OLED over TFT: `T_Beam_S3_Supreme_SX1262_companion_radio_wifi`, `heltec_v4_companion_radio_wifi`, `LilyGo_TBeam_1W_companion_radio_wifi`. diff --git a/docs/index.md b/docs/index.md index 2d899024..cf8f4793 100644 --- a/docs/index.md +++ b/docs/index.md @@ -6,6 +6,11 @@ MeshCore-EastMesh keeps the upstream MeshCore firmware intact and adds an EastMe - `companion_radio_wifi` builds for Wi-Fi-connected companion devices - EastMesh-specific release automation and versioning on top of upstream MeshCore releases +If you are just trying to pick a board or download firmware, start with: + +- [Compare Boards](./boards.md) +- [Download and Flash Releases](./releases.md) + ## End User Guides - [Compare Boards](./boards.md) diff --git a/docs/local-builds.md b/docs/local-builds.md index d4ef93cb..193425a0 100644 --- a/docs/local-builds.md +++ b/docs/local-builds.md @@ -2,6 +2,8 @@ This repo uses `uv` for Python tooling and runs PlatformIO through `uv run`. +This page is for building from source. If you just want firmware to flash, start with [Download and Flash Releases](./releases.md) instead. + ## Setup From the repo root: @@ -60,65 +62,73 @@ This produces versioned artifacts in `out/`. ## Supported `repeater_mqtt` Boards +These are the full PlatformIO env names used for local source builds and release artifact naming. + ```text -T_Beam_S3_Supreme_SX1262_repeater_mqtt -LilyGo_TLora_V2_1_1_6_repeater_mqtt -LilyGo_TBeam_1W_repeater_mqtt -Xiao_C3_repeater_mqtt -RAK_3112_repeater_mqtt -Tbeam_SX1262_repeater_mqtt -Heltec_E290_repeater_mqtt -Tbeam_SX1276_repeater_mqtt -Heltec_E213_repeater_mqtt -Heltec_Wireless_Tracker_repeater_mqtt -M5Stack_Unit_C6L_repeater_mqtt -LilyGo_TDeck_repeater_mqtt -Station_G2_repeater_mqtt -Station_G2_logging_repeater_mqtt -LilyGo_T3S3_sx1262_repeater_mqtt -Meshadventurer_sx1262_repeater_mqtt -Meshadventurer_sx1268_repeater_mqtt -Heltec_Wireless_Paper_repeater_mqtt -heltec_v4_repeater_mqtt -heltec_v4_tft_repeater_mqtt -heltec_tracker_v2_repeater_mqtt -Heltec_v3_repeater_mqtt -Heltec_WSL3_repeater_mqtt -LilyGo_T3S3_sx1276_repeater_mqtt -Heltec_v2_repeater_mqtt -nibble_screen_connect_repeater_mqtt -Tenstar_C3_sx1262_repeater_mqtt -Tenstar_C3_sx1268_repeater_mqtt -Heltec_ct62_repeater_mqtt -Xiao_S3_WIO_repeater_mqtt Generic_E22_sx1262_repeater_mqtt Generic_E22_sx1268_repeater_mqtt +Heltec_ct62_repeater_mqtt +Heltec_E213_repeater_mqtt +Heltec_E290_repeater_mqtt +Heltec_T190_repeater_mqtt +heltec_tracker_v2_repeater_mqtt +Heltec_v2_repeater_mqtt +Heltec_v3_repeater_mqtt +heltec_v4_repeater_mqtt +heltec_v4_tft_repeater_mqtt +Heltec_Wireless_Paper_repeater_mqtt +Heltec_Wireless_Tracker_repeater_mqtt +Heltec_WSL3_repeater_mqtt +LilyGo_T3S3_sx1262_repeater_mqtt +LilyGo_T3S3_sx1276_repeater_mqtt +LilyGo_TBeam_1W_repeater_mqtt +LilyGo_TDeck_repeater_mqtt +LilyGo_Tlora_C6_repeater_mqtt +LilyGo_TLora_V2_1_1_6_repeater_mqtt +M5Stack_Unit_C6L_repeater_mqtt +Meshadventurer_sx1262_repeater_mqtt +Meshadventurer_sx1268_repeater_mqtt +Meshimi_repeater_mqtt +nibble_screen_connect_repeater_mqtt +RAK_3112_repeater_mqtt +Station_G2_logging_repeater_mqtt +Station_G2_repeater_mqtt +T_Beam_S3_Supreme_SX1262_repeater_mqtt +Tbeam_SX1262_repeater_mqtt +Tbeam_SX1276_repeater_mqtt +Tenstar_C3_sx1262_repeater_mqtt +Tenstar_C3_sx1268_repeater_mqtt +WHY2025_badge_repeater_mqtt +Xiao_C3_repeater_mqtt +Xiao_C6_repeater_mqtt +Xiao_S3_WIO_repeater_mqtt ``` Notes: -- some `*_repeater_mqtt_` experimental C6-style envs exist in the repo but are not listed here as primary EastMesh targets - `Xiao_C3_repeater_mqtt` disables the web panel to stay within flash limits ## Supported `companion_radio_wifi` Boards +These are the full PlatformIO env names used for local source builds and release artifact naming. + ```text -Xiao_S3_WIO_companion_radio_wifi -Heltec_v3_companion_radio_wifi -Heltec_WSL3_companion_radio_wifi -LilyGo_TBeam_1W_companion_radio_wifi -RAK_3112_companion_radio_wifi -LilyGo_TLora_V2_1_1_6_companion_radio_wifi -ThinkNode_M5_companion_radio_wifi -Xiao_C3_companion_radio_wifi heltec_tracker_v2_companion_radio_wifi +Heltec_v2_companion_radio_wifi +Heltec_v3_companion_radio_wifi heltec_v4_companion_radio_wifi heltec_v4_tft_companion_radio_wifi -Station_G2_companion_radio_wifi -ThinkNode_M2_companion_radio_wifi +Heltec_WSL3_companion_radio_wifi +LilyGo_TBeam_1W_companion_radio_wifi +LilyGo_TLora_V2_1_1_6_companion_radio_wifi nibble_screen_connect_companion_radio_wifi -Heltec_v2_companion_radio_wifi +RAK_3112_companion_radio_wifi +Station_G2_companion_radio_wifi T_Beam_S3_Supreme_SX1262_companion_radio_wifi +ThinkNode_M2_companion_radio_wifi +ThinkNode_M5_companion_radio_wifi +Xiao_C3_companion_radio_wifi +Xiao_S3_WIO_companion_radio_wifi ``` ## Companion WiFi CLI diff --git a/variants/eastmesh_mqtt/platformio.ini b/variants/eastmesh_mqtt/platformio.ini index 8fcc1166..8881ba41 100644 --- a/variants/eastmesh_mqtt/platformio.ini +++ b/variants/eastmesh_mqtt/platformio.ini @@ -1,95 +1,3 @@ -[env:T_Beam_S3_Supreme_SX1262_repeater_mqtt] -extends = T_Beam_S3_Supreme_SX1262 -build_flags = - ${T_Beam_S3_Supreme_SX1262.build_flags} - -D ADVERT_NAME='"T-Beam S3 Supreme SX1262 Repeater"' - -D ADVERT_LAT=0 - -D ADVERT_LON=0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter} - +<../examples/simple_repeater> - + -lib_deps = - ${T_Beam_S3_Supreme_SX1262.lib_deps} - ${esp32_ota.lib_deps} - -[env:LilyGo_TLora_V2_1_1_6_repeater_mqtt] -extends = LilyGo_TLora_V2_1_1_6 -build_src_filter = ${LilyGo_TLora_V2_1_1_6.build_src_filter} - +<../examples/simple_repeater> - + -build_flags = - ${LilyGo_TLora_V2_1_1_6.build_flags} - -D ADVERT_NAME='"TLora-V2.1-1.6 Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -lib_deps = - ${LilyGo_TLora_V2_1_1_6.lib_deps} - ${esp32_ota.lib_deps} - -[env:LilyGo_TBeam_1W_repeater_mqtt] -extends = LilyGo_TBeam_1W -build_flags = - ${LilyGo_TBeam_1W.build_flags} - -D ADVERT_NAME='"T-Beam 1W Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D PERSISTANT_GPS=1 - -D ENV_SKIP_GPS_DETECT=1 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${LilyGo_TBeam_1W.build_src_filter} - +<../examples/simple_repeater> - + -lib_deps = - ${LilyGo_TBeam_1W.lib_deps} - ${esp32_ota.lib_deps} - -[env:Xiao_C3_repeater_mqtt] -extends = Xiao_esp32_C3 -build_src_filter = ${Xiao_esp32_C3.build_src_filter} - +<../examples/simple_repeater/*.cpp> - + -build_flags = - ${Xiao_esp32_C3.build_flags} - -D ADVERT_NAME='"Xiao C3 Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D WITH_WEB_PANEL=0 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -lib_deps = - ${Xiao_esp32_C3.lib_deps} - ${esp32_ota.lib_deps} - bakercp/CRC32 @ ^2.0.0 - [env:Ebyte_EoRa-S3_Repeater_mqtt] extends = Ebyte_EoRa-S3 build_flags = @@ -114,11 +22,17 @@ lib_deps = ${Ebyte_EoRa-S3.lib_deps} ${esp32_ota.lib_deps} -[env:RAK_3112_repeater_mqtt] -extends = rak3112 +[env:Generic_E22_sx1262_repeater_mqtt] +extends = Generic_E22 +build_src_filter = ${Generic_E22.build_src_filter} + +<../examples/simple_repeater/*.cpp> + + build_flags = - ${rak3112.build_flags} - -D ADVERT_NAME='"RAK3112 Repeater"' + ${Generic_E22.build_flags} + -D RADIO_CLASS=CustomSX1262 + -D WRAPPER_CLASS=CustomSX1262Wrapper + -D LORA_TX_POWER=22 + -D ADVERT_NAME='"E22 Repeater"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' @@ -129,42 +43,21 @@ build_flags = -D WIFI_PWD='"mypwd"' -D MQTT_DEFAULT_IATA='"MEL"' -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${rak3112.build_src_filter} - +<../examples/simple_repeater> - + lib_deps = - ${rak3112.lib_deps} - ${esp32_ota.lib_deps} - bakercp/CRC32 @ ^2.0.0 - -[env:Tbeam_SX1262_repeater_mqtt] -extends = LilyGo_TBeam_SX1262 -build_flags = - ${LilyGo_TBeam_SX1262.build_flags} - -D ADVERT_NAME='"Tbeam SX1262 Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${LilyGo_TBeam_SX1262.build_src_filter} - +<../examples/simple_repeater> - + -lib_deps = - ${LilyGo_TBeam_SX1262.lib_deps} + ${Generic_E22.lib_deps} ${esp32_ota.lib_deps} -[env:Heltec_E290_repeater_mqtt] -extends = Heltec_E290_base +[env:Generic_E22_sx1268_repeater_mqtt] +extends = Generic_E22 +build_src_filter = ${Generic_E22.build_src_filter} + +<../examples/simple_repeater/*.cpp> + + build_flags = - ${Heltec_E290_base.build_flags} - -D DISPLAY_CLASS=E290Display - -D ADVERT_NAME='"Heltec E290 Repeater"' + ${Generic_E22.build_flags} + -D RADIO_CLASS=CustomSX1268 + -D WRAPPER_CLASS=CustomSX1268Wrapper + -D LORA_TX_POWER=22 + -D ADVERT_NAME='"E22 Repeater"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' @@ -175,36 +68,32 @@ build_flags = -D WIFI_PWD='"mypwd"' -D MQTT_DEFAULT_IATA='"MEL"' -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${Heltec_E290_base.build_src_filter} - + - +<../examples/simple_repeater> - + lib_deps = - ${Heltec_E290_base.lib_deps} + ${Generic_E22.lib_deps} ${esp32_ota.lib_deps} - bakercp/CRC32 @ ^2.0.0 -[env:Tbeam_SX1276_repeater_mqtt] -extends = LilyGo_TBeam_SX1276 +[env:Heltec_ct62_repeater_mqtt] +extends = Heltec_ct62 build_flags = - ${LilyGo_TBeam_SX1276.build_flags} - -D ADVERT_NAME='"Tbeam Repeater"' + ${Heltec_ct62.build_flags} + ;-D ARDUINO_USB_MODE=1 + ;-D ARDUINO_USB_CDC_ON_BOOT=1 + -D ADVERT_NAME='"HT-CT62 Repeater"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' -D MAX_NEIGHBOURS=50 - -D PERSISTANT_GPS=1 -D WITH_MQTT_UPLINK=1 -D MQTT_DEBUG=1 -D WIFI_SSID='"myssid"' -D WIFI_PWD='"mypwd"' -D MQTT_DEFAULT_IATA='"MEL"' -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${LilyGo_TBeam_SX1276.build_src_filter} +build_src_filter = ${Heltec_ct62.build_src_filter} +<../examples/simple_repeater> + lib_deps = - ${LilyGo_TBeam_SX1276.lib_deps} + ${Heltec_ct62.lib_deps} ${esp32_ota.lib_deps} [env:Heltec_E213_repeater_mqtt] @@ -232,11 +121,57 @@ lib_deps = ${esp32_ota.lib_deps} bakercp/CRC32 @ ^2.0.0 -[env:Heltec_Wireless_Tracker_repeater_mqtt] -extends = Heltec_tracker_base +[env:Heltec_E290_repeater_mqtt] +extends = Heltec_E290_base build_flags = - ${Heltec_tracker_base.build_flags} - -D DISPLAY_ROTATION=1 + ${Heltec_E290_base.build_flags} + -D DISPLAY_CLASS=E290Display + -D ADVERT_NAME='"Heltec E290 Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +build_src_filter = ${Heltec_E290_base.build_src_filter} + + + +<../examples/simple_repeater> + + +lib_deps = + ${Heltec_E290_base.lib_deps} + ${esp32_ota.lib_deps} + bakercp/CRC32 @ ^2.0.0 + +[env:Heltec_T190_repeater_mqtt] +extends = Heltec_T190_base +build_flags = + ${Heltec_T190_base.build_flags} + -D ADVERT_NAME='"Heltec T190 Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +build_src_filter = ${Heltec_T190_base.build_src_filter} + +<../examples/simple_repeater> + + +lib_deps = + ${Heltec_T190_base.lib_deps} + ${esp32_ota.lib_deps} + +[env:heltec_tracker_v2_repeater_mqtt] +extends = Heltec_tracker_v2 +build_flags = + ${Heltec_tracker_v2.build_flags} -D DISPLAY_CLASS=ST7735Display -D ADVERT_NAME='"Heltec Repeater"' -D ADVERT_LAT=0.0 @@ -249,110 +184,21 @@ build_flags = -D WIFI_PWD='"mypwd"' -D MQTT_DEFAULT_IATA='"MEL"' -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${Heltec_tracker_base.build_src_filter} +build_src_filter = ${Heltec_tracker_v2.build_src_filter} + +<../examples/simple_repeater> + lib_deps = - ${Heltec_tracker_base.lib_deps} + ${Heltec_tracker_v2.lib_deps} ${esp32_ota.lib_deps} + bakercp/CRC32 @ ^2.0.0 -[env:M5Stack_Unit_C6L_repeater_mqtt] -extends = M5Stack_Unit_C6L -build_src_filter = ${M5Stack_Unit_C6L.build_src_filter} - +<../examples/simple_repeater/*.cpp> - + +[env:Heltec_v2_repeater_mqtt] +extends = Heltec_lora32_v2 build_flags = - ${M5Stack_Unit_C6L.build_flags} - -D ADVERT_NAME='"Unit C6L Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -lib_deps = - ${M5Stack_Unit_C6L.lib_deps} - -[env:LilyGo_TDeck_repeater_mqtt] -extends = LilyGo_TDeck -build_flags = - ${LilyGo_TDeck.build_flags} - -D ADVERT_NAME='"TDeck Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${LilyGo_TDeck.build_src_filter} - +<../examples/simple_repeater> - + - + -lib_deps = - ${LilyGo_TDeck.lib_deps} - ${esp32_ota.lib_deps} - -[env:Station_G2_repeater_mqtt] -extends = Station_G2 -build_flags = - ${Station_G2.build_flags} - -D ADVERT_NAME='"Station G2 Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${Station_G2.build_src_filter} - +<../examples/simple_repeater> - + -lib_deps = - ${Station_G2.lib_deps} - ${esp32_ota.lib_deps} - -[env:Station_G2_logging_repeater_mqtt] -extends = Station_G2 -build_flags = - ${Station_G2.build_flags} - -D ADVERT_NAME='"Station G2 Logging Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D MESH_PACKET_LOGGING=1 - -D SX126X_RX_BOOSTED_GAIN=1 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${Station_G2.build_src_filter} - +<../examples/simple_repeater> - + -lib_deps = - ${Station_G2.lib_deps} - ${esp32_ota.lib_deps} - -[env:LilyGo_T3S3_sx1262_repeater_mqtt] -extends = LilyGo_T3S3_sx1262 -build_flags = - ${LilyGo_T3S3_sx1262.build_flags} + ${Heltec_lora32_v2.build_flags} -D DISPLAY_CLASS=SSD1306Display - -D ADVERT_NAME='"T3S3-1262 Repeater"' + -D ADVERT_NAME='"Heltec Repeater"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' @@ -363,88 +209,37 @@ build_flags = -D WIFI_PWD='"mypwd"' -D MQTT_DEFAULT_IATA='"MEL"' -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter} +build_src_filter = ${Heltec_lora32_v2.build_src_filter} + +<../examples/simple_repeater> + + + + + + +lib_deps = + ${Heltec_lora32_v2.lib_deps} + ${esp32_ota.lib_deps} + +[env:Heltec_v3_repeater_mqtt] +extends = Heltec_lora32_v3 +build_flags = + ${Heltec_lora32_v3.build_flags} + -D DISPLAY_CLASS=SSD1306Display + -D ADVERT_NAME='"Heltec Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +build_src_filter = ${Heltec_lora32_v3.build_src_filter} + +<../examples/simple_repeater> + lib_deps = - ${LilyGo_T3S3_sx1262.lib_deps} - ${esp32_ota.lib_deps} - -[env:Meshadventurer_sx1262_repeater_mqtt] -extends = Meshadventurer -build_src_filter = ${Meshadventurer.build_src_filter} - +<../examples/simple_repeater> - + - + -build_flags = - ${Meshadventurer.build_flags} - -D RADIO_CLASS=CustomSX1262 - -D WRAPPER_CLASS=CustomSX1262Wrapper - -D LORA_TX_POWER=22 - -D ADVERT_NAME='"Meshadventurer Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -lib_deps = - ${Meshadventurer.lib_deps} - ${esp32_ota.lib_deps} - -[env:Meshadventurer_sx1268_repeater_mqtt] -extends = Meshadventurer -build_src_filter = ${Meshadventurer.build_src_filter} - +<../examples/simple_repeater> - + - + -build_flags = - ${Meshadventurer.build_flags} - -D RADIO_CLASS=CustomSX1268 - -D WRAPPER_CLASS=CustomSX1268Wrapper - -D LORA_TX_POWER=22 - -D ADVERT_NAME='"Meshadventurer Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -lib_deps = - ${Meshadventurer.lib_deps} - ${esp32_ota.lib_deps} - -[env:Heltec_Wireless_Paper_repeater_mqtt] -extends = Heltec_Wireless_Paper_base -build_flags = - ${Heltec_Wireless_Paper_base.build_flags} - -D DISPLAY_CLASS=E213Display - -D ADVERT_NAME='"Heltec WP Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${Heltec_Wireless_Paper_base.build_src_filter} - + - +<../examples/simple_repeater> - + -lib_deps = - ${Heltec_Wireless_Paper_base.lib_deps} + ${Heltec_lora32_v3.lib_deps} ${esp32_ota.lib_deps} bakercp/CRC32 @ ^2.0.0 @@ -499,10 +294,36 @@ lib_deps = ${esp32_ota.lib_deps} bakercp/CRC32 @ ^2.0.0 -[env:heltec_tracker_v2_repeater_mqtt] -extends = Heltec_tracker_v2 +[env:Heltec_Wireless_Paper_repeater_mqtt] +extends = Heltec_Wireless_Paper_base build_flags = - ${Heltec_tracker_v2.build_flags} + ${Heltec_Wireless_Paper_base.build_flags} + -D DISPLAY_CLASS=E213Display + -D ADVERT_NAME='"Heltec WP Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +build_src_filter = ${Heltec_Wireless_Paper_base.build_src_filter} + + + +<../examples/simple_repeater> + + +lib_deps = + ${Heltec_Wireless_Paper_base.lib_deps} + ${esp32_ota.lib_deps} + bakercp/CRC32 @ ^2.0.0 + +[env:Heltec_Wireless_Tracker_repeater_mqtt] +extends = Heltec_tracker_base +build_flags = + ${Heltec_tracker_base.build_flags} + -D DISPLAY_ROTATION=1 -D DISPLAY_CLASS=ST7735Display -D ADVERT_NAME='"Heltec Repeater"' -D ADVERT_LAT=0.0 @@ -515,39 +336,13 @@ build_flags = -D WIFI_PWD='"mypwd"' -D MQTT_DEFAULT_IATA='"MEL"' -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${Heltec_tracker_v2.build_src_filter} +build_src_filter = ${Heltec_tracker_base.build_src_filter} + +<../examples/simple_repeater> + lib_deps = - ${Heltec_tracker_v2.lib_deps} + ${Heltec_tracker_base.lib_deps} ${esp32_ota.lib_deps} - bakercp/CRC32 @ ^2.0.0 - -[env:Heltec_v3_repeater_mqtt] -extends = Heltec_lora32_v3 -build_flags = - ${Heltec_lora32_v3.build_flags} - -D DISPLAY_CLASS=SSD1306Display - -D ADVERT_NAME='"Heltec Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${Heltec_lora32_v3.build_src_filter} - + - +<../examples/simple_repeater> - + -lib_deps = - ${Heltec_lora32_v3.lib_deps} - ${esp32_ota.lib_deps} - bakercp/CRC32 @ ^2.0.0 [env:Heltec_WSL3_repeater_mqtt] extends = Heltec_lora32_v3 @@ -572,6 +367,30 @@ lib_deps = ${esp32_ota.lib_deps} bakercp/CRC32 @ ^2.0.0 +[env:LilyGo_T3S3_sx1262_repeater_mqtt] +extends = LilyGo_T3S3_sx1262 +build_flags = + ${LilyGo_T3S3_sx1262.build_flags} + -D DISPLAY_CLASS=SSD1306Display + -D ADVERT_NAME='"T3S3-1262 Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter} + + + +<../examples/simple_repeater> + + +lib_deps = + ${LilyGo_T3S3_sx1262.lib_deps} + ${esp32_ota.lib_deps} + [env:LilyGo_T3S3_sx1276_repeater_mqtt] extends = LilyGo_T3S3_sx1276 build_flags = @@ -596,7 +415,54 @@ lib_deps = ${LilyGo_T3S3_sx1276.lib_deps} ${esp32_ota.lib_deps} -[env:LilyGo_Tlora_C6_repeater_mqtt_] +[env:LilyGo_TBeam_1W_repeater_mqtt] +extends = LilyGo_TBeam_1W +build_flags = + ${LilyGo_TBeam_1W.build_flags} + -D ADVERT_NAME='"T-Beam 1W Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D PERSISTANT_GPS=1 + -D ENV_SKIP_GPS_DETECT=1 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +build_src_filter = ${LilyGo_TBeam_1W.build_src_filter} + +<../examples/simple_repeater> + + +lib_deps = + ${LilyGo_TBeam_1W.lib_deps} + ${esp32_ota.lib_deps} + +[env:LilyGo_TDeck_repeater_mqtt] +extends = LilyGo_TDeck +build_flags = + ${LilyGo_TDeck.build_flags} + -D ADVERT_NAME='"TDeck Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +build_src_filter = ${LilyGo_TDeck.build_src_filter} + +<../examples/simple_repeater> + + + + +lib_deps = + ${LilyGo_TDeck.lib_deps} + ${esp32_ota.lib_deps} + +[env:LilyGo_Tlora_C6_repeater_mqtt] extends = tlora_c6 build_src_filter = ${tlora_c6.build_src_filter} +<../examples/simple_repeater/*.cpp> @@ -617,14 +483,14 @@ build_flags = lib_deps = ${tlora_c6.lib_deps} -[env:Xiao_C6_repeater_mqtt_] -extends = Xiao_C6 -build_src_filter = ${Xiao_C6.build_src_filter} - +<../examples/simple_repeater/*.cpp> +[env:LilyGo_TLora_V2_1_1_6_repeater_mqtt] +extends = LilyGo_TLora_V2_1_1_6 +build_src_filter = ${LilyGo_TLora_V2_1_1_6.build_src_filter} + +<../examples/simple_repeater> + build_flags = - ${Xiao_C6.build_flags} - -D ADVERT_NAME='"Xiao C6 Repeater"' + ${LilyGo_TLora_V2_1_1_6.build_flags} + -D ADVERT_NAME='"TLora-V2.1-1.6 Repeater"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' @@ -636,9 +502,83 @@ build_flags = -D MQTT_DEFAULT_IATA='"MEL"' -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 lib_deps = - ${Xiao_C6.lib_deps} + ${LilyGo_TLora_V2_1_1_6.lib_deps} + ${esp32_ota.lib_deps} -[env:Meshimi_repeater_mqtt_] +[env:M5Stack_Unit_C6L_repeater_mqtt] +extends = M5Stack_Unit_C6L +build_src_filter = ${M5Stack_Unit_C6L.build_src_filter} + +<../examples/simple_repeater/*.cpp> + + +build_flags = + ${M5Stack_Unit_C6L.build_flags} + -D ADVERT_NAME='"Unit C6L Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +lib_deps = + ${M5Stack_Unit_C6L.lib_deps} + +[env:Meshadventurer_sx1262_repeater_mqtt] +extends = Meshadventurer +build_src_filter = ${Meshadventurer.build_src_filter} + +<../examples/simple_repeater> + + + + +build_flags = + ${Meshadventurer.build_flags} + -D RADIO_CLASS=CustomSX1262 + -D WRAPPER_CLASS=CustomSX1262Wrapper + -D LORA_TX_POWER=22 + -D ADVERT_NAME='"Meshadventurer Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +lib_deps = + ${Meshadventurer.lib_deps} + ${esp32_ota.lib_deps} + +[env:Meshadventurer_sx1268_repeater_mqtt] +extends = Meshadventurer +build_src_filter = ${Meshadventurer.build_src_filter} + +<../examples/simple_repeater> + + + + +build_flags = + ${Meshadventurer.build_flags} + -D RADIO_CLASS=CustomSX1268 + -D WRAPPER_CLASS=CustomSX1268Wrapper + -D LORA_TX_POWER=22 + -D ADVERT_NAME='"Meshadventurer Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +lib_deps = + ${Meshadventurer.lib_deps} + ${esp32_ota.lib_deps} + +[env:Meshimi_repeater_mqtt] extends = Meshimi build_src_filter = ${Meshimi.build_src_filter} +<../examples/simple_repeater/*.cpp> @@ -659,52 +599,6 @@ build_flags = lib_deps = ${Meshimi.lib_deps} -[env:WHY2025_badge_repeater_mqtt_] -extends = WHY2025_badge -build_src_filter = ${WHY2025_badge.build_src_filter} - +<../examples/simple_repeater/*.cpp> - + -build_flags = - ${WHY2025_badge.build_flags} - -D ADVERT_NAME='"WHY2025 Badge Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -lib_deps = - ${WHY2025_badge.lib_deps} - -[env:Heltec_v2_repeater_mqtt] -extends = Heltec_lora32_v2 -build_flags = - ${Heltec_lora32_v2.build_flags} - -D DISPLAY_CLASS=SSD1306Display - -D ADVERT_NAME='"Heltec Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${Heltec_lora32_v2.build_src_filter} - +<../examples/simple_repeater> - + - + - + -lib_deps = - ${Heltec_lora32_v2.lib_deps} - ${esp32_ota.lib_deps} - [env:nibble_screen_connect_repeater_mqtt] extends = nibble_screen_connect_base build_flags = @@ -729,55 +623,11 @@ lib_deps = ${nibble_screen_connect_base.lib_deps} ${esp32_ota.lib_deps} -[env:ThinkNode_M2_Repeater_mqtt] -extends = ThinkNode_M2 -build_src_filter = ${ThinkNode_M2.build_src_filter} - +<../examples/simple_repeater/*.cpp> - + +[env:RAK_3112_repeater_mqtt] +extends = rak3112 build_flags = - ${ThinkNode_M2.build_flags} - -D ADVERT_NAME='"Thinknode M2 Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=8 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -lib_deps = - ${ThinkNode_M2.lib_deps} - ${esp32_ota.lib_deps} - -[env:ThinkNode_M5_Repeater_mqtt] -extends = ThinkNode_M5 -build_src_filter = ${ThinkNode_M5.build_src_filter} - +<../examples/simple_repeater/*.cpp> - + -build_flags = - ${ThinkNode_M5.build_flags} - -D ADVERT_NAME='"Thinknode M5 Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=8 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -lib_deps = - ${ThinkNode_M5.lib_deps} - ${esp32_ota.lib_deps} - -[env:Heltec_T190_repeater_mqtt_] -extends = Heltec_T190_base -build_flags = - ${Heltec_T190_base.build_flags} - -D ADVERT_NAME='"Heltec T190 Repeater"' + ${rak3112.build_flags} + -D ADVERT_NAME='"RAK3112 Repeater"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' @@ -788,11 +638,125 @@ build_flags = -D WIFI_PWD='"mypwd"' -D MQTT_DEFAULT_IATA='"MEL"' -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${Heltec_T190_base.build_src_filter} +build_src_filter = ${rak3112.build_src_filter} +<../examples/simple_repeater> + lib_deps = - ${Heltec_T190_base.lib_deps} + ${rak3112.lib_deps} + ${esp32_ota.lib_deps} + bakercp/CRC32 @ ^2.0.0 + +[env:Station_G2_logging_repeater_mqtt] +extends = Station_G2 +build_flags = + ${Station_G2.build_flags} + -D ADVERT_NAME='"Station G2 Logging Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D MESH_PACKET_LOGGING=1 + -D SX126X_RX_BOOSTED_GAIN=1 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +build_src_filter = ${Station_G2.build_src_filter} + +<../examples/simple_repeater> + + +lib_deps = + ${Station_G2.lib_deps} + ${esp32_ota.lib_deps} + +[env:Station_G2_repeater_mqtt] +extends = Station_G2 +build_flags = + ${Station_G2.build_flags} + -D ADVERT_NAME='"Station G2 Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +build_src_filter = ${Station_G2.build_src_filter} + +<../examples/simple_repeater> + + +lib_deps = + ${Station_G2.lib_deps} + ${esp32_ota.lib_deps} + +[env:T_Beam_S3_Supreme_SX1262_repeater_mqtt] +extends = T_Beam_S3_Supreme_SX1262 +build_flags = + ${T_Beam_S3_Supreme_SX1262.build_flags} + -D ADVERT_NAME='"T-Beam S3 Supreme SX1262 Repeater"' + -D ADVERT_LAT=0 + -D ADVERT_LON=0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter} + +<../examples/simple_repeater> + + +lib_deps = + ${T_Beam_S3_Supreme_SX1262.lib_deps} + ${esp32_ota.lib_deps} + +[env:Tbeam_SX1262_repeater_mqtt] +extends = LilyGo_TBeam_SX1262 +build_flags = + ${LilyGo_TBeam_SX1262.build_flags} + -D ADVERT_NAME='"Tbeam SX1262 Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +build_src_filter = ${LilyGo_TBeam_SX1262.build_src_filter} + +<../examples/simple_repeater> + + +lib_deps = + ${LilyGo_TBeam_SX1262.lib_deps} + ${esp32_ota.lib_deps} + +[env:Tbeam_SX1276_repeater_mqtt] +extends = LilyGo_TBeam_SX1276 +build_flags = + ${LilyGo_TBeam_SX1276.build_flags} + -D ADVERT_NAME='"Tbeam Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D PERSISTANT_GPS=1 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +build_src_filter = ${LilyGo_TBeam_SX1276.build_src_filter} + +<../examples/simple_repeater> + + +lib_deps = + ${LilyGo_TBeam_SX1276.lib_deps} ${esp32_ota.lib_deps} [env:Tenstar_C3_sx1262_repeater_mqtt] @@ -846,13 +810,58 @@ lib_deps = ${Tenstar_esp32_C3.lib_deps} ${esp32_ota.lib_deps} -[env:Heltec_ct62_repeater_mqtt] -extends = Heltec_ct62 +[env:ThinkNode_M2_Repeater_mqtt] +extends = ThinkNode_M2 +build_src_filter = ${ThinkNode_M2.build_src_filter} + +<../examples/simple_repeater/*.cpp> + + build_flags = - ${Heltec_ct62.build_flags} - ;-D ARDUINO_USB_MODE=1 - ;-D ARDUINO_USB_CDC_ON_BOOT=1 - -D ADVERT_NAME='"HT-CT62 Repeater"' + ${ThinkNode_M2.build_flags} + -D ADVERT_NAME='"Thinknode M2 Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=8 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +lib_deps = + ${ThinkNode_M2.lib_deps} + ${esp32_ota.lib_deps} + +[env:ThinkNode_M5_Repeater_mqtt] +extends = ThinkNode_M5 +build_src_filter = ${ThinkNode_M5.build_src_filter} + +<../examples/simple_repeater/*.cpp> + + +build_flags = + ${ThinkNode_M5.build_flags} + -D ADVERT_NAME='"Thinknode M5 Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=8 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +lib_deps = + ${ThinkNode_M5.lib_deps} + ${esp32_ota.lib_deps} + +[env:WHY2025_badge_repeater_mqtt] +extends = WHY2025_badge +build_src_filter = ${WHY2025_badge.build_src_filter} + +<../examples/simple_repeater/*.cpp> + + +build_flags = + ${WHY2025_badge.build_flags} + -D ADVERT_NAME='"WHY2025 Badge Repeater"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' @@ -863,12 +872,53 @@ build_flags = -D WIFI_PWD='"mypwd"' -D MQTT_DEFAULT_IATA='"MEL"' -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -build_src_filter = ${Heltec_ct62.build_src_filter} - +<../examples/simple_repeater> - + lib_deps = - ${Heltec_ct62.lib_deps} + ${WHY2025_badge.lib_deps} + +[env:Xiao_C3_repeater_mqtt] +extends = Xiao_esp32_C3 +build_src_filter = ${Xiao_esp32_C3.build_src_filter} + +<../examples/simple_repeater/*.cpp> + + +build_flags = + ${Xiao_esp32_C3.build_flags} + -D ADVERT_NAME='"Xiao C3 Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D WITH_WEB_PANEL=0 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +lib_deps = + ${Xiao_esp32_C3.lib_deps} ${esp32_ota.lib_deps} + bakercp/CRC32 @ ^2.0.0 + +[env:Xiao_C6_repeater_mqtt] +extends = Xiao_C6 +build_src_filter = ${Xiao_C6.build_src_filter} + +<../examples/simple_repeater/*.cpp> + + +build_flags = + ${Xiao_C6.build_flags} + -D ADVERT_NAME='"Xiao C6 Repeater"' + -D ADVERT_LAT=0.0 + -D ADVERT_LON=0.0 + -D ADMIN_PASSWORD='"password"' + -D MAX_NEIGHBOURS=50 + -D WITH_MQTT_UPLINK=1 + -D MQTT_DEBUG=1 + -D WIFI_SSID='"myssid"' + -D WIFI_PWD='"mypwd"' + -D MQTT_DEFAULT_IATA='"MEL"' + -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 +lib_deps = + ${Xiao_C6.lib_deps} [env:Xiao_S3_WIO_repeater_mqtt] extends = Xiao_S3_WIO @@ -891,53 +941,3 @@ build_flags = lib_deps = ${Xiao_S3_WIO.lib_deps} ${esp32_ota.lib_deps} - -[env:Generic_E22_sx1262_repeater_mqtt] -extends = Generic_E22 -build_src_filter = ${Generic_E22.build_src_filter} - +<../examples/simple_repeater/*.cpp> - + -build_flags = - ${Generic_E22.build_flags} - -D RADIO_CLASS=CustomSX1262 - -D WRAPPER_CLASS=CustomSX1262Wrapper - -D LORA_TX_POWER=22 - -D ADVERT_NAME='"E22 Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -lib_deps = - ${Generic_E22.lib_deps} - ${esp32_ota.lib_deps} - -[env:Generic_E22_sx1268_repeater_mqtt] -extends = Generic_E22 -build_src_filter = ${Generic_E22.build_src_filter} - +<../examples/simple_repeater/*.cpp> - + -build_flags = - ${Generic_E22.build_flags} - -D RADIO_CLASS=CustomSX1268 - -D WRAPPER_CLASS=CustomSX1268Wrapper - -D LORA_TX_POWER=22 - -D ADVERT_NAME='"E22 Repeater"' - -D ADVERT_LAT=0.0 - -D ADVERT_LON=0.0 - -D ADMIN_PASSWORD='"password"' - -D MAX_NEIGHBOURS=50 - -D WITH_MQTT_UPLINK=1 - -D MQTT_DEBUG=1 - -D WIFI_SSID='"myssid"' - -D WIFI_PWD='"mypwd"' - -D MQTT_DEFAULT_IATA='"MEL"' - -D CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=1 -lib_deps = - ${Generic_E22.lib_deps} - ${esp32_ota.lib_deps}