ArduPilot / ArduPilot/ArduRemoteID

ArduRemote v1.14 Caught in Bootloop on ESP32-S3

Open
#149 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
250
Forks
109
PR merge metrics
No merged PRs in 30d

Description

Hi everyone,

I'm trying to flash the latest version of ArduRemoteID (v1.14) onto an ESP32-S3-DEVKITC-1N32R8V.
However the ESP32 seems to be caught in a boot-loop, and I'm not sure on how to proceed with this.

Connecting to the ESP32's USB port via Putty yielded the following printout. It loops multiple times a second.

```
.
.
.
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x40377460
SPIWP:0xee
Octal Flash Mode Enabled
For OPI Flash, Use Default Flash Boot Mode
mode:SLOW_RD, clock div:1
load:0x3fcd0108,len:0x43c
load:0x403b6000,len:0xbd0
load:0x403ba000,len:0x
entry 0x403b61d8
.
.
.
```

---

# Steps to Recreate

I followed the instructions here, using the exact same settings: https://github.com/ArduPilot/ArduRemoteID/tree/master?tab=readme-ov-file#flashing

1. Downloaded the prebuilt `ArduRemoteID-ESP32S3_DEV.bin` for `v1.14`

2. Used the ESP32 Download Tool to flash the .bin file to addr `0x0000`

---

# Debugging

I've tried the following steps so far, all yielding the same results:

- Used a different ESP32-S3 dev board
- Used an older release of `ArduRemoteID (v1.13)`
- Switched to `ESPTOOL` for flashing
- Increased / Decreased the flash memory size
- Validated the addresses of the `.bin` file, and the bootloader. (See attached CLI outputs)

```
PS C:\Espressif\frameworks\esp-idf-v5.3.1> python -m esptool image_info C:\Users\dnguyen\Downloads\ArduRemoteID-ESP32S3_DEV.bin
esptool.py v4.8.1
File size: 1493856 (bytes)
Detected image type: ESP32-S3
Image version: 1
Entry point: 403b61d8
3 segments

Segment 1: len 0x0043c load 0x3fcd0108 file_offs 0x00000018 [BYTE_ACCESSIBLE,MEM_INTERNAL,DRAM]
Segment 2: len 0x00bd0 load 0x403b6000 file_offs 0x0000045c [MEM_INTERNAL,IRAM]
Segment 3: len 0x029c8 load 0x403ba000 file_offs 0x00001034 [MEM_INTERNAL,IRAM]
Checksum: 06 (valid)
Validation Hash: 6eb14ec480aff4f05e39378c41406102ac163573741e63b6cfd73509ef44e3bd (valid)
```

```
python -m esptool write_flash 0x0000 C:\Users\dnguyen\Downloads\ArduRemoteID-ESP32S3_DEV.bin
esptool.py v4.8.1
Found 1 serial ports
Serial port COM41
Connecting...
Detecting chip type... ESP32-S3
Chip is ESP32-S3 (QFN56) (revision v0.1)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_1v8)
Crystal is 40MHz
MAC: 7c:df:a1:fb:25:fc
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Flash will be erased from 0x00000000 to 0x0016cfff...
Compressed 1493856 bytes to 944254...
Wrote 1493856 bytes (944254 compressed) at 0x00000000 in 26.1 seconds (effective 458.5 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
```

Any thoughts on what could be the source of the problem?
Thanks in advance.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the repository's README flashing instructions and the ESP32-S3 binary and esptool commands shown in the report. Reproduce the boot loop and compare the documented procedure with the reported board and image details; done means identifying a concrete cause or documenting a correction.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.