logo elektroda
logo elektroda
X
logo elektroda

Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)

dressyspider 13887 265
ADVERTISEMENT
  • #151 21569764
    dressyspider
    Level 2  
    Posts: 83
    Rate: 10
    Yes, everything appears to be working well. The only part that can be a bit tricky is adjusting the temperature too quickly in the Home Assistant app. For instance, if I change it from 77°F to 70°F, it adjusts by 0.5°F each time I tap the plus or minus button. When tapping repeatedly, the value might jump back to one of the previously selected settings. It feels a bit like lag, although I’m not entirely sure why that happens.

    Aside from that, I haven’t noticed any other strange or incorrect behavior.
  • ADVERTISEMENT
  • #152 21569795
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Maybe we can fix it, but it depends. Does this unit allow for temperature to be set from outside the OBK? For example, via IR remote or the buttons on the case?

    If not, then we can store "fake" temperature in OBK and use it for HA, instead of sending back to HA the temperature returned by the unit.

    Added after 1 [minutes]:

    Or maybe I could try to store the "fake" temperature in OBK and only send change if temperature really changes from the device side...
    Helpful post? Buy me a coffee.
  • #153 21569805
    dressyspider
    Level 2  
    Posts: 83
    Rate: 10
    p.kaczmarek2 wrote:
    Does this unit allow for temperature to be set from outside the OBK? For example, via IR remote or the buttons on the case?

    It does. It can with a very basic remote.

    Edit: It seems the remote has a slight delay when using the up or down buttons. The signal appears to be sent about one to two seconds after you stop pressing the buttons, rather than right away.

    Remote:

    Front:
    DELLA remote control with LCD display lying on a light marble surface.

    Back:
    Back of a white remote control lying on a light countertop.

    Back (Close-up):
    Backside of a remote control with printed English instructions on a white casing.
  • #154 21569815
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Maybe I could do some kind of logic, for example... remember the exact value from HA and remember the value sent to AC. Then, keep using exact value from HA as long as value sent to device is the same as the value send back from the device. Then, when change detected, reset all 3 values... but I am worried there might be a short moment when HA sends new value to the device and device sends back old value, which can cause bouncing. It would be easy to do with having device at hand, but I need to think how to do it remotely with OBK simulator.
    Helpful post? Buy me a coffee.
  • #155 21569826
    dressyspider
    Level 2  
    Posts: 83
    Rate: 10
    Let me know how I can help you test this. I have the unit on hand and can try out different scenarios or commands if that would help with developing or verifying the logic. Also, I added images of the remote to my previous reply in case that helps clarify how it works. Just let me know what you'd like me to do.
  • #156 21575678
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    >>21541593 I'm defiantly printing that workstation!
  • #157 21575686
    dressyspider
    Level 2  
    Posts: 83
    Rate: 10
    >>21575678 It's so nice. I have already used it to flash 10 or more chips.
  • #158 21575734
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    I'm going to try the build from PR 6174 using OpenRTL87X0C_1659_merge_3cdfc66dd962.bin and will let you know how it goes on the WBR1 module. Also I have photos of the main board and can post them if you want. The main board is using a Renesas RL78/G13 MCU (R5F100F)

    This is the data sheet on the MCU
    https://www.renesas.com/en/document/dst/rl78g13-data-sheet?r=1054286


    EDIT: Had the wrong file name for the flash bin file, changed it
  • ADVERTISEMENT
  • #160 21576549
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    [postid]21576524[/po>>21576524 Nice, let me know if you want any of the pics and instructions for the WBR1 module (it has a different flash procedure and different MCU chip).

    Added after 1 [minutes]:

    OK, this is as far as I'm going to get today, I will put the module back in the unit tonight and work on the MQTT tomorrow.


    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)

    Added after 2 [hours] 17 [minutes]:

    I lied, I did work on it some more. I got MQTT set up and in communication with HA then I tried to start the TCL driver with "startDriver TCL" and the module crashed and rebooted

    
    [ISR]Assert(( portNVIC_INT_CTRL_REG & portVECTACTIVE_MASK ) == 0) failed on line 443 in file ../../../component/os/freertos/freertos_v10.0.1/Source/portable/GCC/ARM_RTL8710C/port.c
    
    == Rtl8710c IoT Platform ==
    Chip VID: 5, Ver: 3
    ROM Version: v3.0
    
    == Boot Loader ==
    Aug 30 2024:04:22:00
    
    Boot Loader <==
    
    == RAM Start ==
    Build @ 08:29:49, Jun  4 2025
    interface 0 is initialized
    interface 1 is initialized
    
    Initializing WIFI ...Entering initLog()...
    Commands registered!
    initLog() done!
    Info:MAIN:Main_Init_Before_Delay
    EasyFlash V4.1.0 is initialize success.
    You can get the latest version on https://github.com/armink/EasyFlash .
    
    WIFI initialized
    
    init_thread(47), Available heap 0x1b130Main_Init_Before_Delay done
    Main_Init_Delay
    Main_Init_Delay doneWarn:CFG:CFG_InitAndLoad: Correct config has been loaded with 4 changes count.
    Error:CMD:no file early.bat err -2
    Info:GEN:PI
    N_SetupPins pins have been set up.
    Info:MAIN:Main_Init_Before_Delay done
    Info:MAIN:Main_Init_Delay
    Info:MAIN:Main_Init_Delay done
    Info:MAIN:Main_Init_After_Delay
    Info:MAIN:Using SSID [xxxxxxxxxxxxx]
    Info:MAIN:Using Pass [xxxxxxxxxxxxxxxxx]
    Info:HTTP:TCP server listening
    Info:MQTT:MQTT_RegisterCallback called for bT dellaUpper/ subT dellaUpper/+/set
    Info:MQTT:MQTT_RegisterCallback called for bT dellaUpper-ctl/ subT dellaUpper-ctl/+/set
    Info:MQTT:MQTT_RegisterCallback called for bT cmnd/dellaUpper/ subT cmnd/dellaUpper/+
    Info:MQTT:MQTT_RegisterCallback called for bT cmnd/dellaUpper-ctl/ subT cmnd/dellaUpper-ctl/+
    Info:MQTT:MQTT_RegisterCallback called for bT dellaUpper/ subT dellaUpper/+/get
    Info:CMD:CMD_StartScript: started @startup at the beginning
    Info:CMD:LFS_ReadFile: failed to file autoexec.bat
    Info:CMD:CMD_StartScript: failed to get file autoexec.bat
    Info:MAIN:Main_Init_After_Delay done
    Info:MAIN:Time 1, idle 0/s, free 101080, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 2, idle 0/s, free 101080, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 3, idle 0/s, free 101080, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 4, idle 0/s, free 101080, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 5, idle 0/s, free 101080, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Registered for wifi changes
    Info:MAIN:Connecting to SSID [xxxxxxxxxxx]
    Info:MAIN:Time 6, idle 0/s, free 97888, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Boot complete time reached (5 seconds)
    
    [Driver]: set ssid [xxxxxxxxxxxx] 
    Info:MAIN:Main_OnWiFiStatusChange - WIFI_STA_CONNECTING - 1
    scan report rssi: -64 bssid: 78:8a:20:4c:6d:04
    scan report rssi: -64 bssid: 78:8a:20:4c:6d:04
    scan report rssi: -64 bssid: 78:8a:20:4c:6d:04
    Info:MAIN:Time 7, idle 0/s, free 98240, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 8, idle 0/s, free 98240, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    
    [Driver]: start auth to 78:8a:20:4c:6d:04
    
    [Driver]: auth alg = 2
    
    [Driver]: auth success, start assoc
    Info:MAIN:Time 9, idle 0/s, free 98728, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    
    [Driver]: association success(res=5)
    
    [Driver]: set pairwise key to hw: alg:4(WEP40-1 WEP104-5 TKIP-2 AES-4)
    
    [Driver]: set group key to hw: alg:4(WEP40-1 WEP104-5 TKIP-2 AES-4) keyid:1
    Info:MAIN:Time 10, idle 0/s, free 94768, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    
    Interface 0 IP address : 10.0.0.56
    Info:MAIN:Main_OnWiFiStatusChange - WIFI_STA_CONNECTED - 4
    Info:MAIN:Time 11, idle 0/s, free 96928, MQTT 0(0), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 12, idle 0/s, free 96928, MQTT 0(0), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:mqtt_userName xxxxxxxxx
    mqtt_pass ********
    mqtt_clientID dellaUpper
    mqtt_host 10.0.0.111:1883
    Info:MAIN:Time 13, idle 0/s, free 93920, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 14, idle 0/s, free 94096, MQTT 0(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:mqtt_connection_cb: Successfully connected
    Info:MQTT:mqtt_subscribed to dellaUpper/+/set
    Info:MQTT:mqtt_subscribed to dellaUpper-ctl/+/set
    Info:MQTT:mqtt_subscribed to cmnd/dellaUpper/+
    Info:MQTT:mqtt_subscribed to cmnd/dellaUpper-ctl/+
    Info:MQTT:mqtt_subscribed to dellaUpper/+/get
    Info:MQTT:Publishing val DellaUpper to dellaUpper/host retain=0
    Info:MAIN:Time 15, idle 0/s, free 94096, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:Publishing val OpenRTL87X0C 1659_merge_3cdfc66dd962 Jun  4 2025 08:30:00 to dellaUpper/build retain=0
    Info:MAIN:Time 16, idle 0/s, free 94096, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    Info:MQTT:Publishing val b8:06:0d:42:be:e4 to dellaUpper/mac retain=0
    Info:MAIN:Time 17, idle 0/s, free 94096, MQTT 1(1), bWifi 1, secondsWithNoPing -1, socks 2/21 
    

    Did I flash the wrong firmware from the PR?
  • #161 21576724
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Strange, it seems that the firmware is correct but driver start procedure crashes. I will check in a moment in my Windows OBK. I don't have realtek at hand. @dressyspider do you have also this crash? Very promising guide ,btw.

    Added after 1 [minutes]:

    Or maybe this crash happens when MQTT is not configured? Can you try with MQTT connected to HA already?
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #162 21576745
    dressyspider
    Level 2  
    Posts: 83
    Rate: 10
    My setup is working well overall, except for some lag or jumpiness when adjusting the temperature. I already have MQTT configured, and I'm using autoexec.bat to start the driver automatically.
  • #163 21576839
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    I did have MQTT configured when I tried to start the TCL driver, Tried it again just to make sure and had the same result.
  • #164 21576914
    divadiow
    Level 38  
    Posts: 4880
    Help: 427
    Rate: 869
    p.kaczmarek2 wrote:
    Or maybe this crash happens when MQTT is not configured?

    obviously only with RTL test device and no MCU, but startdriver and no MQTT does not crash for me

    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)
  • #165 21577320
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    Been tinkering,
    I did an OTA reflash of the firmware and confirmed that I still have the same issue, next I did an OTA of the latest release and that does not seem to have any version of the TCL driver but I did start the NTP driver without issue. So then I reflashed the firmware from the PR and verified that the NTP driver loads fine but attempting to start the TCL driver still crashes/reboots with the same error. I also verified the hash just to make sure my download did not get corrupted.

    Wondering if there might be an issue with the chip or the partitions, I did try to put ESPHome on it at some point. I have another module that I can try with (I have a dual unit) this one is still factory fresh.
  • #166 21577482
    dressyspider
    Level 2  
    Posts: 83
    Rate: 10
    >>21577320 Have you verified the chip your module is using? Maybe you need a different bin file.
  • #167 21577488
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    >>21577482 yep the chip is a RTL8720CF

    
    :~$ ltchiptool flash info RTL8720C
    I: Available COM ports:
    I: |-- ttyUSB0 - USB Serial - None (1A86/7523)
    I: |   |-- Selecting this port. To override, use -d/--device
    I: Connecting to 'Realtek AmebaZ2' on /dev/ttyUSB0 @ 115200
    I: |-- Success! Chip info: RTL8720CF
    I: Reading chip info...
    I: Chip: RTL8720CF
    I: +---------------------+-------------------+
    I: | Name                | Value             |
    I: +---------------------+-------------------+
    I: | Chip VID            | 5                 |
    I: | Chip Version        | 3                 |
    I: | ROM Version         | v3.0              |
    I: |                     |                   |
    I: | Chip Type           | RTL87x0CF         |
    I: | MAC Address (Wi-Fi) | FF:FF:FF:FF:FF:FF |
    I: | MAC Address (BT)    | FF:FF:FF:FF:FF:FF |
    I: | Boot Debugging      | Disabled          |
    I: | Secure Boot         | Disabled          |
    I: |                     |                   |
    I: | Flash Type          | RTL8720CF         |
    I: | Flash Mode          | SINGLE            |
    I: +---------------------+-------------------+
    I: |-- Finished in 0.637 s
    
    


    That also matched up with the published info on the Tuya site
    https://developer.tuya.com/en/docs/iot/wbr1-m...l-communication-instructions?id=K9pfdx6h4clku

    Added after 42 [minutes]:

    Interesting that the MACs are FF:FF:FF:FF:FF:FF makes me wonder if the is some portion of flash / partition got cleared but shouldn't have when I put ESPHome on it. Luckily I did a full backup so before I solder up the other module I'm going to try flashing the original Della/Tuya firmware then try the PR firmware again.

    Added after 30 [minutes]:

    OK so I flashed the stock firmware back and confirmed that it was working, then flashed the PR firmware, interestingly, on the first boot I got this

    
    == Rtl8710c IoT Platform ==
    Chip VID: 5, Ver: 3
    ROM Version: v3.0
    Test Mode: boot_cfg1=0x20
    Download Image over UART2[tx=16,rx=15] baud=115200
    
    == Rtl8710c IoT Platform ==
    Chip VID: 5, Ver: 3
    ROM Version: v3.0
    
    == Boot Loader ==
    Aug 30 2024:04:22:00
    
    Boot Loader <==
    
    == RAM Start ==
    Build @ 08:29:49, Jun  4 2025
    interface 0 is initialized
    interface 1 is initialized
    
    Initializing WIFI ...Entering initLog()...
    Commands registered!
    initLog() done!
    Info:MAIN:Main_Init_Before_Delay
    Warning: Sector header check failed. Format this sector (0x001f0000).
    Warning: Sector header check failed. Format this sector (0x001f1000).
    Warning: Sector header check failed. Format this sector (0x001f2000).
    Warning: Sector header check failed. Format this sector (0x001f3000).
    Warning: Sector header check failed. Format this sector (0x001f4000).
    Warning: Sector header check failed. Format this sector (0x001f5000).
    Warning: Sector header check failed. Format this sector (0x001f6000).
    Warning: Sector header check failed. Format this sector (0x001f7000).
    Warning: Sector header check failed. Format this sector (0x001f8000).
    Warning: Sector header check failed. Format this sector (0x001f9000).
    Warning: Sector header check failed. Format this sector (0x001fa000).
    Warning: Sector header check failed. Format this sector (0x001fb000).
    Warning: Sector header check failed. Format this sector (0x001fc000).
    Warning: Sector header check failed. Format this sector (0x001fd000).
    Warning: Sector header check failed. Format this sector (0x001fe000).
    Warning: Sector header check failed. Format this sector (0x001ff000).
    Warning: All sector header check failed. Set it to default.
    EasyFlash V4.1.0 is initialize success.
    You can get the latest version on https://github.com/armink/EasyFlash .
    Warn:CFG:CFG_InitAndLoad: Config crc or ident mismatch. Default config will be loaded.
    Info:CFG:CFG_SetDefaultLEDCorrectionTabMain_Init_Before_Delay done
    Main_Init_Delay
    WIFI initialized
    
    inle: setting it_thread(4defaults
    E7), Availabrror:CMD:lfsle heap 0x1 is absent
    9088Info:GEN:PIN_SetupPins pins have been set up.
    Info:MAIN:Main_Init_Before_Delay 
    Main_Init_Delay done
    done
    Info:MAIN:Main_Init_Delay
    Info:MAIN:Main_Init_Delay done
    Info:MAIN:Main_Init_After_Delay
    Info:MAIN:Using SSID []
    Info:MAIN:Using Pass []
    Info:HTTP:TCP server listening
    Info:MQTT:MQTT_RegisterCallback called for bT rtl87x0C0D42BEE4/ subT rtl87x0C0D42BEE4/+/set
    Info:MQTT:MQTT_RegisterCallback called for bT rtl87x0c/ subT rtl87x0c/+/set
    Info:MQTT:MQTT_RegisterCallback called for bT cmnd/rtl87x0C0D42BEE4/ subT cmnd/rtl87x0C0D42BEE4/+
    Info:MQTT:MQTT_RegisterCallback called for bT cmnd/rtl87x0c/ subT cmnd/rtl87x0c/+
    Info:MQTT:MQTT_RegisterCallback called for bT rtl87x0C0D42BEE4/ subT rtl87x0C0D42BEE4/+/get
    Info:CMD:CMD_StartScript: started @startup at the beginning
    Error:CMD:LFS_ReadFile: lfs is absent
    Info:CMD:CMD_StartScript: failed to get file autoexec.bat
    Info:MAIN:Main_Init_After_Delay done
    Info:MAIN:Time 1, idle 0/s, free 101160, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 2, idle 0/s, free 101160, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 3, idle 0/s, free 101160, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    Info:MAIN:Time 4, idle 0/s, free 101160, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/21 
    


    Not sure what all the header check format this sector is about. Do I need to format that area did it do it when it booted? I tried the startDriver TCL agfain with the same results as before, Crash then reboot. Will try the other module after work to rule out a possible bad module issue.

    Added after 3 [hours] 23 [minutes]:

    Results from adding the firmware to the fresh board.

    Still got the "Warning: Sector header check failed. Format this sector" messages on first boot

    
    == RAM Start ==
    Build @ 08:29:49, Jun  4 2025
    interface 0 is initialized
    interface 1 is initialized
    
    Initializing WIFI ...Entering initLog()...
    Commands registered!
    initLog() done!
    Info:MAIN:Main_Init_Before_Delay
    Warning: Sector header check failed. Format this sector (0x001f0000).
    Warning: Sector header check failed. Format this sector (0x001f1000).
    Warning: Sector header check failed. Format this sector (0x001f2000).
    Warning: Sector header check failed. Format this sector (0x001f3000).
    Warning: Sector header check failed. Format this sector (0x001f4000).
    Warning: Sector header check failed. Format this sector (0x001f5000).
    Warning: Sector header check failed. Format this sector (0x001f6000).
    Warning: Sector header check failed. Format this sector (0x001f7000).
    Warning: Sector header check failed. Format this sector (0x001f8000).
    Warning: Sector header check failed. Format this sector (0x001f9000).
    Warning: Sector header check failed. Format this sector (0x001fa000).
    Warning: Sector header check failed. Format this sector (0x001fb000).
    Warning: Sector header check failed. Format this sector (0x001fc000).
    Warning: Sector header check failed. Format this sector (0x001fd000).
    Warning: Sector header check failed. Format this sector (0x001fe000).
    Warning: Sector header check failed. Format this sector (0x001ff000).
    Warning: All sector header check failed. Set it to default.
    EasyFlash V4.1.0 is initialize success.
    You can get the latest version on https://github.com/armink/EasyFlash .
    Warn:CFG:CFG_InitAndLoad: Config crc or ident mismatch. Default config will be loaded.
    Info:CFG:CFG_SetDefaultLEDCorrectionTabMain_Init_Before_Delay done
    Main_Init_Delay
    Main_Init_Delay done
    le: setting defaults
    Error:CMD:lfs is absent
    Info:GEN:PIN_SetupPins pins have been set up.
    Info:MAIN:Main_Init_Before_Delay 
    WIFI initialized
    


    I did not try to set up the name, wifi, MQTT, etc just joined the AP

    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)

    After getting on the AP I tried the startDriver TCL and got exactly the same behavior as the other board, crash then reboot.

    
    [ISR]Assert(( portNVIC_INT_CTRL_REG & portVECTACTIVE_MASK ) == 0) failed on line 443 in file ../../../component/os/freertos/freertos_v10.0.1/Source/portable/GCC/ARM_RTL8710C/port.c
    
    == Rtl8710c IoT Platform ==
    Chip VID: 5, Ver: 3
    ROM Version: v3.0
    
    == Boot Loader ==
    Aug 30 2024:04:22:00[ISR]Assert(( portNVIC_INT_CTRL_REG & portVECTACTIVE_MASK ) == 0) failed on line 443 in file ../../../component/os/freertos/freertos_v10.0.1/Source/portable/GCC/ARM_RTL8710C/port.c
    
    == Rtl8710c IoT Platform ==
    Chip VID: 5, Ver: 3
    ROM Version: v3.0
    
    == Boot Loader ==
    Aug 30 2024:04:22:00
    
    Boot Loader <==
    
    == RAM Start ==
    Build @ 08:29:49, Jun  4 2025
    interface 0 is initialized
    interface 1 is initialized
    
    
    Boot Loader <==
    
    == RAM Start ==
    Build @ 08:29:49, Jun  4 2025
    interface 0 is initialized
    interface 1 is initialized
    
  • #168 21577827
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Are you sure you have the same version as @dressyspider ? Maybe bug was introduced later?

    What happens if you do "startDriver UART"?

    Maybe would you be able to track which commit related to TCL starts breaking things for you? There are links to older PRs in this topic.

    I've pushed some UI tests - i am testing dropdowns (outside refreshed div) and radio lists:
    Request for Help – Flashing Della Minisplit WiFi Module (WBR3 on TCWBRCU1)
    Helpful post? Buy me a coffee.
  • #169 21578210
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    The UART Driver does not seem to be in this build.

    
    Info:MAIN:Driver UART is not known in this build.
    Info:MAIN:Available drivers:
    Info:MAIN:TuyaMCU
    Info:MAIN:, tmSensor
    Info:MAIN:, TCL
    Info:MAIN:, NTP
    Info:MAIN:, I2C
    Info:MAIN:, BL0942
    Info:MAIN:, BL0937
    Info:MAIN:, CSE7766
    Info:MAIN:, DGR
    Info:MAIN:, Wemo
    Info:MAIN:, SM2135
    Info:MAIN:, BP5758D
    Info:MAIN:, BP1658CJ
    Info:MAIN:, SM2235
    Info:MAIN:, BMPI2C
    Info:MAIN:, CHT83XX
    Info:MAIN:, AHT2X
    Info:MAIN:, DS1820
    


    I will start working backward through the PRs and see if I can get to a firmware where the TCL driver works.
  • #170 21578224
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Hmm ok, if UART wrapper is not present, then try startDriver BL0942 just to see if it crashes as well.
    Helpful post? Buy me a coffee.
  • #171 21578228
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    EDIT Note: These are for the startDriver TCL command

    PR# Result of startDriver TCL
    6193 Crash / Reboot
    6192 Crash / Reboot
    6174 Crash / Reboot
    6173 Crash / Reboot
    Decided to go back to the first one I see as "AC TCL 3"
    6126 Crash / Reboot

    Note that all of them produce the same log entry when they crash
    "[ISR]Assert(( portNVIC_INT_CTRL_REG & portVECTACTIVE_MASK ) == 0) failed on line 443 in file ../../../component/os/freertos/freertos_v10.0.1/Source/portable/GCC/ARM_RTL8710C/port.c"

    Added after 5 [minutes]:

    >>21578224 That crashes as well with the same error

    (currently have PR 6126 loaded Built on May 30 2024 16:47:03 version 1659_merge_f663db6db987)

    Error in log
    "[ISR]Assert(( portNVIC_INT_CTRL_REG & portVECTACTIVE_MASK ) == 0) failed on line 443 in file ../../../component/os/freertos/freertos_v10.0.1/Source/portable/GCC/ARM_RTL8710C/port.c"

    Added after 4 [minutes]:

    I'm going to try tracing the circuit, see if that may turn up anything
  • #172 21578238
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    BL0942 driver crashes for you as well? That's interesting. Do any other driver is also crashing?

    @insmod , any ideas?
    Helpful post? Buy me a coffee.
  • #173 21578247
    divadiow
    Level 38  
    Posts: 4880
    Help: 427
    Rate: 869
    does it make a difference to crashing if the module is able to talk to the MCU or not? ie it crashes in and out of the AC
  • #174 21578249
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Well, if BL0942 driver crashes for him as well, then it looks like some kind of UART-related issue. I would suspect that maybe he still has something else configured? But it was said it's a fresh module, so idk...
    Helpful post? Buy me a coffee.
  • #175 21578250
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    This is the result of testing all the available drivers

    
    Info:MAIN:Available drivers:
    Info:MAIN:TuyaMCU                  Crash
    Info:MAIN:, tmSensor               OK
    Info:MAIN:, TCL                    Crash
    Info:MAIN:, NTP                    OK
    Info:MAIN:, I2C                    OK
    Info:MAIN:, BL0942                 Crash
    Info:MAIN:, BL0937                 OK               
    Info:MAIN:, CSE7766                Crash
    Info:MAIN:, DGR                    OK
    Info:MAIN:, Wemo                   OK
    Info:MAIN:, SM2135                 OK
    Info:MAIN:, BP5758D                OK
    Info:MAIN:, BP1658CJ               OK
    Info:MAIN:, SM2235                 OK
    Info:MAIN:, BMPI2C                 OK
    Info:MAIN:, CHT83XX                OK
    Info:MAIN:, AHT2X                  OK
    Info:MAIN:, DS1820                 OK
    


    Added after 6 [minutes]:

    I have the modules out of the units right now on my bench, I could try putting one in the units but that might take a day or two due to the accessibility (they are in the garage and stuff has to be moved and ladders used, etc.)
  • ADVERTISEMENT
  • #176 21578260
    divadiow
    Level 38  
    Posts: 4880
    Help: 427
    Rate: 869
    yeh cool. just a crazy thought that if it was ONLY happening within the unit, maybe some weird packets from the MCU was causing the crash after any of the drivers that use uart started listening after starting.
  • #177 21578280
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    Well, actually maybe you have some merit with that, @divadiow, but I think the UART input should be safe from any buffer overruns.

    Still, it looks exactly like what I guessed - UART issue. All UART related drivers are crashing. You @AbidingOhmsLaw actually predicted the next step I wanted to suggest - check TuyaMCU driver to see if it crashes... CSE7766 is UART-based as well, so it crashes too.

    I will try to find a spare moment and create some test driver to see if it's also crashing...
    Helpful post? Buy me a coffee.
  • #178 21578287
    AbidingOhmsLaw
    Level 9  
    Posts: 24
    Help: 1
    Rate: 5
    Since this is on a custom board could the stock firmware be using different pins for the UART to the main board MCU? It's a simple board so I'm tracing it out in KiCad now and will post the schematic I generate. There are also some level shifting components on this board as the main board is supplying 5V logic and the module board is level shifting that to 3v3 logic for the WBR1.
  • #179 21578302
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14444
    Help: 650
    Rate: 12414
    To the best of my knowledge, UART should not crash, no matter how it's connected.

    Wait.. maybe you have OBK_FLAG_USE_SECONDARY_UART flag set?
    Helpful post? Buy me a coffee.
  • #180 21578382
    divadiow
    Level 38  
    Posts: 4880
    Help: 427
    Rate: 869
    fwiw I do not get crashes with 1659_merge_f1124c88a2d3 and flag 26 set or unset. That's with https://www.elektroda.com/rtvforum/topic4093507.html#21566999

    will try WBR3

    Added after 14 [minutes]:

    success on WBR3 too

    Added after 5 [minutes]:

    assume your crashes are with nothing else but GND and VCC connected @AbidingOhmsLaw? no USD-TTL still..

