FAQ
TL;DR: Size-optimised OpenBK7231T builds shrink firmware from 500 KB to 335 KB (-33 %) while keeping core features; “Good idea overall.” [Elektroda, insmod, post #21381284] [Elektroda, p.kaczmarek2, post #21382838] Why it matters: smaller images fit every 2 Mbit module and speed up OTA updates.
Quick Facts
• Current ‘size-test’ BK7231N image: 335 KB [Elektroda, p.kaczmarek2, post #21382838]
• Drivers OFF by default: RGBCW PWM, LED flags page, IR, MQTT (optional) [#21381261]
• W800 build after TLS removal: 550 KB [#21387301]
• Minimum “empty HAL” binary: 280 KB [#21382317]
• OTA file extensions: .rbl (BK), .img (RTL87x0C) [#21403379]
What changed in the new “size-test” firmware?
Extra #defines let maintainers exclude HTML flag pages, classic RGBCW LED driver, BL0942/BL0937 shared code, IR routines, and other seldom-used drivers, dropping BK7231N binary size by about 165 KB [Elektroda, p.kaczmarek2, #21381261 #21382838].
How big is the stripped build compared with the public 1.18.12 release?
The 1.18.12 BK7231N image is 500 800 bytes; the size-test image is 405 200 bytes initially and 335 000 bytes after further pruning [#21381261 #21382838].
Which platforms were verified?
Successful boots were reported on BK7231T, BK7231N, WBR3, BL602, W800, W600, LN882H, ESP32C2/S3/C6, RTL87x0C and TR6260 [#21384037 #21384266].
Does Home-Assistant (MQTT Discovery) still work?
Yes. Users confirmed HA Discovery on RTL87x0C after stripping and on CB3S after OTA [#21384099 #21384150].
Edge case: why did OTA web page disappear on RTL87x0C?
Old JSON returned unescaped \n from multiline Startup Command, breaking the /api/info call; clearing Startup Command restores the OTA picker [#21399371].
Can I downgrade safely after using multiline Startup Command?
Downgrading to pre-multiline builds can crash W800 (CPU Exception 3) [#21387492]. Boot in safe mode, erase Startup Command, reboot, then OTA the older image.
How do I check which drivers are compiled in?
Enter startDriver anyNonExistingName
; the console prints an alphabetised list of available drivers [#21384228].
How do I flash and test the reduced build?
- Download the .rbl or .img artefact from PR 1500.
- Flash over UART/OTA.
- Run
info
to verify new size.
- Execute typical commands (Wi-Fi join, MQTT connect, driver loads) to confirm functionality [#21381261].
Why is W800 image size extreme?
Factory SDK enables TLS, HTTP(S) client, and crypto. Disabling them in tls_config halves the image to ~550 KB [#21387301].
What happens if Startup Command exceeds 1024 bytes?
Current builds display an error and truncate additional arguments; older builds could silently overflow [#21387167].
Is scripting affected by the new Startup Command field?
No. If scripting is enabled, the multiline Startup Command is executed inside the script context; Backlog remains available [#21387167].
How do I reference GPIO pins by name on W600/W800 now?
New helper HAL_PIN_Find
lets you write PB8
instead of numeric index; example: startDriver BMP280 PB9 PB8 9 10 11 236
[#21387790].
Does the BL602 port need separate fixes?
Platform macro was added to CXXFLAGS (PR #6) so size-test compiles; forthcoming Wi-Fi-secure SDK update will merge cleanly [#21385028 #21386446].
What statistic shows memory still available?
BK7231N blank HAL binary occupies 280 KB, leaving ≈420 KB headroom in a 1 MB flash [#21382317].
Quote from maintainer on future web UI?
“I may try to implement soon a 100 % alternative web panel that is just basically a command line window in HTML.” [Elektroda, p.kaczmarek2, post #21381294]
Failure fact: When can RealTerm drop RESET low?
On some W801 boards RealTerm toggles DTR/RTS, pulling RESET to 0 V and muting UART until hand-shaking is disabled [#21385223].