Heltec LoRa V3 - Bootloop Problem

Hello everyone,

I’m working on a project that involves capturing soil moisture from a kiwi plantation using 8 LoRa boards, which then send the data to another board for aggregation and transmission via MQTT to my local server.

I have a total of 9 Heltec LoRa V3 boards, and recently, I noticed that the senders are experiencing boot problems.

To ensure that the issue wasn’t with my sketches, I uploaded the following sketches to the boards for testing:

LoRaSender: Link

LoRaReceiver: Link

After uploading to two test boards, the LoRaSender version is encountering the following errors in the serial monitor:

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x43c
load:0x403c9700,len:0xbec
load:0x403cc700,len:0x2a3c
SHA-256 comparison failed:
Calculated: dcde8d8a4817d9bf5d5d69a7247667264e4e10ac7493514868b61f5aa6146539
Expected: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Attempting to boot anyway...
entry 0x403c98d8

sending packet "Hello world number 0.01" , length 23
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x4037d272
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x43c
load:0x403c9700,len:0xbec
load:0x403cc700,len:0x2a3c
SHA-256 comparison failed:
Calculated: dcde8d8a4817d9bf5d5d69a7247667264e4e10ac7493514868b61f5aa6146539
Expected: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
Attempting to boot anyway...
entry 0x403c98d8

sending packet "Hello world number 0.01" , length 23
Guru Meditation Error: Core  0 panic'ed (Interrupt wdt timeout on CPU0). 

Guru Meditation Error: Core  0 panic'ed (Unhandled debug exception). 
Debug exception reason: Stack canary watchpoint triggered (IDLE) 
Core  0 register dump:
PC      : 0x40056f60  PS      : 0x00060036  A0      : 0x8200f87e  A1      : 0x3fcf4990  
A2      : 0x3fcf49a0  A3      : 0x3c034694  A4      : 0x00000060  A5      : 0x3fcf49c0  
A6      : 0x3c0345e3  A7      : 0x3c0345ec  A8      : 0x00000000  A9      : 0x00000000  
A10     : 0x00000001  A11     : 0x00000001  A12     : 0x00040025  A13     : 0x3fcf4b50  
A14     : 0x00060134  A15     : 0x00040024  SAR     : 0x0000000a  EXCCAUSE: 0x00000001  
EXCVADDR: 0x00000000  LBEG    : 0x40056f5c  LEND    : 0x40056f72  LCOUNT  : 0x00000003  


Backtrace:0x40056f5d:0x3fcf4990 |<-CORRUPTED


Core  1 register dump:
PC      : 0x4037d0ee  PS      : 0x00060034  A0      : 0x8037beba  A1      : 0x3fc92d50  
A2      : 0x00000001  A3      : 0x00000001  A4      : 0x8037b180  A5      : 0x3fce2e20  
A6      : 0x3fc94dc4  A7      : 0x00000000  A8      : 0x40001c38  A9      : 0x00000001  
A10     : 0x00060021  A11     : 0x3fc94bd8  A12     : 0x00000001  A13     : 0x3fce2e10  
A14     : 0x00060023  A15     : 0x00000000  SAR     : 0x0000000e  EXCCAUSE: 0x00000005  
EXCVADDR: 0x00000000  LBEG    : 0x400570e8  LEND    : 0x400570f3  LCOUNT  : 0xffffffff  


Backtrace:0x4037d0eb:0x3fc92d500x4037beb7:0x3fc92d70 0x4037aca3:0x3fc92d90 0x40378aa0:0x3fc92db0 0x403788c5:0x3fc92dd0 0x42004ef9:0x3fce2ed0 0x420056ce:0x3fce2ef0 




ELF file SHA256: 0000000000000000

Rebooting...

The only change I made in both sketches was the LoRa settings to the following:

// ----------------------------------------------------------------------------
// LoRa Configs
// ----------------------------------------------------------------------------
#define RF_FREQUENCY                433000000  // Hz
#define TX_OUTPUT_POWER             17         // dBm
#define LORA_BANDWIDTH              0          // [0: 125 kHz, 1: 250 kHz, 2: 500 kHz, 3: Reserved]
#define LORA_SPREADING_FACTOR       9          // [SF7..SF12]
#define LORA_CODINGRATE             4          // [1: 4/5, 2: 4/6, 3: 4/7, 4: 4/8]
#define LORA_PREAMBLE_LENGTH        8          // Same for Tx and Rx
#define LORA_SYMBOL_TIMEOUT         0          // Symbols
#define LORA_FIX_LENGTH_PAYLOAD_ON  false
#define LORA_IQ_INVERSION_ON        false
#define RX_TIMEOUT_VALUE            1000
#define BUFFER_SIZE                 30         // Define the payload size here

image

I’m using Windows 10, Arduino 1.8.19, and for the Board Manager, I’m using version 0.0.9 as mentioned here: Link

Any help would be greatly appreciated. Thank you.

After conducting a more thorough search, I found that there is an issue with the operating system and Arduino. Link

I tried updating the esptool.exe file to the latest version 4.7.0, but it didn’t resolve the problem. I’ll have to test it later on the Ubuntu system.