; RPM's Heltec V3 Repeater ; Uses MeshCore as a library [platformio] default_envs = heltec_v3_repeater [env:heltec_v3_repeater] platform = platformio/espressif32@6.11.0 framework = arduino board = esp32-s3-devkitc-1 monitor_speed = 115200 monitor_filters = esp32_exception_decoder lib_ldf_mode = deep+ ; MeshCore as local library + its dependencies lib_deps = symlink://../MeshCore symlink://../MeshCore/arch/esp32/AsyncElegantOTA symlink://../MeshCore/lib/ed25519 SPI Wire WiFi WebServer FS Update SPIFFS LittleFS jgromes/RadioLib @ ^7.3.0 rweather/Crypto @ ^0.4.0 adafruit/RTClib @ ^2.1.3 melopero/Melopero RV3028 @ ^1.1.0 electroniccats/CayenneLPP @ 1.6.1 bakercp/CRC32 @ ^2.0.0 me-no-dev/ESPAsyncWebServer @ ^3.6.0 adafruit/Adafruit GFX Library @ ^1.12.4 adafruit/Adafruit SSD1306 @ ^2.5.16 adafruit/Adafruit Unified Sensor @ ^1.1.14 adafruit/Adafruit AHTX0 @ ^2.0.5 adafruit/Adafruit BME280 Library @ ^2.3.0 adafruit/Adafruit BMP280 Library @ ^2.6.8 adafruit/Adafruit SHTC3 Library @ ^1.0.2 sensirion/Sensirion I2C SHT4x @ ^1.1.2 build_flags = -w -DNDEBUG ; Include paths for MeshCore -I ../MeshCore/variants/heltec_v3 -I ../MeshCore/src -I ../MeshCore/lib/ed25519 -DRADIOLIB_STATIC_ONLY=1 -DRADIOLIB_GODMODE=1 ; LoRa parameters -D LORA_FREQ=910.525 -D LORA_BW=62.5 -D LORA_SF=7 -D LORA_CR=5 ; Security -D ENABLE_PRIVATE_KEY_IMPORT=1 -D ENABLE_PRIVATE_KEY_EXPORT=1 ; RadioLib excludes (reduce binary size) -D RADIOLIB_EXCLUDE_CC1101=1 -D RADIOLIB_EXCLUDE_RF69=1 -D RADIOLIB_EXCLUDE_SX1231=1 -D RADIOLIB_EXCLUDE_SI443X=1 -D RADIOLIB_EXCLUDE_RFM2X=1 -D RADIOLIB_EXCLUDE_SX128X=1 -D RADIOLIB_EXCLUDE_AFSK=1 -D RADIOLIB_EXCLUDE_AX25=1 -D RADIOLIB_EXCLUDE_HELLSCHREIBER=1 -D RADIOLIB_EXCLUDE_MORSE=1 -D RADIOLIB_EXCLUDE_APRS=1 -D RADIOLIB_EXCLUDE_BELL=1 -D RADIOLIB_EXCLUDE_RTTY=1 -D RADIOLIB_EXCLUDE_SSTV=1 ; Tell MeshCore library what to build -D ESP32 -D MC_VARIANT=heltec_v3 -D DISPLAY_CLASS=SSD1306Display ; Heltec V3 hardware pins -D HELTEC_LORA_V3 -D ESP32_CPU_FREQ=80 -D P_LORA_DIO_1=14 -D P_LORA_NSS=8 -D P_LORA_RESET=RADIOLIB_NC -D P_LORA_BUSY=13 -D P_LORA_SCLK=9 -D P_LORA_MISO=11 -D P_LORA_MOSI=10 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper -D LORA_TX_POWER=22 -D P_LORA_TX_LED=35 -D PIN_BOARD_SDA=17 -D PIN_BOARD_SCL=18 -D PIN_USER_BTN=0 -D PIN_VEXT_EN=36 -D SX126X_DIO2_AS_RF_SWITCH=true -D SX126X_DIO3_TCXO_VOLTAGE=1.8 -D SX126X_CURRENT_LIMIT=140 -D SX126X_RX_BOOSTED_GAIN=1 -D PIN_GPS_RX=47 -D PIN_GPS_TX=48 -D PIN_GPS_EN=26 ; ===== CUSTOMIZE THESE ===== -D ADVERT_NAME='"acrazy"' -D ADVERT_LAT=43.562937 -D ADVERT_LON=-116.480520 -D ADMIN_PASSWORD='"2087651921"' -D MAX_NEIGHBOURS=50 ; Debug -D MESH_PACKET_LOGGING=1 ; -D MESH_DEBUG=1 upload_port = /dev/ttyUSB0 monitor_port = /dev/ttyUSB0 ; ============================================================================= ; MQTT Gateway Environment ; Adds WiFi + MQTT bridging capability to the repeater ; Configure WiFi credentials and MQTT broker below or via web UI ; ============================================================================= [env:heltec_v3_mqtt] extends = env:heltec_v3_repeater ; Additional libraries for MQTT functionality lib_deps = ${env:heltec_v3_repeater.lib_deps} knolleary/PubSubClient @ ^2.8 bblanchon/ArduinoJson @ ^7.0 build_flags = ${env:heltec_v3_repeater.build_flags} ; Enable MQTT gateway feature -D WITH_MQTT=1 ; WiFi credentials (configure these or use web UI) -D MQTT_WIFI_SSID='"YourNetworkSSID"' -D MQTT_WIFI_PASS='"YourNetworkPassword"' ; MQTT broker settings (defaults, can be changed via web UI) -D MQTT_BROKER='"meshqt.l.supported.systems"' -D MQTT_PORT=443 -D MQTT_USER='""' -D MQTT_PASS='""' -D MQTT_TOPIC_PREFIX='"meshcore/repeater"'