Ah, I see, a buffer. That's needed because SD card expects 3.3V voltage levels and your board supports 5V so it can be used with Arduino.
Helpful post? Buy me a coffee.
Czy wolisz polską wersję strony elektroda?
Nie, dziękuję Przekieruj mnie tamTL;DR: With a 196–212 kB LittleFS and the upload fix, OpenBeken can host Logs locally; one tester confirmed it “works like a charm.” This FAQ helps BK7231T/BK7231N users run Logs and Filesystem pages inside a closed network without external hosting. [#20955109]
Why it matters: Hosting the WebApp on-device lets OpenBeken devices expose Logs and Filesystem pages even when the network has no internet or permanent NAS/Docker host.
| Option | Typical LittleFS target | Result from the thread | Main trade-off |
|---|---|---|---|
| Default internal LittleFS | 32 kB | Too small for the needed WebApp files | Not enough space |
| Enlarged internal LittleFS | 128–212 kB | Works after path fixes and upload workarounds | May trigger low-heap warnings or uploads failing |
| External SPI flash LittleFS | 4–8 MB | Under development in 2025 | Much more space, slower for large files |
| SD card over SPI | Much larger than flash chips | Suggested, not implemented in-thread | More space, more integration work |
Key insight: The biggest blocker was not raw flash size alone. Large-file uploads became stable only after an RTOS delay was added, and final success also required correct
/api/lfs/paths plus inclusion offilesystem.vue.
.vue, JavaScript, and CSS content. [#20944917]vue.min.js was about 92 kB, httpVueLoader.min.js was reduced from 10,890 bytes to 5,867 bytes, and these savings helped fit Logs plus Filesystem into internal flash. [#20928161]vue.min.js but could accept it via a .tar backup workaround. [#20942411]indexdevice.html served from /api/lfs/. A confirmed working setup used 0x34000 LittleFS, modified startup.js paths, and configured the device WebApp URL to the on-device page. The final result loaded Logs and Filesystem from the device itself inside a closed network. [#20944917].js, .vue, HTML, and backup archives directly on the device. In this thread it was used to hold files like vue.min.js, startup.js, logs.vue, and filesystem.vue so the device could serve its own WebApp pages through /api/lfs/. [#20928161]vue.min.js. Testing reproduced the issue, and adding an RTOS delay inside the file upload function improved stability. BK7231N remained harder than BK7231T, and some N devices still needed a .tar workaround after the fix. [#20941452]0x40000 on the next format step. [#20933489]startup.js, vue.min.js, httpVueLoader.min.js, filesystem.vue, logs.vue, info.vue, myComponent.vue, and indexdevice.html; the author first failed because filesystem.vue was missing. That missing file was described as the most important omission in the earlier attempts. [#20944917]window.root to /api/lfs/, set window.device to the device IP, and load startup.js from /api/lfs/startup.js. Then update startup.js so component paths use window.root+'logs.vue', window.root+'filesystem.vue', and similar on-device paths instead of external ones. Using / as window.root caused partial loading, while /api/lfs/ matched the working setup. [#20944917](((filesize div 4096) + 1) * 4096) for estimating space per file. [#20930090](((filesize in bytes) div 4096) + 1) * 4096) for each file, then sum the results. That method explained why a file set totaling about 147 kB of real data still occupied about 156 kB in LittleFS. [#20931925]lfs_size. 1. Run lfs_format 0x20000 or another target size. 2. Reboot the device after formatting. 3. Run lfs_size and confirm messages such as configured 0x20000. The thread shows this exact workflow for a 128 kB LittleFS on BK7231N. [#20928296].tar backup instead of direct file upload. One tester copied vue.min.js to a BK7231T first, downloaded the resulting .tar, and then restored that archive onto a BK7231N, where direct upload had failed. Another practical note was that large files could take 30–40 seconds to copy. [#20942411]delay_for_littlefs and later used as OpenBK7231N_1056_merge_ad333e21dec2 or similar board-specific binaries. It fully solved uploads on several BK7231T tests and improved BK7231N enough that a final 128 kB setup succeeded, though N still showed direct vue.min.js upload issues. [#20943770]Error:MAIN:Low heap warning! at 256 kB, also still at 212 kB and even 196 kB, which means the safest choice is the smallest filesystem that still fits your files. In practice, users converged on about 200–212 kB rather than 256 kB. [#20946139]<script> and <style> sections separately, then save the reduced .vue files under new names such as logs.min.vue. The thread reports shrinking httpVueLoader.min.js from 10,890 bytes to 5,867 bytes and reducing the whole LittleFS target from 212 kB to 196 kB. That made a self-hosted Logs plus Filesystem setup fit more comfortably. [#20946139]