logo elektroda
logo elektroda
X
logo elektroda

OpenBeken W800 vs W806 Differences and OTA Update Methods

p.kaczmarek2 5856 71
Best answers LABEL_AI_GENERATED

How is the W806 different from the W800/W801, and what OTA update method does the W800 support?

The HLK-W806-Kit-V1.0 tested in the thread appears to be a different target from the HLK-W800/W801 boards: it reportedly has no Wi‑Fi/BT and only 1 MB flash, so the W800 firmware does not flash directly and the effort shifted to trimming the SDK/build to fit [#21081609][#21534154] Later W800 experiments showed the port can boot and run with a heavily reduced build, but only after disabling features such as hostif/rmms, the SDK web server, and iperf to keep the binary size under control [#21534154][#21526615] For OTA, the W800 path is the older HTTP-server-based OTA; in newer builds, OTA can also succeed via `new_tcp_server`, but it is slower and more memory-hungry [#21527634][#21526615]
AI summary based on the discussion. May contain errors.
ADVERTISEMENT
  • #1 21081517
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14756
    Help: 659
    Rate: 12883
    What's going with this PR @divadiow ? Is W806 different than W800/W801?

    Btw, to answer OTA question - W800 has HTTP server based OTA (old OTA style), the Web App OTA is missing.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • W806 needs SDK changes to fit 1 MB flash

    #2 21081609
    divadiow
    Level 38  
    Posts: 5214
    Help: 446
    Rate: 914
    good morning!

    yes, I grabbed a Hi-Link HLK-W806-Kit-V1.0 board from Ali Express a week ago as it looked just like it's sister board the HLK-W800-Kit-1.0 and I wanted to see if OBK had any chance on it. I didn't really look at the spec when I bought it, but it doesn't have wifi/BT and it only has 1mb flash!

    OpenBeken W800 vs W806 Differences and OTA Update Methods

    Without any research I tried flashing the W800 OBK but this unsuccessful, failing with this error

    OpenBeken W800 vs W806 Differences and OTA Update Methods

    which led here http://ask.winnermicro.com/question/131.html

    But then this caught my eye http://ask.winnermicro.com/question/720.html which led to this http://ask.winnermicro.com/article/186.html where this was stated:

    Code: Text
    Log in, to see the code


    followed by the modifications to make to adjust SDK, which is where these initial changes were committed. https://github.com/openshwprojects/OpenBK7231...mits/53288ad592b05de359db926d30b770ef7a17e2d9

    There were some failures because of size. This I think was the size that built

    OpenBeken W800 vs W806 Differences and OTA Update Methods

    but then it would fail with

    OpenBeken W800 vs W806 Differences and OTA Update Methods

    which I can't find mention of yet. Assuming this related to size I then set about trying to exclude bits to reduce flash total bytes, but you can see from subsequent runs this has not been successful yet. I've been commenting-out bits in the SDK relating to the demo, BT etc, but nothing I've tried has reduced size.

    OpenBeken W800 vs W806 Differences and OTA Update Methods

    OpenBeken W800 vs W806 Differences and OTA Update Methods

    Even with a working OBK the 1mb flash probably makes it very limiting driver-wise, but still, it would be another supported chip to add to the list. Suggestions welcome!
  • #3 21081620
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14756
    Help: 659
    Rate: 12883
    How do you know that NAK error means that flash is too big?

    What is the current flash size?

    I can add some #define for you to for example allow turning off features like Tasmota JSON emulation
    Helpful post? Buy me a coffee.
  • NAK likely from missing flasher acknowledgement

    #4 21081639
    divadiow
    Level 38  
    Posts: 5214
    Help: 446
    Rate: 914
    p.kaczmarek2 wrote:
    How do you know that NAK error means that flash is too big?


    I don't. Just a stab in the dark. But maybe it's related to NACK and it's that the flasher didn't receive an acknowledgement after Packets: 57/957? I've tried different uart speeds.

    p.kaczmarek2 wrote:
    What is the current flash size?


    1mb!

    p.kaczmarek2 wrote:
    I can add some #define for you to for example allow turning off features like Tasmota JSON emulation


    well that would be cool, but I am also happy to just keep playing myself if you've no time/other priorities. W806 was just a little adventure with no stakes.
  • #5 21081643
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14756
    Help: 659
    Rate: 12883
    I don't think it's exactly 1MB, what is the current size of build files?

    Can we get somehow some other binary for testing W806? I can try to help, I have linux vm, maybe we can build/compile something else together..

    I can try to add more size build reduction within 3 to 6 hours from now so you can test more.
    Helpful post? Buy me a coffee.
  • W806 wifi/bt core evidence still unconfirmed

    #6 21081649
    divadiow
    Level 38  
    Posts: 5214
    Help: 446
    Rate: 914
    p.kaczmarek2 wrote:
    I don't think it's exactly 1MB, what is the current size of build files?

    Screenshot showing two FLS files downloaded on a Windows computer.
    p.kaczmarek2 wrote:
    Can we get somehow some other binary for testing W806?

    I did wonder about that. Will try to find something. The board didn't seem to come with anything from factory. I can't yet post on the WM forums because I need more reputation points 🙄

    p.kaczmarek2 wrote:
    I can try to help, I have linux vm, maybe we can build/compile something else together..

    I can try to add more size build reduction within 3 to 6 hours from now so you can test more.


    well sure! that'd be awesome.

    Added after 1 [hours] 19 [minutes]:

    I'm trying to find evidence the W806 really does have wifi/bt cores. unsure yet

    Added after 2 [minutes]:

    I have a working LED blinky demo from https://github.com/tehniq3/w80x_duino?tab=readme-ov-file

    woop
  • #7 21081712
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14756
    Help: 659
    Rate: 12883
    How large is the working LED blink demo?
    Helpful post? Buy me a coffee.
  • #8 21081715
    divadiow
    Level 38  
    Posts: 5214
    Help: 446
    Rate: 914
    Screenshot showing a file named sketch_may14a.ino.fls saved in FLS format, dated May 14, 2024, at 08:04, with a size of 92 KB.

    tiny arduino sketch

    Added after 42 [seconds]:

    flashes successfully in upgrade tools too

    Screenshot of Upgrade Tools V1.5.8 with uploaded Arduino sketch.
  • ADVERTISEMENT
  • #9 21081741
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14756
    Help: 659
    Rate: 12883
    900KB vs 90KB seems like a huge difference. Is OBK really adding that much? Or is your tiny sketch compiled without WiFi library itself?
    Helpful post? Buy me a coffee.
  • #10 21081749
    divadiow
    Level 38  
    Posts: 5214
    Help: 446
    Rate: 914
    I imagine it's the bare minimum using a real W806 SDK with no wifi lib? Not sure blinky is any help tbh

    these are all the files under AppData\Local\Temp\arduino\sketches\5FEE0DA0118E63E80FD53A32C4A29472 from the sketch compilation
    Attachments:
    • file.csv (30.76 KB) You must be logged in to download this attachment.
  • Disable Tasmota API to shrink OBK build

    #11 21081754
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14756
    Help: 659
    Rate: 12883
    I'd suggest trying to make a simple AP demo with that Arduino thing. I will be able to make OBK build smaller in about 2h.

    Added after 1 [hours] 51 [minutes]:

    I added ability to disable Tasmota API:
    https://github.com/openshwprojects/OpenBK7231T_App/pull/1236
    But it doesn't seem make much difference:
    W800 FLS (not OTA) - 966 824
    W800 FLS (not OTA) - 976 336

    I don't think it's OBK making that much of a difference, maybe we need to check there:
    https://github.com/openshwprojects/OpenW800

    Added after 1 [hours] 25 [minutes]:

    maybe disable that:
    Screenshot of program code in the main.c file of the OpenW800 project with a symbol search option.
    Helpful post? Buy me a coffee.
  • #13 21082792
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14756
    Help: 659
    Rate: 12883
    So what is your current size of the build? Maybe can I help more?
    Helpful post? Buy me a coffee.
  • Workflow still using old OpenW800 code

    #14 21082802
    divadiow
    Level 38  
    Posts: 5214
    Help: 446
    Rate: 914
    still

    Screenshot showing file size and size on disk.

    i'm probably doing something wrong. I'm commenting out/undefining but that doesn't seem to be making a difference. I'm making the changes to my OpenW800 submodule then pushing to my fork then pushing to remote main. it's triggering the workflow with the open PR so I guess my changes are making it up to the right place...

    eg https://github.com/openshwprojects/OpenBK7231...mits/492f5436757622c5e304f465f9d41e616df82927
  • ADVERTISEMENT
  • #15 21082823
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14756
    Help: 659
    Rate: 12883
    Is your fork switched to your W800 submodule?
    Helpful post? Buy me a coffee.
  • Submodule commit changes propagating to main app PR

    #16 21082842
    divadiow
    Level 38  
    Posts: 5214
    Help: 446
    Rate: 914
    I believe so. that's what I spent the first half the evening fixing. I started again with everything since the night before.

    .gitmodules has

    Code: Text
    Log in, to see the code


    Summary of My Setup:

    Forks and Clones:

    I forked the repositories OpenBK7231T_App and OpenW800 from the original repositories.
    I cloned my forks to my local machine:
    OpenBK7231T_App: C:\Users\divad\Documents\GitHub\OpenBK7231T_App
    OpenW800: C:\Users\divad\Documents\GitHub\OpenW800
    Submodule Configuration:

    The OpenBK7231T_App repository includes the OpenW800 submodule.
    I verified that the submodule URL in my OpenBK7231T_App repository points to my fork of OpenW800.


    that commit showing the file changes I made in my submodule are making their way to the main app PR is evidence all is OK?
  • #17 21386515
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14756
    Help: 659
    Rate: 12883
    Hey, what's the state of W806 flash attempt? How much size reduction is needed? Maybe it will be possible once we merge:
    Testing OBK Config for Smaller Builds on OpenBK7231T - Feedback Needed
    With new features, it's possible to even disable MQTT in the build and it gives a very good flash size reduction.
    Helpful post? Buy me a coffee.
  • W800 wifi enablement deemed impractical

    #18 21386566
    divadiow
    Level 38  
    Posts: 5214
    Help: 446
    Rate: 914
    sadly almost definitely not a thing trying to enable wifi on it. it's been put to bed. latest:

    Code: Text
    Log in, to see the code

    https://github.com/board707/w80x_arduino/issues/40#issuecomment-2561380709

    maybe it could be made to run with no wifi - but then you'd just get to watch the uart logs? or you'd have to somehow script all settings. Maybe OpenW806 Core Edition - without GUI ;)

    Added after 1 [minutes]:

    Maybe I'll try flash to see if anything is different with latest smaller build

    Added after 26 [minutes]:

    not seeing sizetest2 builds that much smaller for W800. 950kb smallest I've seen I think.
  • Flash download fails with CAN error after erase

    #19 21387419
    divadiow
    Level 38  
    Posts: 5214
    Help: 446
    Rate: 914
    Code: Text
    Log in, to see the code
  • ADVERTISEMENT
  • #20 21387420
    max4elektroda
    Level 24  
    Posts: 758
    Help: 49
    Rate: 189
    Now without (own) NTP and TLS it's much smaller, thanks to @p.kaczmarek2 :-)

    Added after 1 [minutes]:

    You have been first again, sorry it doesn't work...
  • #21 21387422
    divadiow
    Level 38  
    Posts: 5214
    Help: 446
    Rate: 914
    max4elektroda wrote:
    You have been first again

    to try on W806?

    yeh, kinda didn't think it would :) just had to scratch that itch
  • #22 21387426
    max4elektroda
    Level 24  
    Posts: 758
    Help: 49
    Rate: 189
    divadiow wrote:
    to try on W806

    I meant in realizing that the reduced image now could be a start for W806.
    But sure also to try at all ;-)
  • W800 backup method and Tuya firmware log

    #23 21525621
    insmod
    Level 31  
    Posts: 1432
    Help: 168
    Rate: 455
    @divadiow can you check if this version works?
    https://github.com/NonPIayerCharacter/OpenBK7231T_App/actions/runs/14562038220
    I tried to replace gcc with newlib one

    Added after 45 [minutes]:

    I found my W800 board, how to take a backup?
    It apparently came with tuya firmware, which is odd for a dev board.
    Boot log
    [01-01 18:12:15 TUYA Info][mqc_app.c:337] mqc app init ...
    -01 18:12:15 TUYA Info][uni_thread.c:205] thread_create name:sys_timer,stackDepth:4096,totalstackDepth:4096,priority:5
    18:12:15 TUYA Info][uni_thread.c:205] thread_create name:cmmod,stackDepth:4096,totalstackDepth:8192,priority:4
     TUYA Debug][mqc_app.c:148] mq_pro:5 cnt:1
    A Debug][mqc_app.c:148] mq_pro:31 cnt:2
    [01-01 18:12:15 TUYA Err][log_seq.c:849] log status is empty
    01-01 18:12:15 TUYA Debug][svc_online_log.c:293] svc online log init success
    UYA Info][uni_thread.c:205] thread_create name:wk_th-0,stackDepth:5120,totalstackDepth:13312,priority:3
    rr][tuya_ws_db.c:324] kvs_read fails gw_bi -1
    TUYA Debug][ws_db_gw.c:141] gw base read finish:-18
    12:15 TUYA Debug][tuya_bt_sdk.c:84] ty bt cmmod register finish 1
    [tuya_ble_api.c:345] ble sdk inited
    [01-01 18:12:15 TUYA Notice][tuya_os_adapt_bt.c:219] tuya_hal_bt_port_init
    
    a
    port inited
    YA Notice][tuya_ble_api.c:381] ble sdk re_inited
    15 TUYA Notice][tuya_bt_sdk.c:125] ty bt sdk init success finish
    0.00_PT:2.2_LAN:3.3_CAD:1.0.3_CD:1.0.0 >
    < BUILD AT:2021_07_28_00_28_32 BY maht FOR ty_iot_wf_bt_sdk_rtos AT w800 >
    IOT DEFS < WIFI_GW:1 DEBUG:1 KV_FILE:0 SHUTDOWN_MODE:0 LITTLE_END:1 TLS_MODE:2 ENABLE_LOCAL_LINKAGE:0 ENABLE_CLOUD_OPERATION:0 ENABLE_SUBDEVICE:0 ENABLE_ENGINEER_TO_NORMAL:0 OPERATING_SYSTEM:2 ENABLE_SYS_RPC:0 TY_SECURITY_CHIP:0 RELIABLE_TRANSFER:RELIABLE_TRANSFER ENABLE_LAN_ENCRYPTION:1 ENABLE_LAN_LINKAGE:1 ENABLE_LAN_LINKAGE_MASTER:0 ENABLE_LAN_DEV:1 ENABLE_LAN_DEV_MASTER:0 >
    
    0_light_5_rgbcw_v2 | [HW]: TW03_V2.0 | [SW]: V1.0.7 (Mar 24 2022 18:30:50) | [PID]: yqqc3anxrn4lgsyt
    ce][tuya_device.c:792] free_mem_size:86016
    APP: TLS_BLE_GAP_EVT_ADAPTER_ON
    Starting advertising
    GAP procedure initiated: advertise; _mode=2ddr_type=0 adv_filter_policy=0 adv_itvl_min=120 adv_itvl_max=120
    APP: TLS_BLE_GAP_EVT_ADV_STARTED
    
  • #24 21525673
    divadiow
    Level 38  
    Posts: 5214
    Help: 446
    Rate: 914
    Hi thank you. I can't test until tomorrow.

    Sadly I don't believe there's any XT804 known backup method. None I've been able to find anyway. Maybe there's some xmodem way, no idea :(
  • #25 21525675
    insmod
    Level 31  
    Posts: 1432
    Help: 168
    Rate: 455
    Then i will test it myself, i wanted to preserve the firmware before flashing, but since there is no known way...
  • #26 21525676
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14756
    Help: 659
    Rate: 12883
    i may have w800 if i manage to find it in this mess
    Helpful post? Buy me a coffee.
  • #27 21525679
    insmod
    Level 31  
    Posts: 1432
    Help: 168
    Rate: 455
    Flashed it.
    No log output, but it boots and connects to wifi.
    The free heap space is depressing, only 29k is available.
  • OTA flash works and heap matches main release

    #28 21525681
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14756
    Help: 659
    Rate: 12883
    My board:
    Breadboard with a microcontroller and several sensors connected by wires.
    Before flash:
    Screenshot of the OpenW800 control panel showing temperature, humidity, and pressure sensor data.
    Startup command (I am saving it mostly for myself, so I don't get lost it if I brick board):
    
    waitFor WiFiState 4
    
    startDriver DS1820
    
    startDriver BMP280 PB9 PB8 9 10 11 236
    
    startDriver AHT2X PB12 PB13 11 12
    
    startDriver OpenWeatherMap
    owm_setup 40.7128 -74.0060 d6fae53c4278ffb3fe4c17c23fc6a7c6 
    setChannelType 6 Temperature_div10
    setChannelType 7 Humidity
    setChannelType 8 Pressure_div100
    owm_channels 6 7 8
    owm_request
    
    setChannel 30 0
    again:
    addChannel 30 1
    echo Hello $CH30
    delay_s 1
    goto again
    

    Doing OTA:
    OTA update panel for W800 chipset with uploaded update image file.
    Done, works?
    Screenshot of a web interface showing device system and network information, including IP address, firmware version, and status.
    Screenshot of an IoT device control panel showing temperature and humidity sensor readings and configuration options.
    Well, PR has "berry" in name but it has no berry I guess:
    Screenshot of the OpenW800 panel showing an error after entering the command berry 2+2 in the command line.

    Added after 1 [minutes]:

    Heap on your "berry":
    
    Info:MAIN:Time 248, idle 0/s, free 29280, MQTT 0(16), bWifi 1, secondsWithNoPing 183, socks 2/8 
    


    Added after 2 [minutes]:

    let's flash main release and compare. Doing OTA to 1.18.92...
    Screen with hardware and network details of W800 device, including IP address and firmware version.
    
    Info:MAIN:Time 49, idle 0/s, free 29280, MQTT 0(3), bWifi 1, secondsWithNoPing -1, socks 2/8 
    

    Well actually, I see no difference in heap size..
    I can get it lower with HTTP refreshes:
    Screenshot of a system log window with the number 20760 circled in red.
    Helpful post? Buy me a coffee.
  • #29 21525687
    insmod
    Level 31  
    Posts: 1432
    Help: 168
    Rate: 455
    Does release OBK print anything on TX0?
  • Berry build lacks log output

    #30 21525689
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14756
    Help: 659
    Rate: 12883
    Log output is present on main release:
    Window of RealTerm program showing serial communication logs and port control panels.
    Oops I managed to somehow break config and it's now in brand new AP state. Probably I reseted it (on main release) while it was saving flash and it has corrupted. But still...

    Back on berry:
    Screenshot showing W800 device info and an open RealTerm program window.
    I can confirm there is no log output on your "berry " build...
    Helpful post? Buy me a coffee.

Topic summary

LABEL_AI_GENERATED
The discussion investigates whether WinnerMicro W806 differs from W800/W801 and why OpenBeken flashing fails on a HLK-W806-Kit board. It is concluded that W806 is not a practical OpenBeken target because the board lacks Wi‑Fi/BT support in practice, has very limited flash, and there is no known factory backup method. Multiple build-size reduction attempts were made by disabling features such as Tasmota API emulation, MQTT, web server, hostif/rmms, and other components, but the W806 image still failed to flash reliably. Later testing shifted to SDK/toolchain changes, including newlib, heap_5, larger stack, LFS, EasyFlash, and Berry support, which improved feature availability and flash size but introduced weaker Wi‑Fi reception, slower OTA, and occasional OTA failures. The thread also compares W800 and W801 boards, notes differences in signal quality between old and new SDK builds, and discusses OTA methods, including HTTP server OTA versus Web App OTA.
AI summary based on the discussion. May contain errors.

FAQ LABEL_AI_GENERATED

TL;DR: For OpenBeken users testing W80x boards, the practical split is simple: W806 has 1 MB flash and "it’s been put to bed" for Wi‑Fi use, while W800/W801 are the boards that actually support usable OpenBeken flashing and OTA today. This FAQ explains chip differences, flashing methods, size limits, and why W806 experiments stalled. [#21386566]

Why it matters: If you are choosing a cheap WinnerMicro dev board for OpenBeken, this thread shows which boards work, which ones waste time, and which update path is realistic.

Board/chip Flash noted in thread OpenBeken status OTA/update status
W800 / HLK-W800-KIT 2 MB class board; builds around 950–976 KB discussed Works and was flashed successfully HTTP server OTA works; Web App OTA missing
W801 / HLK-W801-KIT Treated like W800 for OBK target Works, but some boards showed weak Wi‑Fi OTA possible, but weak links hurt reliability
W806 / HLK-W806-KIT 1 MB flash OBK Wi‑Fi goal not practical Large OBK images fail during flashing

Key insight: The blocker on W806 was not just image size. The thread concludes that even if the silicon contains RF blocks, missing factory calibration and RO-memory limits make Wi‑Fi OpenBeken on W806 unrealistic, so W800/W801 remain the sensible targets. [#21386566]

Quick Facts

  • W806 was reported with 1 MB flash, while W800/W801 were treated as the 2 MB variants that OpenBeken targets normally. [#21081609]
  • A tiny W806 Arduino LED demo was about 90 KB, while W800 OpenBeken full-flash builds discussed were about 900–976 KB, explaining why one flashed and the other did not. [#21081715]
  • After later size work, one reduced W800 image reached 543.75 KB, yet W806 flashing still ended with a CAN failure during image download. [#21387419]
  • A new W800 SDK test build reported about 88,312 bytes free heap, versus roughly 29,280 bytes on another tested build, but the newer build also showed weaker Wi‑Fi or slower OTA on some boards. [#21526809]
  • One Wi‑Fi test used a Windows hotspot only ~60 cm away, yet some new-SDK W800/W801 builds still failed to associate or complete OTA reliably. [#21526809]

1. What are the main differences between WinnerMicro W800, W801, and W806 when trying to run OpenBeken?

W800 and W801 were treated as the practical OpenBeken targets, while W806 was the outlier because it came with only 1 MB flash and no usable Wi‑Fi path for OBK. The thread cites W806 as internally similar to W800/W801, but with smaller flash, and later concludes Wi‑Fi enablement is not realistic on W806. In practice, buy W800 or W801 for OpenBeken work, not W806. [#21386566]

2. Why does OpenBeken fit on W800 but run into flash size problems on W806 with its 1 MB flash?

OpenBeken fits on W800 because that target has enough flash headroom for images around 950–976 KB, while W806 only exposes 1 MB flash. The thread shows W806 accepted tiny test images, but OBK builds stayed near the flash ceiling even after feature cuts. That leaves almost no safe margin for full images, OTA layout, and runtime data. [#21081754]

3. How do you flash OpenBeken onto an HLK-W800-KIT or HLK-W801-KIT, and what OTA update methods are available?

You can flash W800/W801 either by serial tools or by OTA once OpenBeken is already running. 1. Do the first flash with the WinnerMicro upgrade/flashing tool over UART. 2. Boot OpenBeken and connect to its web interface or AP. 3. Use the built-in HTTP server OTA path for later updates. The thread also shows successful OTA on a W800 board and confirms normal release builds still log on TX0. [#21525681]

4. Why is Web App OTA missing on W800 while the older HTTP server based OTA still exists?

Web App OTA is missing on W800 because that platform still uses the older OTA implementation, not the newer Web App OTA flow. The thread states this directly: W800 has HTTP server based OTA in the old style, while Web App OTA was not present. So W800 users still get OTA, but through the legacy HTTP-server path instead of the newer browser workflow. [#21081517]

5. What does a NAK or CAN error during W80x flashing usually mean, and how do you troubleshoot it?

A NAK or CAN during W80x flashing means the transfer failed, not that flash size is proven to be the cause. The thread explicitly says the size explanation was only “a stab in the dark,” and later a reduced 543.75 KB image still failed with CAN. Troubleshoot in three steps: 1. Try another UART baud rate. 2. Verify image size and target board. 3. Test a known-good small binary to separate transport errors from firmware issues. [#21081639]

6. How much firmware size reduction is needed to make OpenBeken practical on W806, and which features save the most space?

The thread never reached a stable target size that made W806 practical, even after major cuts. Disabling Tasmota API barely changed W800 full-flash size, moving from 966,824 to 976,336 bytes in one comparison, so it was not the big win. Later work cut a W800 image to 543.75 KB, but W806 still did not become a usable Wi‑Fi OpenBeken platform. [#21081754]

7. Why did a tiny W806 Arduino blinky sketch flash successfully while a much larger OpenBeken build failed?

The blinky sketch flashed because it was tiny and likely avoided the heavy Wi‑Fi stack and other OpenBeken features. The thread contrasts a roughly 90 KB Arduino test with OBK builds near 900 KB, calling that difference “huge.” A minimal LED demo proves the flasher and basic execution path work, but it does not prove a full Wi‑Fi firmware will fit or run correctly. [#21081741]

8. What is EasyFlash in the OpenBeken W800 discussion, and how could it be used for flash variables or future config storage?

"EasyFlash" is a flash-storage library that manages key-value data in flash, reduces wear from repeated writes, and can support more flexible layouts than a fixed-address config block. In the thread, it was proposed first for frequently updated flash variables, with config storage considered later if flasher support also exists. The main caution was keeping OpenBeken config easy to access and migrate. [#21525723]

9. What is LFS on OpenBeken for W800, and why do logs sometimes show messages like "lfs is absent" or missing autoexec.bat?

"LFS" is a small flash file system that stores scripts and files such as autoexec.bat, letting OpenBeken load startup content from flash instead of hardcoding it. When logs say “lfs is absent” or autoexec.bat is missing, the file system is not initialized yet, not formatted, or simply has no script stored. That is why boot logs can show Berry import errors and failed startup script loads. [#21526809]

10. W800 vs W806 for OpenBeken experiments: which one is actually worth buying for Wi‑Fi firmware work and why?

W800 is worth buying; W806 is not. The thread ends up clear on this: W806 Wi‑Fi enablement was dropped because missing factory RF calibration data and RO-memory limits make it impractical, even if shared silicon blocks exist. One commenter summed it up bluntly: it is easier to buy an HLK-W801-KIT dev board than waste time trying to force W806 into Wi‑Fi use. [#21386566]

11. How do you back up original Tuya firmware from a W800 or W80x board before flashing, and what methods were discussed?

There was no settled, known backup method at the time for W800/W80x before flashing. The thread mentions three avenues: 1. trying to read over UART, 2. exploring CK-Link or cheap CK-Link-compatible debugging hardware, and 3. using a full dump from the web app where available. One participant explicitly said there was no known XT804 backup method they could find. [#21525673]

12. Why do some newer W800 SDK builds show better free heap but worse Wi‑Fi reception, slower OTA, or failed HTTP requests?

The newer SDK changed memory layout and enabled features that raised free heap, but it also changed network behavior enough to hurt radio or socket reliability on some boards. One build reported about 88 KB free heap and used FreeRTOS 10.4.1 plus heap_5, yet testers saw weaker RSSI, slower OTA, and failing HTTP requests. So higher free heap did not guarantee better real-world Wi‑Fi performance. [#21526615]

13. How does switching the W800 toolchain from minilibc to newlib affect UART logging, heap size, and build compatibility?

Switching from minilibc to newlib improved build flexibility and enabled larger feature sets, but it initially broke UART logging until libc-port code was replaced. The thread says most of minilibc_port.c had to be cut to compile, then later copied from a newer SDK to restore logging. On tested builds, free heap stayed around 29,280 bytes on one “berry” image, so the toolchain change did not automatically increase usable heap. [#21525702]

14. What is causing the strange log line "Error:HTTP:Created HTTP SV thread with (stack=2048)" on W800, and is it actually an error?

That line is a mislabeled informational message, not proof of an HTTP failure. The thread shows it appearing on successful boots where the HTTP server thread was created with a 2,048-byte stack, and the same wording had been noticed in earlier XR806 work. Treat it as noisy logging unless it is followed by actual web-server failures. [#21526809]

15. What was learned about trying to enable Wi‑Fi on W806, including RF calibration, RO memory limits, and whether the chip is realistically usable with OpenBeken?

The thread learned that W806 is not a realistic OpenBeken Wi‑Fi target. The strongest explanation was that even if the die still contains Wi‑Fi/Bluetooth hardware, there is no factory RF calibration data, that data cannot simply be written into RO memory, and antenna matching would still remain. That means a no-Wi‑Fi UART-only experiment might boot, but practical wireless OpenBeken on W806 was abandoned. [#21386566]
AI summary based on the discussion. May contain errors.
ADVERTISEMENT