Topic summary

✨ The discussion centers on flashing and customizing the WiFi module (WBR3 on TCWBRCU1 board) of a Della Optima Series minisplit air conditioner to run OpenBeken firmware for local, cloud-free control. Initial assumptions about the device using TuyaMCU were revised after UART traffic analysis revealed a custom protocol similar to TCL AC units, leading to the development and testing of a dedicated TCL driver in OpenBeken. The user successfully desoldered the WBR3 module, backed up its firmware using appropriate Realtek tools (ltchiptool and AmebaZ2 PG Tool), and flashed OpenBeken firmware. Key datapoints such as power, mode, fan speed, temperature, humidity, and PM2.5 were identified from the Tuya IoT platform, but the device uses a binary packet protocol rather than standard Tuya DPIDs.

The community collaboratively developed and refined the TCL driver, enabling control of power, mode (cool, heat, dry, fan, auto), fan speeds (mapped to Smart Life app presets including auto, mute, mid-low to turbo), swing positions (vertical and horizontal), buzzer (beep) on/off, and display brightness on/off. The driver was integrated with Home Assistant via MQTT with discovery support, allowing control and state feedback. Challenges included correct UART parity settings (even parity), packet parsing, and mapping driver values to Home Assistant entities. The user provided detailed logs, testing results, and UI feedback, leading to improvements in MQTT integration, UI elements for fan speed and swing controls, and bug fixes for state synchronization. The project also discussed future enhancements like better OBK UI integration, thermostat card improvements, and potential DIY thermostat projects using OBK on ESP32 with external sensors.

