Standalone PlatformIO project using MeshCore as a library. Features: - Heltec LoRa32 V3 support (ESP32-S3 + SX1262) - OLED display integration - OTA firmware updates via WiFi - Serial CLI for configuration Uses symlinked MeshCore library from ../MeshCore
117 lines
2.9 KiB
INI
117 lines
2.9 KiB
INI
; 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='"RPM Repeater"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
; Debug (uncomment as needed)
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
|
|
upload_port = /dev/ttyUSB0
|
|
monitor_port = /dev/ttyUSB0
|