diff --git a/Software,-environment-and-sketch-configuration.md b/Configuration.md similarity index 90% rename from Software,-environment-and-sketch-configuration.md rename to Configuration.md index 734cb91..3e02cc4 100644 --- a/Software,-environment-and-sketch-configuration.md +++ b/Configuration.md @@ -1,8 +1,3 @@ -# Arduino development environment setup -- **NB! select next partition scheme for ESP32 in Arduino IDE Tools menu:** "Minimal SPIFFS (1.9 MB APP with OTA/190 KB SPIFFS)" - - for boards, which do not have this option, need to modify `~/.arduino15/packages/esp32/hardware/esp32/1.0.4/boards.txt` and add required partition option -- **use 80 MHz ESP32 frequency** in Arduino SDK, it will prolong battery life when operating portable, higher CPU speed is not required, there are no CPU intensive operations - # LoRa library configuration - If you are not using **SX1278** module then modify module declaration in `config.h` find and replace `SX1278` with your module name. Read more about supported modules at [RadioLib Wiki](https://github.com/jgromes/RadioLib/wiki). - If you are using **SX126X** module then un-comment `USE_SX126X` define and replace `MODULE_NAME` with your module name if using module other than `SX1268` @@ -20,11 +15,11 @@ - lora module DIO0, **CFG_LORA_PIN_DIO0**, GPIO_14 - if you are planning to experiment with different bandwidths/spread factors then modify values in `initializeConfig()`, with current parameters APRS packet time on air is around **1-2 seconds** @ 292bps/36Bps, to decode with as lower level as possible with reasonable speed (comparable to 300bps HF APRS), use https://github.com/tanupoo/lorawan_toa or https://www.rfwireless-world.com/calculators/LoRa-Data-Rate-Calculator.html to make further calculations - lora bandwidth `cfg.LoraBw`, 125 kHz (also tested with 20.6 KHz and SF9 with frequency correction) - - lora spread factor `cfg.LoraSf`, 12 (should decode down to -20dB, choosen with the goal for minimum signal decode) + - lora spread factor `cfg.LoraSf`, 12 (should decode down to -20dB, chosen with the goal for minimum signal decode) - lora coding rate `cfg.LoraCodingRate`, 7 - lora output power `cfg.LoraPower`, 20 (max 20 dBm ~ 100mW, change to lower value if needed) - sync word `cfg.LoraSync`, 0x34 -- consider minimum decode level based on on BW + SF and required throughput ![alt text](https://raw.githubusercontent.com/sh123/esp32_loraprs/master/images/bandwidth_vs_sf.jpg) +- consider minimum decode level based on on BW + SF and required throughput ![alt text](https://raw.githubusercontent.com/sh123/esp32_loraprs/master/extras/images/bandwidth_vs_sf.jpg) - uses LoRa **built-in checksum** calculation to drop broken packets # Frequency drift and calibration @@ -60,8 +55,8 @@ # APRSDroid configuration - when setting up APRSDroid, use **"TNC (KISS)"** connection protocol in Connection Preferences -> Connection Protocol -![alt text](https://raw.githubusercontent.com/sh123/esp32_loraprs/master/images/aprsdroid.png) +![alt text](https://raw.githubusercontent.com/sh123/esp32_loraprs/master/extras/images/aprsdroid.png) - Use **TNC (plaintext TNC2)** for interoperability with text based LoRa APRS trackers, which do NOT use AX25, set `cfg.EnableTextPackets/CFG_TEXT_PACKETS` to `true` to enable this modem mode of operation. If you need compatibility with https://www.lora-aprs.info/ then also set `cfg.EnableTextPackets3/CFG_TEXT_PACKETS_3` to `true`. -![alt text](https://raw.githubusercontent.com/sh123/esp32_loraprs/master/images/aprsdroid_tnc2.png) \ No newline at end of file +![alt text](https://raw.githubusercontent.com/sh123/esp32_loraprs/master/extras/images/aprsdroid_tnc2.png) \ No newline at end of file