Overall, the thread documents a successful reverse engineering and firmware replacement effort for the Della minisplit WiFi module, enabling local control with OpenBeken, full MQTT/Home Assistant integration, and detailed community-driven driver development for a non-standard protocol device.
Generated by the language model.

FAQ

TL;DR: If you have a Della mini split with a WBR3 module, you can flash OpenBeken locally, back up the original 2 MB flash first, and then control cooling, heat, fan, swing, buzzer, display, and even GEN mode. As one developer put it, "It worked!" This FAQ is for owners who want cloud-free control without losing core AC functions. [#21551100]

Why it matters: This thread shows that some Della WiFi modules are not standard TuyaMCU devices, so using the correct Realtek tools and the TCL driver is the difference between a working local AC and a dead-end flash attempt.

Option Chip family Fit/use in thread Main caveat
WBR3 Realtek RTL8720CF/AmebaZ2 Native Della module; fully tested with OBK TCL driver Fragile pads and traces during wiring
WBR1 on TCLWBR Realtek RTL8720CF Also worked after correct VIN/VCC power wiring Needed both 5 V and 3.3 V path active
WB3S Beken Considered compatible replacement for TuyaMCU-style UART layout Must verify 3.3 V, GND, reset, and UART pin match
CB3S Beken Considered compatible replacement with OBK support Same pinout checks as WB3S

Key insight: The Della TCWBRCU1/WBR3 setup in this thread was ultimately treated as a custom TCL serial protocol, not a normal TuyaMCU datapoint bridge. That is why flashing succeeded only after using Realtek-specific tools and why control required the OpenBeken TCL driver, not GPIO templates. [#21549462]

Quick Facts

  • The confirmed stock backup sizes were 384 KB ROM and 2 MB flash, and the 2 MB dump was verified to boot before flashing OpenBeken. [#21544743]
  • The working UART settings for the TCL protocol were 9600 baud, 8 data bits, even parity, 1 stop bit (9600 8E1); parity was a real failure point until fixed. [#21550462]
  • The Della unit discussed was a 9,000 BTU heat/cool mini split on 115 V, 60 Hz power, using a removable USB WiFi/Bluetooth module with a WBR3 soldered to a TCWBRCU1 carrier. [#21536655]
  • Internal target temperature in the TCL protocol is Celsius only, with a usable command range of 16–31 °C; entering 75 or 77 as if they were Fahrenheit produced wrong results such as 81 °F and 84 °F on the indoor display. [#21553236]
  • Reverse-engineered GEN mode testing showed approximate winter heating limits of 1.2 kW at L1, 1.8 kW at L2, 2.3 kW at L3, and 2.9 kW with no GEN limit, based on clamp monitoring. [#21781377]

How do I flash a Della mini split WBR3 WiFi module on the TCWBRCU1 board with OpenBeken step by step?

Use Realtek tools, not BK7231 tools. 1. Back up the stock WBR3 first with the Realtek workflow, because the verified flash dump was 2 MB and recoverable. 2. Flash an OpenRTL87X0C build that includes the TCL driver or update later by OTA. 3. Start the driver with startDriver TCL, then test commands such as ACMode 1, FANMode 3, and TargetTemperature 24. The thread showed this sequence working on the Della 048-TP-9K2V-23S-IN after successful backup and flash. [#21547316]

What is TuyaMCU, and how is it different from the custom TCL serial protocol used by some Della mini split WiFi modules?

"TuyaMCU is a host-MCU protocol layer that lets a WiFi module exchange standardized datapoints with a separate appliance controller, usually over UART." In this thread, that turned out not to be the whole story for the Della mini split. The WBR3 could run OpenBeken, but the AC control path matched a custom TCL serial protocol instead of normal TuyaMCU DPID traffic, which explained why TuyaMCU commands did nothing while the TCL driver worked. [#21549462]

Why does a Della WBR3 module get stuck on "getting bus" in BK7231 tools, and which flashing tools should I use for Realtek RTL8720CF or AmebaZ2 instead?

It gets stuck because BK7231 tools do not support Realtek AmebaZ2 chips like the WBR3. One helper stated plainly that Easy Flasher does not back up or write Realtek chips. The working toolchain in the thread was ltchiptool for backup and AmebaZ2 PG Tool for writing on RTL8720CF/AmebaZ2 hardware, which immediately solved the stalled "getting bus" problem. [#21544726]

What is a DPID in the Tuya ecosystem, and how were the Della mini split datapoints like power, mode, windspeed, and swing identified in this thread?

"DPID is a Tuya datapoint identifier that maps a cloud-visible property to a device function, type, and value range." The thread identified the Della AC datapoints from the Tuya IoT Platform and later from the product data model. Examples included DPID 1 power, 4 mode, 5 windspeed, 113 vertical swing, 114 horizontal swing, and 120 GEN mode, each with enum or value ranges shown by the Tuya schema. [#21536711]

How can I back up the stock firmware from a WBR3 or WBR1 module before flashing OpenBeken?

Back it up with the Realtek toolchain before you flash anything. The proven path was to read both the ROM and full flash, then verify the sizes: the ROM should be 384 KB and the flash dump 2 MB on the tested WBR3. That backup later booted successfully, which gave the thread a recovery path when hardware pads were lifted during rework. [#21544743]

Which OpenBeken commands were used to control the Della mini split after flashing, including ACMode, FANMode, SwingH, SwingV, TargetTemperature, Buzzer, Display, and Gen?

The working commands were startDriver TCL, ACMode, FANMode, SwingH, SwingV, TargetTemperature, Buzzer, Display, and later Gen. Confirmed examples included ACMode 1 for cool, ACMode 3 for fan-only, TargetTemperature 24, Buzzer 0, Display 0, and the test PR command Gen 0 through Gen 3. Those commands were validated progressively in the thread and then exposed to Home Assistant through MQTT discovery. [#21761114]

Why did TargetTemperature seem wrong when entering Fahrenheit values in OpenBeken, and how does the Della TCL protocol actually handle temperature internally?

It seemed wrong because OpenBeken expected Celsius while the indoor display was showing Fahrenheit. The TCL protocol stores target temperature as a 4-bit value for 16–31 °C, so entering TargetTemperature 75 was interpreted as a Celsius-side command, wrapped internally, and produced values like 29 °C, which appeared as about 84 °F on the unit. Once the user switched to TargetTemperature 24 and 25, the display correctly showed 75 °F and 77 °F. [#21553392]

What was the correct UART configuration for the Della TCL mini split protocol on Realtek, including baud rate and parity, and why did parity matter?

The correct serial format was 9600 8E1: 9600 baud, 8 data bits, even parity, 1 stop bit. Parity mattered because the first TCL driver builds used the wrong parity setting, so commands were sent but not understood correctly by the AC controller. Once even parity was fixed, the unit started beeping on valid commands and mode and fan tests began to work immediately. [#21551100]

How do Home Assistant MQTT discovery and the OpenBeken TCL driver work together for a Della mini split, and what commands or settings are needed to make the climate entity appear?

Start the TCL driver first, then trigger Home Assistant discovery. The thread used startDriver TCL and then either Home Assistant discovery from the UI or the command scheduleHADiscovery 1. After that, Home Assistant created a climate entity and additional controls, and later builds added mode, fan, horizontal swing, and vertical swing support to the discovered entity. [#21561364]

What troubleshooting steps helped when Home Assistant showed Della mini split state updates but power-on or mode changes did not work correctly?

The main fixes were driver-side, not MQTT-side. Early on, Home Assistant could show state changes from OBK, but power-on and mode commands were incomplete because the TCL mode parse and mode publishing were not fully implemented. Once the driver parsed AC mode correctly, Home Assistant could both read OBK state and write changes back, including on/off and mode switching. [#21563089]

WB3S vs CB3S vs WBR3 for a Della mini split replacement module — which options were considered compatible with OpenBeken and what pinout checks matter most?

WBR3 was the native tested module, but WB3S and CB3S were both considered workable OpenBeken replacements. The key check was not brand alone; it was whether GND, 3.3 V, reset, and UART matched the original footprint and host board expectations. The thread specifically noted that other GPIO positions may differ, but the basic UART-based control path could still work if those core pins lined up. [#21548807]

How can I capture UART traffic between the WiFi module and the indoor unit MCU on a Della mini split without a full logic analyzer?

You can capture each UART lane separately with a USB-UART adapter if you match the serial settings. One developer explained that you do not need a full logic analyzer to start; you can connect RX to the line you want to observe, set the correct baud, and record module-to-MCU and MCU-to-module traffic independently. For this TCL setup, correct serial settings mattered, especially parity. [#21550113]

What caused the WBR1 TCLWBR board to crash when starting UART-based OpenBeken drivers, and how was the missing VCC or VIN power connection eventually identified?

The crash came from powering the WBR1 incorrectly during bench testing. The user had supplied only 3.3 V for flashing-style setup, but the TCLWBR adapter also needed the VIN/VCC path active from 5 V so the board’s power scheme matched normal operation. Once they powered the adapter board correctly instead of only the WBR1 core rail, the TCL driver started normally and the module worked. [#21579198]

Where can I find replacement Della-compatible WiFi modules like WBR3, WBR1, or Pioneer USB adapter boards if I damage the original during flashing?

One confirmed source was Pioneer’s replacement USB WiFi/BLE dongle for WYT/WT systems, which a later poster said used the same style of module and compatible firmware family. Earlier in the thread, users also sourced WBR3 replacements from AliExpress after damaging traces and pads during desoldering. The practical lesson was to buy a spare before risky rework, because these module pads are fragile. [#21766471]

How was the GEN or generator mode on supported Della mini splits reverse engineered, and what do the L1, L2, and L3 power limits correspond to in practice?

GEN mode was inferred from the Tuya schema, then tested in a custom OpenBeken PR with Gen 0 to Gen 3, and finally validated by watching real power draw. Practical results on one unit were about 1.2 kW for L1, 1.8 kW for L2, 2.3 kW for L3, and 2.9 kW with no GEN limit during cold-weather heating. The user mapped L1, L2, and L3 to roughly 30%, 50%, and 80% compressor power limits. [#21762524]
Generated by the language model.
ADVERTISEMENT