logo elektroda
logo elektroda
X
logo elektroda

Testing OBK Config for Smaller Builds on OpenBK7231T - Feedback Needed

p.kaczmarek2 3549 65
Best answers

Can I build and test the reduced-size OpenBK7231T firmware from PR 1500 on BK7231, and remove the Wi‑Fi/IP configuration pages from the web UI so those settings are done only by console commands?

Yes—the smaller-build PR was working in testing on BK7231-class devices, but it was still considered very WIP while people checked for missing defaults and OTA regressions [#21382147][#21384037] BK7231N/T, WBR3, W600/W800 and other test boards booted the current build, and OTA plus common features like MQTT, LFS, NTP, DS1820, DHT and HA discovery were reported working or being verified [#21384037][#21384187][#21386335][#21386485] The maintainer also trimmed the build further by making SendGET/SendPOST depend on ENABLE_HTTP_SEND and the classic RGBCW PWM LED driver depend on ENABLE_LED_BASIC [#21381742] The open question was whether all Wi‑Fi/IP-related pages can be removed safely, because that depends on having equivalent console commands for those settings [#21381284][#21381294]
Generated by the language model.
ADVERTISEMENT
  • #31 21385195
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    Mine is silent but PCB seems slightly bent and I wonder if it's broken already, or is it firmware or user (my) fault?
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #32 21385201
    divadiow
    Level 38  
    Posts: 4908
    Help: 430
    Rate: 872
    flash then open port with log in same session HLK-W801-KIT

    Screenshot of Upgrade Tools V1.5.4 software with operational log.

    Added after 1 [minutes]:

    >>21385195
    doesn't sound good :(
  • #33 21385207
    max4elektroda
    Level 24  
    Posts: 746
    Help: 48
    Rate: 184
    Iirc the logging was only visible on TX0 (PB19) - only when sending update over USB-C logging stopped and there was some "noise". I don't recall logging on the USB port.
    But @divadiow should have the same device ;-)

    Added after 2 [minutes]:

    p.kaczmarek2 wrote:
    PCB seems slightly bent

    Sorry to hear that. Probably it was not packed correctly during shipping :-(
  • #34 21385216
    divadiow
    Level 38  
    Posts: 4908
    Help: 430
    Rate: 872
    >>21385201

    yes. 801.


    Printed circuit board with purple laminate on a blue background. HLK-W801-KIT-V1.1 electronic module on a blue work surface.
  • #35 21385223
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    Huh, it seems the problem is solved accidentally, but I don't know how.

    I just plugged again board, only opened tools, and got that:
    User interface of software update tool with open log and settings.
    I didn't even flash, it's still flashed by wm_tool.exe
    However... it is still silent in Realterm?
    Screenshot of the RealTerm serial capture program.
    It died as soon as I stopped Upgrade Tools...
    With upgrade tools log open, it works:
    OpenW800_CDCE8EC7 user interface with navigation buttons.
    I just checked with multimeter and I can see that opening Realterm (Open port button) brings RESET from 3.3V to 0V, what's going on?
    Ah, I had to press here:
    Screenshot of RealTerm program showing terminal interface with connection data and RTS/DTR buttons.
    It seems that Realterm has played a trick on me, I didn't expect that. Does this particular board has somehow DTR/RTS role inverted or did this setting change on it's own in my Realterm?
    Helpful post? Buy me a coffee.
  • Helpful post
    #36 21385550
    divadiow
    Level 38  
    Posts: 4908
    Help: 430
    Rate: 872
    Table with OTA tests and statuses for various chip models.
  • #37 21385914
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    So it seems my W800 board works. Thank you for sending it, @max4elektroda , as it's from you, unless my memory fails me...

    Now it's time for DHT test. I think it's a final thing I'll do before merging size PR:
    https://github.com/openshwprojects/OpenBK7231...mits/0094aa678b57c4855f5658c388e83977cb045a51

    Added after 46 [seconds]:

    Ok, so makefile needs update:
    Code: C / C++
    Log in, to see the code

    Did anyone run DHT on W800, actually?

    Added after 1 [minutes]:

    Ok:
    
    CSRCS += $(_SHARED_APP)/driver/drv_dht.c
    CSRCS += $(_SHARED_APP)/driver/drv_dht_internal.c
    


    Added after 9 [minutes]:

    Works:
    OpenW800_CDCE8EC7 interface screenshot displaying DHT11 sensor and system configuration information.
    Helpful post? Buy me a coffee.
  • #38 21385970
    max4elektroda
    Level 24  
    Posts: 746
    Help: 48
    Rate: 184
    Yes, the board was from me, so I'm glad it's not broken.
    I tried DHT with W800 when I got my pack (thanks for the hint @p.kaczmarek2 ) but obviously didn't report back - and this was with the rtl changes, not the "smaller build".
  • ADVERTISEMENT
  • #39 21386042
    divadiow
    Level 38  
    Posts: 4908
    Help: 430
    Rate: 872
    >>21385550

    updated to include BL602 with old partition layout/LFS
  • ADVERTISEMENT
  • #40 21386335
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    My BL602 knowledge is very rusty, and my BL602 dev board is still bricked. I really need to look into that someday...

    For now, I've tested DS18B20 with W800:
    Screenshot of OpenW800 interface showing sensor data
    Test setup:
    Breadboard with a module and electronic components
    DHT11 sensor module and DS18B20 thermometer on a breadboard.
    I think I forgot about something. HASS Discovery is not enabled on W800:
    Device configuration interface with setting options.
    I need to enable it in this PR before merging...

    Added after 10 [minutes]:

    Obviously, unresolved, gotta update makefile:
    
    ./bin/build/w800/lib/libuser.a(json_interface.o): In function `http_tasmota_json_status_TIM':
    (.text.unlikely.http_tasmota_json_status_TIM+0x8): undefined reference to `NTP_GetCurrentTime'
    ./bin/build/w800/lib/libuser.a(json_interface.o): In function `http_tasmota_json_status_TIM':
    (.text.unlikely.http_tasmota_json_status_TIM+0x8): relocation truncated to fit: R_CKCORE_PCREL_IMM26BY2 against undefined symbol `NTP_GetCurrentTime'
    ./bin/build/w800/lib/libuser.a(json_interface.o): In function `http_tasmota_json_status_TIM':
    (.text.unlikely.http_tasmota_json_status_TIM+0xe): undefined reference to `NTP_GetCurrentTimeWithoutOffset'
    ./bin/build/w800/lib/libuser.a(json_interface.o): In function `http_tasmota_json_status_TIM':
    (.text.unlikely.http_tasmota_json_status_TIM+0xe): relocation truncated to fit: R_CKCORE_PCREL_IMM26BY2 against undefined symbol `NTP_GetCurrentTimeWithoutOffset'
    collect2: error: ld returned 1 exit status
    


    Added after 14 [minutes]:


    NTP:
    Screenshot of the OpenW800 control panel displaying sensor information and configuration options.

    Added after 12 [minutes]:

    OpenW800 command tool interface with SSDP enabled.


    Window showing network device properties of OpenW800 on a Windows computer.

    Added after 21 [minutes]:

    Trying to get OpenWeatherMap to compile. What's that?
    Screenshot from Microsoft Visual Studio showing C source code related to the BL602 platform.
    I will try to sort out those includes as well in few moments.
    Helpful post? Buy me a coffee.
  • #41 21386440
    divadiow
    Level 38  
    Posts: 4908
    Help: 430
    Rate: 872
    cool progress. It's a shame BL602 new SDK isn't the de-facto BL602 base already. Will these kind of fixes need doing again for that?
  • #42 21386446
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    OWM:
    
    startDriver OpenWeatherMap
    // owm_setup lat long APIkey
    owm_setup 40.7128 -74.0060 REMOVEDMYKEYHERE
    setChannelType 6 Temperature_div10
    setChannelType 7 Humidity
    setChannelType 8 Pressure_div100
    // owm_channels temperature humidity pressure
    owm_channels 6 7 8
    // this will send a HTTP GET once
    owm_request
    

    The image shows a user interface for generating scripts for OpenWeatherMap with script text and sending log.
    All works:
    Screenshot of the OpenWeatherMap integration and sensor readings from DHT11 and DS18B20.

    Added after 3 [minutes]:

    divadiow wrote:
    It's a shame BL602 new SDK isn't the de-facto BL602 base already. Will these kind of fixes need doing again for that?

    Didn't one of our contributors already do the porting and was only waiting for final tests?
    https://www.elektroda.com/rtvforum/topic4024917-60.html#21376234
    @miegapele
    I need help with BL602, some testing and feedback would be great before we merge those changes... I mean BL602 SDK update for latest WiFi security, etc.

    Or if you are asking about my size changes? I think there should be no problems with merging @miegapele PR after we merge size changes, I didn't touch BL602-specific code.
    Helpful post? Buy me a coffee.
  • #43 21386458
    divadiow
    Level 38  
    Posts: 4908
    Help: 430
    Rate: 872
    p.kaczmarek2 wrote:
    I didn't touch BL602-specific code.

    ah ok ok. that answers that
  • #44 21386485
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    New mail arrived, just in time:
    Two plastic bags with BMP280 and AHT20 sensors.

    Added after 1 [hours] 51 [minutes]:



    Testing I2C software
    Table showing pin configuration for electronic devices.
    OpenW800 command tool interface displaying I2C status.

    Added after 3 [minutes]:

    
    backlog stopDriver BMP280 ; startDriver BMP280 25 24 9 10 11 236
    

    Bad pins:
    OpenW800 tool interface with BMP280 driver information.
    Correct pins:
    Screenshot of OpenW800_CDCE8EC7 tool showing a command line interface with a command to the BMP280 driver.

    Added after 1 [minutes]:

    Screenshot of a control panel displaying BMP280 temperature and pressure data.

    Added after 4 [hours] 41 [minutes]:

    Merged, but you can still give feedback...
    Helpful post? Buy me a coffee.
  • #45 21387071
    max4elektroda
    Level 24  
    Posts: 746
    Help: 48
    Rate: 184
    Thanks for merging.
    Made a fix for the DS1820 change made for W600 (post #28) in PR #1504
  • #46 21387076
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    Thank you.

    I'm making Startup Command multiline now. If Scripting is enabled, startup will be run at script. I'm planning to merge it today, but if there is anything against it, let me know.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #47 21387150
    max4elektroda
    Level 24  
    Posts: 746
    Help: 48
    Rate: 184
    That will make backlog obsolete or at least nor needed for multiple commands?
    That's a good idea!
  • #48 21387167
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    Backlog can still be used, no problem there. I really hope I won't break stuff. I need to maintain compatibility with previous versions. I also hope that running script from there won't cause stack overflow.

    For now, I'm struggling with a strange error:
    https://github.com/openshwprojects/OpenBK7231T_App/pull/1505
    Screenshot of compilation logs for the OpenBK7231T project in Ubuntu environment, ending with an error.
    This looks like a compiler bug, not a compile error. I'm checking step by step in separate PR what causes that:
    https://github.com/openshwprojects/OpenBK7231T_App/pull/1506
    Maybe I made some silly typo, but again, the error message is so confusing.

    Added after 47 [seconds]:

    .. wait, maybe it's the long name of binary that is at fault? That would be silly!

    Added after 28 [minutes]:

    It really works with shorter names:
    https://github.com/openshwprojects/OpenBK7231T_App/pull/1506

    Added after 8 [minutes]:

    Testing:
    Screenshot of the OBK_DevBoard_CB3S configuration panel with startup commands.
    Screenshot showing a log with information about channels and network settings.
    Helpful post? Buy me a coffee.
  • #49 21387246
    max4elektroda
    Level 24  
    Posts: 746
    Help: 48
    Rate: 184
    p.kaczmarek2 wrote:
    For now, I'm struggling with a strange error:

    I think I remember having the same error once, but only on the online build while the same code was compiled fine locally. Maybe it was also a too long name for the image...
  • #50 21387301
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    It works now, but now W800 binary is over 1MB and OTA is broken.
    It seems its' time to disable some stuff in W800 itself:
    Code: C / C++
    Log in, to see the code

    So W800 comes with TLS enabled? No wonder it's 900kB without OBK drivers.

    Added after 20 [minutes]:

    I got W800 binary from 1MB to 0.55MB:
    Screenshot of changes in the configuration file from source code.

    Added after 37 [seconds]:

    Here is test script:
    
    setChannel 30 0
    again:
    addChannel 30 1
    echo Hello $CH30
    delay_s 1
    goto again
    
    Helpful post? Buy me a coffee.
  • #51 21387414
    divadiow
    Level 38  
    Posts: 4908
    Help: 430
    Rate: 872
    p.kaczmarek2 wrote:
    So W800 comes with TLS enabled? No wonder it's 900kB without OBK drivers.

    oh wow

    p.kaczmarek2 wrote:
    I got W800 binary from 1MB to 0.55MB:


    that's a bit better!
  • #52 21387415
    max4elektroda
    Level 24  
    Posts: 746
    Help: 48
    Rate: 184
    It's a good thing, W800 is going to be a platform like the others. I still remember the time when it was "OBK_DISABLE_ALL_DRIVERS" and I had to do many detours to make a driver working (don't recall if it was the clock or DS1820).
    Enough indulging the past.
    That's a huge step to decrease image size. Very good!
  • #53 21387492
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    I forgot about waitFor. waitFor was broken on new platforms:
    Screenshot of a pull request on GitHub concerning a fix for the waitFor function.
    I need testing again. Can anyone check if the new "startup command" behaviour is the same as previous? I'm worried that we might get random stack overflow at some commands that I didn't test.

    Added after 36 [minutes]:

    I've found a problem.
    For this call:
    http://192.168.0.151/api/info
    JSON newlines of startup command has to be escaped.

    Added after 16 [minutes]:

    Another issue - crash.
    Steps to repro:
    - set long script in new textArea startup command
    - OTA to release
    -release crashes on boot:
    
    
    fo:MQTT:MQTT_RegisterCallback called for bT cmnd/w800s/ subT cmnd/w800s/+
    Info:MQTT:MQTT_RegisterCallback called for bT w800CDCE8EC7/ subT w800CDCE8EC7/+/
    ror:CMD:Too many args, skipped all after 32nd.                         
    fo:MAIN:Started DS1820.                                             
    fo:CMD:CMD_StartScript: failed to get file autoexec.bat                   
    fo:MAIN:Main_Init_After_Delay done
    fset:213923                                                                
    CPU Exception : 3                                                            
    r0: 00000017	   r1: 00000000	   r2: 2000aea0	   r3: 00000000	   r4: 00000017	  
    r5: 20000868	   r6: 2000ae9c	   r7: 2000aea5	   r8: 2000b4d4	   r9: 09090909	  
    r10: 10101010	  r11: 11111111	  r12: 0000004e	  r13: 200232d4	  r14: 200232a4	 
    r15: 080ecbdc	                                                              
    epsr: 80000341     
    

    In safe mode you can remove startup command and reboot.
    It works now again.

    It seems like current release W800 does not like long startup commands?
    Helpful post? Buy me a coffee.
  • #54 21387556
    divadiow
    Level 38  
    Posts: 4908
    Help: 430
    Rate: 872
    I recall that, as seen here perhaps: https://www.elektroda.com/rtvforum/topic4075289-30.html#21242165

    maybe new SDK is better ;)

    Added after 2 [hours] 19 [minutes]:

    p.kaczmarek2 wrote:
    Here is test script:

    should I be entering this into the new multi-line startup command line on any particular platform you haven't tested it on?
  • #55 21387790
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    Wait, I am adding security checks, you can test later today:
    Screenshot of Visual Studio with source code and diagnostics window open.
    The bad thing is that I still am not sure why W800 crashed when I first set long startup command in my PR, and then updated it to old Release. Still, it seems like a somewhat rare scenario, and it's easily recoverable in safe mode. Most likely I'll just ignore that, because who would first set long script and then downgrade to old version?

    Added after 46 [seconds]:

    Screenshot of WinTest_3145CAFF software interface with startup command.

    Added after 3 [hours] 34 [minutes]:

    Next change - not size related, but I'm adding:
    - HAL_PIN_Find (find pin obk index by string name)
    - Tokenizer_GetPin (parses pin by string name like RB8)
    For now implemented for W800 and W600.

    Added after 12 [minutes]:

    Excellent:
    Screenshot of the OpenW600_CD3E352F interface with command inputs.
    
    backlog stopDriver BMP280 ; startDriver BMP280 PB9 PB8 9 10 11 236
    


    W600 config:
    
    startDriver DS1820
    startDriver BMP280 PB9 PB8 9 10 11 236
    
    // wifi wait
    waitFor WiFiState 4
    startDriver OpenWeatherMap
    // owm_setup lat long APIkey
    owm_setup 40.7128 -74.0060 qqqqqqqqqqqqq
    setChannelType 6 Temperature_div10
    setChannelType 7 Humidity
    setChannelType 8 Pressure_div100
    // owm_channels temperature humidity pressure
    owm_channels 6 7 8
    owm_request
    
    
    setChannel 30 0
    again:
    addChannel 30 1
    echo Hello $CH30
    delay_s 1
    goto 
    

    OpenW600 interface screen with weather information and toggles.
    Helpful post? Buy me a coffee.
  • #56 21398800
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    @divadiow can you give a quick check to this before I merge?
    https://github.com/openshwprojects/OpenBK7231T_App/pull/1506
    at least on Beken
    Helpful post? Buy me a coffee.
  • #57 21398861
    divadiow
    Level 38  
    Posts: 4908
    Help: 430
    Rate: 872
    I only have BKN, BKT, TR, RTL8720CF modules with me until home tomorrow. What do you want to know - flashes, boots, multiline startup command to run 3 drivers perhaps?
  • #58 21399041
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    Just do some random tests, it should work good.

    If you have Beken with UART programmer, try flashing my PR, then set some startup command (use my loop code?) and then flash back current release and see if it works or breaks
    Helpful post? Buy me a coffee.
  • #59 21399329
    divadiow
    Level 38  
    Posts: 4908
    Help: 430
    Rate: 872
    OK,

    so with this on BK-N with 1506_merge_3c730d0b6a77

    Code: Text
    Log in, to see the code


    you get all drivers starting and the looping echos
    Code: Text
    Log in, to see the code


    flash back to GA and this is the startup command content

    Code: Text
    Log in, to see the code


    and of course only ntp starts with that
    flash back to PR again and the startup command is back to multi-line, all drivers load and the loop runs

    Added after 43 [minutes]:

    RTL87X0C is the same up to the point where I've gone from PR->GA (with the exception of SSDP start - I guess this isn't enabled) but I can't finish with GA->PR to check multi-line is still present because sometimes this happens:

    OTA update window with invalid file selected for update.
    so you can't choose an OTA file. different browsers, incognito, device reboots, different APs (Wndows hotspot and real AP - both with internet) - at the moment OTA in console GUI isn't in place for RTL, which is usually the workaround.

    Message about the lack of OTA update implementation for OpenRTL87X0C
    Maybe it's something to do with PR builds #s? I think I've only ever seen it in testing. Not taken enough of a note to get a pattern for why.

    Anyway, that's a different thing. Also, I don't actually have BK-T with me at the moment, as previously stated.
  • #60 21399371
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14460
    Help: 650
    Rate: 12470
    This OTA problem is a known bug. This is because multiline startup command can have newline characters, also known as \n, but those characters should be escaped in JSON. And they are not escaped in JSON in older builds. So, the "get chip info" API call of Web App fails, so Web App is broken as long as you have old startup command line, so it doesn't know what the platform is and can't check OTA.

    Solution - remove startup commandline text and then do OTA. Does it work?
    Helpful post? Buy me a coffee.

