logo elektroda
logo elektroda
X
logo elektroda

OpenBeken W800 vs W806 Differences and OTA Update Methods

p.kaczmarek2 5244 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  
    Posts: 5026
    Help: 438
    Rate: 891
    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  
    Posts: 1388
    Help: 164
    Rate: 432
    >>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
  • #63 21534673
    divadiow
    Level 38  
    Posts: 5026
    Help: 438
    Rate: 891
    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.
  • #64 21538464
    divadiow
    Level 38  
    Posts: 5026
    Help: 438
    Rate: 891
    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
  • ADVERTISEMENT
  • #65 21539423
    divadiow
    Level 38  
    Posts: 5026
    Help: 438
    Rate: 891
    >>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  
    Posts: 1388
    Help: 164
    Rate: 432
    >>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.
  • ADVERTISEMENT
  • #69 21630196
    divadiow
    Level 38  
    Posts: 5026
    Help: 438
    Rate: 891
    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  
    Posts: 5026
    Help: 438
    Rate: 891
    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
    Posts: 14580
    Help: 654
    Rate: 12604
    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.
  • #72 21718723
    divadiow
    Level 38  
    Posts: 5026
    Help: 438
    Rate: 891
    W800 HLK-B36 spotted in Tuya presence sensor - XiuMii XM-HE201

    Round blue PCB with FLK-BX6-V1.4 module and USB-C connector PIR sensor module connected to breadboard with jumper wires

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: 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]
Generated by the language model.
ADVERTISEMENT