logo elektroda
logo elektroda
X
logo elektroda

OpenBeken W800 vs W806 Differences and OTA Update Methods

p.kaczmarek2 4764 71
Best answers

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]
Generated by the language model.
ADVERTISEMENT
  • #61 21534191
    divadiow
    Level 38  
    oh, there's newer..

    csky-elfabiv2-tools-x86_64-minilibc-20230301.tar.gz
    csky-elfabiv2-tools-x86_64-minilibc-20240507.tar.gz
    csky-elfabiv2-tools-x86_64-minilibc-20240823.tar.gz
    csky-elfabiv2-tools-x86_64-minilibc-20250328.tar.gz

    Added after 41 [minutes]:

    I see this is the current Andes one used https://github.com/search?q=repo%3ANonPIayerC...2FOpenECR6600%20nds32le-elf-gcc&type=code

    re this update https://github.com/andestech/nds-toolchain/co...1afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5

    does this mean v5 can be used?

    https://github.com/andestech/Andes-Development-Kit/releases
  • ADVERTISEMENT
  • #62 21534638
    insmod
    Level 31  
    >>21534191 v5 can't be used, different ISA i'm afraid.
    I'm more interested if risc-v gcc can work.
    Then there is also https://archlinux.org/packages/extra/x86_64/nds32le-elf-gcc/, but is it for v3 or for v5?
    And there are quite a few variants of v3, like v3, v3f, v3j, v3m, v3s. ECR6600 uses v3s, while TR6260 uses v3.

    For csky, what i need is csky-elf-noneabiv2-tools-x86_64-newlib-20250328.tar.gz
    Currently i use csky-elf-noneabiv2-tools-x86_64-newlib-20230301.tar.gz
    But i see little differences in size, so gcc version is probably the same - 6.3.0
  • ADVERTISEMENT
  • #63 21534673
    divadiow
    Level 38  
    ahh. ok. yes

    Screenshot of an archive manager showing a list of GCC library and header files within a .tar.gz archive.
    Attachments:
    • csky-elf-noneabiv2-tools-x86_64-newlib-20250328.tar.gz (92.65 MB) You must be logged in to download this attachment.
  • ADVERTISEMENT
  • #64 21538464
    divadiow
    Level 38  
    divadiow wrote:
    divadiow wrote:
    I do recall now reading about using some CK-Link elf file uploaded to an STM32 so you can make a cheap CK-Link debugger. I don't know if debugging mode = flash access though. There are a few articles around about it. eg https://en.eeworld.com.cn/bbs/thread-1190847-1-1.html https://hackaday.io/page/12671-how-to-debug-w806-and-w801-mcus


    progress. no dump just yet though. looking forward to trying TXW817 cams maybe today. below is connection to HLK-W800-KIT

    Code: Text
    Log in, to see the code
  • #65 21539423
    divadiow
    Level 38  
    >>21534040
    divadiow wrote:
    similar for YourCee W806 but no prebuilt flash file


    that YourCee W806 built with C-SKY CDK

    just does:
    Code: Text
    Log in, to see the code


    Code: Text
    Log in, to see the code





    updated post to include W806 Blinky from https://github.com/jscottb/w806-blinky
    Attachments:
    • jscottb_w806-blinky.zip (67.78 KB) You must be logged in to download this attachment.
    • YourCee_W806_Test.zip (66.7 KB) You must be logged in to download this attachment.
  • ADVERTISEMENT
  • #68 21630193
    insmod
    Level 31  
    >>21630184
    Are you asking regarding W600 or W800?
    That post was about W800.
    Regarding W600, power saving is enabled by default from SDK side.
    Don't remember about W800, but i tried measuring power draw, and it was identical, power save or not.
  • #69 21630196
    divadiow
    Level 38  
    insmod wrote:
    Are you asking regarding W600 or W800?

    W800.

    insmod wrote:
    but i tried measuring power draw, and it was identical, power save or not.

    yes. OK.
  • Helpful post
    #70 21635875
    divadiow
    Level 38  
    Thought I was wasting my time with another square mini switch/breaker, but look!
    Wireless module labeled TX-803 V2.0 with control chip and PCB antenna on blue surface

    Will have a proper look at it when I can
  • #71 21635943
    p.kaczmarek2
    Moderator Smart Home
    Wait, what? TW-803 V2.0? W803-E400? No results on our forum yet, you're first one?
    https://www.elektroda.com/rtvforum/find.php?q=W803
    Helpful post? Buy me a coffee.

Topic summary

