logo elektroda
logo elektroda
X
logo elektroda

Hosting OpenBekenIOT Web App's 'Logs' function in the LittleFS of the Device (BK7231T)

jkwim 5670 60
Best answers

Can I enlarge LittleFS on a BK7231T to host the OpenBeken web app files locally, and will a larger LittleFS break OTA updates?

Yes — you can enlarge LittleFS with `lfs_format`, and OTA may erase the LittleFS contents, so keep a backup; it does not sound like a blocker if you can restore the files afterward [#20928195] A 128 kB LFS was not enough for the original unmodified web app files, and because LittleFS uses 4 kB blocks, you need to budget space per file in whole sectors rather than raw file size [#20930090] The thread’s working setup used about 212 kB (`0x34000`) and later even 196 kB (`0x30000`) after minifying the `.vue` files and `httpVueLoader.js`; the key missing file was `filesystem.vue`, and `startup.js` had to be pointed at `/api/lfs/` paths with `indexdevice.html`/`indexlocal.html` adjusted accordingly [#20944917][#20946139] Large-file uploads were unstable until a fix was added: a small RTOS delay in the file upload function made drag-and-drop uploads work reliably [#20941452] For the final result, the web app was served from the device itself, and the “Logs” and filesystem pages worked in a closed network [#20944917][#20947236]
Generated by the language model.
ADVERTISEMENT

Topic summary

✨ The discussion focuses on hosting the OpenBekenIOT Web App's 'Logs' function within the device's LittleFS filesystem on BK7231T and BK7231N devices. The default LittleFS size is 32kB, which is insufficient for hosting multiple web app files such as startup.js, httpVueLoader.js, vue.min.js, and logs.vue. Users experimented with increasing LittleFS size up to 256kB and 200kB (0x32000), with mixed success due to device reboots and low heap warnings during large file uploads. A key finding was that adding RTOS delays during file upload improved stability, as implemented in a test firmware build. Firmware upgrades to versions around 1.17.404 and above were recommended for better performance. Minification of JavaScript and Vue files significantly reduced storage requirements, enabling hosting within the constrained LittleFS space. The memory layout of BK7231T and BK7231N devices was reviewed to understand partitioning and avoid overwriting OTA or application partitions. Alternative hosting solutions suggested include running the web app on a NAS or router with OpenWrt. Further development includes moving LittleFS to external SPI flash chips (4-8MB) or SD cards to expand storage capacity for logs and web app files. Fast bitbang SPI implementations and increased LittleFS cache sizes were tested to improve performance. The community encourages creating tutorials for these solutions and ongoing firmware improvements to enhance stability and usability of hosting web apps directly on BK7231 devices.
Generated by the language model.

FAQ

TL;DR: Increasing LittleFS cache from 16 B to 128 B sped up writes by 6×, and “large uploads now work after adding a 5 ms RTOS delay” [Elektroda, p.kaczmarek2, #21589234; #20941452]. Use ≤200 KB partitions, minify .vue files, and firmware ≥1.17.432 for stable on-device WebApp hosting.

Why it matters: you can keep Logs and Filesystem tools available on a closed network without breaking OTA or exhausting heap.

Quick Facts

• Default LittleFS partition: 32 KB (0x8000) [Elektroda, jkwim, post #20928161] • Reliable size on BK7231T/N: 200 KB (0x32000); 256 KB may reboot N chips [Elektroda, Angel0fDeath, post #20931925] • Each file uses whole 4 KB blocks; real usage = ceil(size/4096)×4096 [Elektroda, Angel0fDeath, post #20930090] • Cache 128 B vs 16 B lowers write time by ~6× [Elektroda, p.kaczmarek2, post #21589234] • Heap-low warning appears when LittleFS ≥212 KB on 4 MB flash [Elektroda, jkwim, post #20931820]

1. What is the factory-set LittleFS size and how do I expand it?

OpenBeken ships with a 32 KB LittleFS partition. Enlarge it with lfs_format <bytes>; e.g., lfs_format 0x32000 creates a 200 KB filesystem [Elektroda, jkwim, #20928161; Angel0fDeath, #20930090].

2. Does enlarging LittleFS endanger OTA updates?

LittleFS lives after the application image. If the new size stays below the OTA start address, OTA still works; contents are wiped but firmware installs normally [Elektroda, p.kaczmarek2, post #20928195]

3. Why did my device reboot when uploading a 92 KB file?

Firmware <1.17.432 lacked an RTOS delay in the upload loop, causing watchdog resets during long writes. Update to the delay-patched build or newer and the reboot disappears [Elektroda, p.kaczmarek2, #20941452; Angel0fDeath, #20942411].

4. How do I safely change LittleFS size?

  1. Run lfs_format <newSizeHex>.
  2. Reboot immediately.
  3. Upload files, starting with the largest one first. This prevents stale mounts and spreads blocks efficiently [Elektroda, Angel0fDeath, post #20930090]

6. How much LittleFS space does a file really consume?

LittleFS allocates whole 4 KB blocks, so a 123 B file occupies 4096 B. Formula: used = ((size÷4096)+1)×4096 [Elektroda, Angel0fDeath, post #20930090]

7. Can I host the WebApp (Logs tab only) on the device itself?

Yes. Copy vue.min.js, httpVueLoader.min.js, startup.js, logs.min.vue and indexdevice.html into LittleFS, then point “Configure WebApp” to http://IP/api/lfs/indexdevice.html [Elektroda, jkwim, post #20944917]

8. How do I shrink .vue and .js files to fit 200 KB?

Minify <script> sections with a JS minifier and <style> with a CSS minifier; jkwim cut httpVueLoader from 10.9 KB to 5.8 KB and entire package to 196 KB [Elektroda, jkwim, post #20946139]

10. Why does 256 KB work on BK7231T but fail on BK7231N?

BK7231N’s application+OTA layout leaves less contiguous space; formatting at 0x40000 triggers heap depletion and reboots [Elektroda, Angel0fDeath, #20931925; jkwim, #20931820].

12. How can I move LittleFS to external SPI flash?

A branch adds software-SPI support; compile with USE_EXT_SPI_LFS in obk_config.h and wire a SOIC-8 NOR flash (e.g., W25Q32) to four GPIOs. Early tests wrote 600 KB successfully albeit slowly [Elektroda, p.kaczmarek2, post #21587455]

14. How do I back up and restore LittleFS quickly?

Use Web-FS “Download TAR”. To restore large sets, upload the biggest files first, then the main tar to avoid heap exhaustion [Elektroda, jkwim, post #20944917]

16. The log shows “Low heap warning!”. Safe to ignore?

A single warning appears when LittleFS ≥212 KB on 4 MB flash. If functions run and no resets occur, operation remains stable [Elektroda, jkwim, post #20931820]
Generated by the language model.
ADVERTISEMENT