EON Compiler consistently fails on XIAO ESP32-S3 Sense

Board: Seeed XIAO ESP32-S3 Sense (OV2640, 8MB PSRAM, 8MB Flash)
Arduino-ESP32 core: v2.0.17
Model: MobileNetV2 96x96, alpha 0.35, quantized int8, image classification (4 classes)

I’m seeing a reproducible crash with the EON Compiler export that I’ve now confirmed on two independent datasets, same architecture, same board.

Error on serial monitor:

ERR: Failed to allocate persistent buffer of size 96, does not fit in tensor arena and reached EI_MAX_OVERFLOW_BUFFER_COUNT
Guru Meditation Error: Core 1 panic’ed (StoreProhibited)

I’ve already tried, in tflite_learn__compiled.cpp:

kTensorArenaSize × 1.5 and beyond
EI_MAX_SCRATCH_BUFFER_COUNT raised from 72 to 128
EI_MAX_OVERFLOW_BUFFER_COUNT raised from 10 to 64

Switching to standard TensorFlow Lite (non-EON) with the same arena-size fix works reliably.

Is this a known incompatibility between the EON Compiler’s static memory planner and ESP32-S3?

I’d like to reference an accurate technical explanation in my thesis rather than just documenting the workaround.
Thank you for any help.

2 Likes

Hi @sara.aras !
Thanks for taking the time to report the issue. It is indeed documented here

and

Try 2x kTensorArenaSize and make sure you are rebuilding the project properly (remove the build cache).