0.8.3
Pre-releaseHotfix — boot loop on real hardware
v0.8.1 and v0.8.2 boot-loop on the Elecrow CrowPanel 2.8". v0.8.3 fixes it.
Skip v0.8.2 entirely — it carries the same bug and is published as a draft.
Symptom
On real hardware, the device kept restarting during dashboard init with:
LVGL assert tripped (likely OOM in lv_mem_alloc) — restarting
Root cause
The 6 SPIFFS-loaded Orbitron font sizes consume ~53 KB of the 64 KB LVGL memory pool, leaving ~11 KB free —
not enough to instantiate the default dashboard widgets. The pool exhausts, LV_ASSERT_MALLOC fires, the
handler restarts, and the cycle repeats.
Fix
LV_MEM_SIZE raised 64 KB → 80 KB, sized between two known-bad points:
| Pool size | Outcome |
|---|---|
| 64 KB | OOM after lv_init() during widget creation (this bug). |
| 80 KB | ✅ ~30 KB contig headroom at boot, ~27 KB pool free after fonts load. |
| 96 KB | OOM inside lv_init() — not enough contig headroom for display low-level nodes + draw |
| buffers. |
Build footprint: Flash 67.8% (1.07 MB), RAM 32.6% on crowpanel_28.
Studio / mobile
No changes. Existing configs are fully compatible — no migration, no re-pair required.
What to do
- Already on v0.8.0 or earlier: flash v0.8.3, you skipped the regression entirely.
- Tried v0.8.1 / v0.8.2 and got a boot loop: flash v0.8.3, the loop will stop on the next boot.
- On v0.8.2 draft: delete it from your machine, flash v0.8.3.
Assets
canshift-firmware-v0.8.3-crowpanel_28-merged.bin— full factory image (esptool / studio flasher).canshift-spiffs-v0.8.3-crowpanel_28.bin— fonts + config partition (only needed if reflashing SPIFFS
standalone).CS-Studio-0.8.3-arm64.dmg/CS-Studio-0.8.3.dmg— macOS installers.CS-Studio-Setup-0.8.3.exe— Windows installer.CS-Studio-0.8.3.AppImage— Linux build.
PR: #555.