✨ The discussion compares the OpenBeken W800 and W806 boards, focusing on hardware differences, firmware compatibility, and OTA update methods. The W806 board, specifically the Hi-Link HLK-W806-Kit-V1.0, differs from the W800/W801 by lacking Wi-Fi and Bluetooth functionality and having only 1MB flash memory, which complicates flashing OpenBeken firmware designed for W800. Attempts to flash W800 firmware on W806 fail due to flash size and missing factory calibration data for Wi-Fi, making Wi-Fi enablement on W806 impractical. A minimal LED blink demo for W806 was successfully flashed, but full OpenBeken builds exceed the flash size. Efforts to reduce firmware size by disabling features like Tasmota API showed limited success. The W800 supports HTTP server-based OTA updates, but the Web App OTA is missing. Newer SDK versions for W800 introduce features like EasyFlash for flash variable storage, Berry shell, and LFS support, but also cause Wi-Fi signal degradation and slower OTA performance. Toolchain updates and SDK porting challenges were discussed, including GCC versions and libc implementations. Backup methods for W800 firmware are limited, with no known XT804 backup method. The W806 is considered more suitable for non-Wi-Fi applications or UART logging due to hardware limitations. The community is exploring SDK updates, flash size optimization, and configuration storage improvements, including potential EasyFlash integration and dynamic config sizing. Overall, W800 remains the preferred platform for Wi-Fi-enabled OpenBeken applications, while W806 is limited by hardware constraints.
Generated by the language model.

FAQ

TL;DR: Devs cut OpenBeken W800 firmware 44 % (966 kB → 543 kB) while chasing W806 support; “900 kB vs 90 kB seems like a huge difference” [Elektroda, p.kaczmarek2, post #21081741] Wi-Fi remains stable on old SDK but drops to –79 dBm on the new stack [Elektroda, insmod, post #21526615]

Why it matters: fitting inside 1 MB flash decides whether W806 boards can run OTA-capable builds at all.

Quick Facts

• Flash size: W800/W801 2 MB; W806 1 MB [Elektroda, divadiow, post #21081609] • Typical full OBK image: 950-976 kB; slim image: 543 kB [Elektroda, divadiow, post #21387419] • Heap on new SDK: ~88 kB free, stack 100 kB [Elektroda, insmod, post #21526615] • Wi-Fi RSSI: –71 to –89 dBm (old SDK); often –79 dBm (new SDK) [Elektroda, max4elektroda, post #21530706] • OTA method: local HTTP server; Web-App OTA not in W800 branch [Elektroda, p.kaczmarek2, post #21081517]

What are the main hardware differences between W800/W801 and W806?

W800 and W801 integrate Wi-Fi, Bluetooth and 2 MB QSPI flash, whereas W806 ships with 1 MB flash and no factory-calibrated RF front-end. The silicon still contains dormant Wi-Fi cores, but missing calibration blobs block radio use [Elektroda, divadiow, post #21081609] [Elektroda, divadiow, post #21386566]

Why did the first W806 flash attempts fail with a CAN/NAK error?

The flasher aborted after packet 57 of 957 because the image exceeded the 1 MB address space; the tool replied “CAN” when no acknowledgment arrived [Elektroda, divadiow, post #21081609]

How small must the firmware be to fit W806?

RA-formatted images must stay below roughly 980 kB including headers, leaving space for EasyFlash vars. The current slim build ships at 543 kB, providing ~450 kB margin [Elektroda, divadiow, post #21387419]

Does the new v1.00.10 SDK improve RAM usage?

Yes. Replacing minilibc with newlib and switching FreeRTOS to heap_5 yields 88 kB free heap versus ~29 kB before, a 203 % increase [Elektroda, insmod, post #21526615]

Is UART logging affected by the size-optimised build?

Early newlib builds lost TX0 output because printf stubs were trimmed. Restoring minilibc_port.c from SDK v1.00.10 re-enabled logs without growing flash size noticeably [Elektroda, p.kaczmarek2, post #21525698]

Can I back up factory Tuya firmware on a W800 board?

Yes. Use the Python script from post #21542722 to read the flash over UART at 921 600 bps, then save the .fls file. Tuya partitions remain encrypted [Elektroda, divadiow, post #21542912]

Edge-case: what happens if config saves during power loss?

Interrupting a flash-write corrupts the fixed-address config sector; the device reboots in AP mode with default settings [Elektroda, p.kaczmarek2, post #21525689]

How do EasyFlash variables differ from the old fixed sector?

EasyFlash stores key-value pairs in a wear-levelled pool from 0x1B000, allowing dynamic size, multiple SSIDs and frequent flash-vars writes without sector-erase fatigue [Elektroda, insmod, post #21526615]

Quick 3-step OTA update on W800 boards?

  1. Compile or download .ota image under 980 kB.
  2. Upload via local HTTP server at /upload in the Web GUI.
  3. Reboot; check UART for “Boot complete” message within 5 s [Elektroda, p.kaczmarek2, post #21525681]

Which statistic shows the benefit of stripping features?

File size dropped by 423 kB, a 44 % reduction, when optional services were disabled (966 kB → 543 kB) [Elektroda, divadiow, post #21387419]

Can W806 ever get full Wi-Fi support?

Experts doubt it: “You won’t make it work… there is no factory calibration data” [Elektroda, GitHub comment quoted in #21386566]. Until calibration values and RO flash access emerge, W806 remains a UART-only target.
Generated by the language model.
ADVERTISEMENT