Topic summary

✨ Dyskusja dotyczy wprowadzenia mniejszych kompilacji w projekcie OpenBK7231T, w tym dodania nowych definicji do pliku obk_config.h, co pozwala na redukcję rozmiaru budowy. Użytkownicy omawiają możliwość wyłączenia niektórych stron HTML, sterowników LED oraz kodu wspólnego dla BL0942/BL0937. Testy wykazały, że nowa kompilacja osiąga rozmiar 388KB w porównaniu do 500KB w ostatnim publicznym wydaniu. Uczestnicy dyskusji dzielą się doświadczeniami z testowaniem różnych urządzeń, takich jak DHT, BL0942, oraz omawiają problemy związane z OTA i nowymi komendami startowymi. Wskazano również na potrzebę dalszych testów i integracji z innymi platformami.
Generated by the language model.

FAQ

TL;DR: The reduced OpenBK7231T_App test build cut BK7231N firmware from 500 KB to 388 KB, and one tester confirmed it "boots ok" on multiple boards. This FAQ helps OpenBK7231T users validate smaller builds, preserve OTA safety, and check which drivers still work before merging custom or stripped firmware. [#21382317]

Why it matters: Smaller firmware images make room for more platforms, safer OTA updates, and clearer driver-set choices without losing core OpenBK functionality.

Build or option Reported size / result Best fit
Public BK7231N release 500 KB Full default feature set
Stripped BK7231N build 388 KB Minimal core, MQTT kept earlier; HA removed in one test state
Earlier reduced RBL from PR #1500 405,200 bytes Early small-build validation
Empty HAL main 280 KB Baseline SDK overhead only
W800 after SDK feature cuts ~0.55 MB OTA-friendly W800 target

Key insight: The thread shows the size work was viable because testers repeatedly confirmed boot, OTA, MQTT, LFS, and several drivers across BK7231N, BK7231T, W600, W800, LN882H, RTL87X0C, and others. The real risk was not basic boot, but edge cases around startup-command JSON, makefiles, and platform-specific SDK defaults.

Quick Facts

  • PR #1500 produced a reduced OpenBK7231N_1500_merge_f2af436bf134.rbl at 405,200 bytes, versus 500,800 bytes for public release 1.18.12. [#21381261]
  • The BK7231N stripped build later dropped to 388 KB, then 376 KB after MQTT removal, and 335 KB after IR was disabled. [#21382838]
  • On W800, default SDK features pushed the image to about 1 MB; disabling TLS and related HTTP-client options cut it to about 0.55 MB. [#21387301]
  • OTA and runtime checks succeeded on real hardware: CB3S OTA from 1.18.13 worked, and LN OTA from 1.17.765 also kept BL0937, DS1820, LFS, NTP, and MQTT working. [#21384187]
  • W600 software I2C and BMP280 were tested with explicit pins, including a working example using 25 24 9 10 11 236 after correcting bad-pin wiring. [#21386485]

How do I test the reduced-size OpenBK7231T_App build from PR #1500 on BK7231 over UART wires, and what should I verify first after flashing?

Flash the PR #1500 image over UART wires, then verify boot, web access, and at least one core driver. 1. Write the test build to BK7231 and power-cycle the board. 2. Confirm it boots, creates the app or panel, and accepts OTA or console access. 3. Check a known feature such as DHT, MQTT, or driver listing before testing edge cases. Early testers reported OTA from file-select working and later confirmed boot on WBR3, BK7231N, and BK7231T test boards. [#21384037]

Why does a stripped OpenBK7231N build still take around 280 KB even with an almost empty main, and which SDK parts like WiFi or OTA are likely responsible?

Because the platform SDK still brings substantial baseline code even when OpenBK logic is nearly absent. The thread reports 280 KB for a BK7231N binary with an empty HAL main, versus 388 KB for a stripped OpenBK build and 500 KB for the latest public release. The discussion explicitly points to likely space users such as WiFi, OTA, and low-level SDK code in driver/common/dd.c, which remain linked below the application layer. [#21382317]

What commands are still required in OpenBK7231T if the WiFi, IP, and other configuration HTML pages are removed and everything must be configured from the console?

You still need console commands that fully replace web-page setup for networking and runtime control. The thread confirms WiFi can already be configured by command, and it discusses removing HTML pages only if all required text commands remain available. At minimum, the console must cover WiFi setup, IP-related configuration, driver startup, and OTA-safe recovery workflows, because the proposed lightweight panel may become a command-line-only HTML window. [#21381294]

What is LittleFS (LFS) in OpenBK7231T, and why can files like autoexec.bat disappear after OTA or partition-size changes?

"LittleFS (LFS) is a lightweight flash filesystem that stores persistent files, startup scripts, and small user data across reboots, but its contents depend on partition layout and reserved flash size." Files like autoexec.bat can disappear after OTA or size-layout changes because the filesystem area may shrink, move, or be recreated. One test on room lights kept core control working but lost autoexec.bat, prompting a warning to add a user warning or shrink default LFS size again. [#21384179]

What is HA or HASS Discovery in OpenBK7231T, and how do I check whether it still works after using a smaller firmware build?

"HA or HASS Discovery is a Home Assistant integration feature that auto-announces device entities over MQTT, letting Home Assistant detect sensors and controls without manual entity creation." After flashing a smaller build, verify it by enabling MQTT, watching Home Assistant or broker messages, and checking that discovery still appears after reboot. Testers explicitly confirmed that HA Discovery and LFS still worked on RTL87X0C in the reduced-build testing cycle. [#21384099]

LED build vs metering build in OpenBK7231T: which driver set makes more sense for RGBCW devices compared with BL0942 or BL0937 power-monitoring devices?

An LED-focused build makes more sense for RGBCW lights, while a metering-focused build fits BL0942 or BL0937 power devices. The thread states these driver groups are strongly exclusive in practice, because classic LED drivers such as RGBCW PWM or SM2135 are usually not needed alongside energy-metering stacks like BL0942 and BL0937. That is why a proposed split included separate "LED" and "metering" predefined build sets for GitHub workflows. [#21381298]

How can I list the drivers included in a specific OpenBK7231T firmware build using the startDriver anyNonExistingName trick?

Run startDriver anyNonExistingName in the console to force OpenBK to print the available driver list for that firmware. The maintainer asked testers to use exactly that trick to manually verify which public drivers remained compiled in before merging the size-reduction PR. Testers then posted platform-specific driver lists for LN882H, BK7231N, BK7231T, ESP32 variants, W600, W800, BL602, and TR6260. [#21384228]

Why does BL602 fail to compile drv_ir.cpp with 'Platform not defined' when PLATFORM_BL602 is only set in CFLAGS, and how should that define be passed for C++ files?

It fails because drv_ir.cpp is a C++ file, but PLATFORM_BL602 was only defined in CFLAGS, not in the flags used for C++ compilation. The thread identifies the fix clearly: pass the define through CXXFLAGS or CPPFLAGS, for example CXXFLAGS += -DPLATFORM_BL602=1. That change matches the observed error path, where obk_config.h reached #error "Platform not defined" inside a .cpp compile. [#21385028]

What causes Realterm to hold a W801 board in reset when opening the serial port, and which DTR or RTS setting fixes the no-UART-output problem?

Realterm can assert the modem-control line in a way that pulls the W801 reset pin low when the port opens. The maintainer measured RESET dropping from 3.3 V to 0 V on port open, which explained the silent UART. The fix was changing the relevant Realterm handshake control so opening the port no longer held reset active; once adjusted, the board printed normally and the problem disappeared. [#21385223]

How do I troubleshoot OTA and web GUI failures on older OpenBK7231T builds when the new multiline startup command contains unescaped newline characters in JSON?

Clear the multiline startup command first, then retry OTA. Older builds do not escape newline characters as \n in the JSON returned by the chip-info API, so the web app fails to parse platform info and cannot offer the OTA file selector correctly. The maintainer described this as a known bug and gave the direct workaround: remove the startup command text, then perform OTA. [#21399371]

Why does downgrading from a PR build with a long multiline startup command to an older W800 release lead to a boot crash, and how can safe mode recover it?

The older W800 release cannot safely handle the long multiline startup data written by the PR build, so it may crash during boot. The thread shows a reproducible failure after OTA to release, including Too many args, skipped all after 32nd and a CPU Exception 3. Recovery is simple: boot into safe mode, remove the stored startup command, and reboot. That clears the incompatible text and restores normal startup. [#21387492]

How do I enable and test DHT or DS18B20 on W800 and W600 when the makefile is missing driver source files or platform-specific options?

Add the missing driver sources or platform flags to the platform makefile, rebuild, then test with a real sensor. On W800, DHT initially failed with undefined references until drv_dht.c and drv_dht_internal.c were added to CSRCS; after that, DHT worked. On W600, DS18B20 was enabled for the first time during this work, though a small type issue still needed follow-up to avoid long-uptime timing problems. [#21385914]

What is OpenWeatherMap support in OpenBK7231T, and how do I configure owm_setup, channel types, and owm_request from the console?

OpenWeatherMap support is a driver workflow that fetches weather data over HTTP and maps it into OpenBK channels. Configure it by starting OpenWeatherMap, running owm_setup <lat> <long> <APIkey>, assigning channel types such as Temperature_div10, Humidity, and Pressure_div100, then binding them with owm_channels and calling owm_request. A posted working example used coordinates 40.7128 -74.0060 and channels 6, 7, and 8, and the maintainer confirmed, "All works." [#21386446]

Why was the W800 firmware image so large with TLS and HTTP client features enabled by default, and which SDK options helped shrink it from about 1 MB to roughly 0.55 MB?

The W800 image was large because the SDK enabled HTTP client, HTTPS, SSL, and crypto-related features by default. The maintainer highlighted TLS_CONFIG_HTTP_CLIENT, TLS_CONFIG_HTTP_CLIENT_SECURE, and related options as size drivers, then reduced the image from about 1 MB to about 0.55 MB by disabling unnecessary SDK features. That cut made OTA practical again and explained why W800 binaries were oversized even before many OpenBK drivers were added. [#21387301]

How do pin-name parsers like HAL_PIN_Find and Tokenizer_GetPin work in OpenBK7231T on W600 or W800, and how can I use names like PB8 and PB9 when starting drivers such as BMP280?

They let the console accept human-readable pin names and convert them to internal OBK pin indexes. The maintainer added HAL_PIN_Find and Tokenizer_GetPin for W600 and W800, then demonstrated driver startup with symbolic pins instead of numeric indexes. A working example was backlog stopDriver BMP280 ; startDriver BMP280 PB9 PB8 9 10 11 236, which successfully started BMP280 using PB9 and PB8 as I2C-style pin arguments. [#21387790]
Generated by the language model.
ADVERTISEMENT