logo elektroda
logo elektroda
X
logo elektroda

WIP [CBLC9 / BK7231N] Mini WIFI Curtain Module QS-WIFI-S10-C4

vincenzoernst1 8211 33
ADVERTISEMENT
  • #31 21750025
    vincenzoernst1
    Level 9  
    Posts: 96
    Help: 3
    Rate: 7
    >>21749706

    @chemik_16

    He,

    this should go to a new topic cause of the changec hw.
    make sure to add the new revision or some similar markings to the subject to clearify the new model.
  • ADVERTISEMENT
  • #32 21750026
    chemik_16
    Level 27  
    Posts: 1000
    Help: 74
    Rate: 127
    Got relays, but cant get buttons to work.
    Ok,
    24 and 9 are relays

    8 and 6 or 26 buttons, i dont have it connected now
  • ADVERTISEMENT
  • #33 21914497
    Golden_Melky
    Level 2  
    Posts: 2
    ​Hi everyone,
    ​I have 5 of these modules installed around my house. They worked fine for a couple of years, but recently, a few of them stopped working entirely.
    ​They completely disconnected from the Wi-Fi and pressing the physical switches does absolutely nothing. Only by turning off and on the main breaker makes them work, but not for long. Does somebody else have this problem too?
  • #34 21914791
    vincenzoernst1
    Level 9  
    Posts: 96
    Help: 3
    Rate: 7
    i´ve found the hw bad qulity so i have this issue from sometimes to. maybe some caps are passing away. just buy new ones.

Topic summary

✨ The discussion focuses on the teardown, flashing, and configuration of the QS-WIFI-S10-C04 Mini WiFi Curtain Module based on the CBLC9 board with the BK7231N chip, similar to the RTX WCM1MR model. Users report challenges in flashing the device using OpenBK firmware and TUYA Cloud Cutter, including issues with UART communication, powering the module correctly (notably the importance of stable 3.3V supply and short wiring), and enabling AP pairing mode for flashing. The full 2MB flash backup is recommended for configuration extraction. Several users share autoexec.bat scripts and configuration templates for OpenBK, addressing relay control logic, button input handling, and shutter mode settings. Problems include simultaneous relay activation risking motor damage, improper relay toggling behavior, and input pin role inconsistencies where dInput_n works better than button mode. Comparisons between OpenBK and Tasmota MQTT messaging reveal differences in control interface behavior. The community provides detailed pin assignments, flashing procedures, and troubleshooting tips, emphasizing the need for correct power sequencing and wiring length to establish UART communication. Some users report unexpected relay voltage readings and seek clarification on normal operation. Overall, the thread serves as a technical resource for reflashing, configuring, and customizing the QS-WIFI-S10-C04 curtain module firmware and hardware interface.
Generated by the language model.

FAQ

TL;DR: For OpenBK users flashing the QS-WIFI-S10-C04, the key facts are 2MB full backup size and this expert rule: "the backup should be full 2MB". This FAQ helps you wire, flash, template, and script the CBLC9/BK7231N version safely, including relay interlock and button logic. [#21049729]

Why it matters: This module can drive a curtain motor directly, so a bad template or missing interlock can energize both directions at once.

Method Hardware needed Main risk Best use
UART flashing USB-UART, short wires, stable power "getting bus" failures Reliable recovery and full backup
Tuya Cloudcutter No soldering if exploit works Newer secure batches may fail Fast OTA-style conversion
Tasmota-style shutter UX Different firmware behavior Better HA button layout, not the same scripting model Users prioritizing UI parity

Key insight: Treat the CBLC9/BK7231N module and newer look-alike revisions as different devices. The original thread template fits the 2024 CBLC9 board, but a later 2025 revision reportedly changed MCU and pinout.

Quick Facts

  • Board reported in the working teardown: QL-0887 Rev. A, dated 2024.01.23, with CBLC9 / BK7231N and named QS-WIFI-S10-C04 Mini WiFi Curtain Module. [#21049246]
  • Confirmed working pin map for the original board: P7 = relay down, P9 = relay up, P8 = WiFi LED, P24 = internal push button, P6 and P26 = external switch inputs, VCC = 3.3V. [#21049246]
  • Full flash backup should be 2MB, not about 1.1MB. The short dump blocks later config extraction. [#21049729]
  • A stable read often requires the flasher to start first, then a power replug on 3.3V so the tool catches boot and gets the bus. [#21049246]
  • One user measured about 19V AC on an inactive relay output and 220V AC when active, with no motor connected; the thread treated the off-state reading as normal leakage on cheap hardware. [#21628727]

How do I flash the QS-WIFI-S10-C04 curtain module with a CBLC9/BK7231N board using OpenBK and a UART adapter without desoldering the module?

You can flash it over exposed UART pads without desoldering the module. 1. Connect GND, 3.3V, and the CBLC9 UART lines with very short wires. 2. Start the OpenBK Python flasher or BK7231GUIFlashTool and let it try to detect the bus. 3. Briefly disconnect and reconnect 3.3V so the tool catches boot, then read or flash. A working report used the Linux CLI flasher and said detection happened only after reconnecting 3.3V during the attempt. [#21049246]

Why does BK7231GUIFlashTool get stuck on "getting bus" or crash near 100% when reading the QS-WIFI-S10-C04, and what wiring or power changes usually fix it?

It usually fails because of weak power or long wiring. The thread points to three fixes: use much shorter leads, avoid powering from a weak 3.3V pin on a USB-UART dongle, and start the read first so the flasher waits at "getting bus" before you cycle power. One user reached 100/100 and then crashed, while the reply called the wires "unacceptably long" and asked whether the board was powered from a proper supply path instead of a low-current UART adapter. [#21125926]

What is the correct pinout and OpenBK template for the QS-WIFI-S10-C04 Mini WiFi Curtain Module with the CBLC9 board?

For the original CBLC9 board, the thread template maps P6 = Btn;1, P7 = Rel;2, P8 = WifiLED_n;0, P9 = Rel;1, P24 = Btnl;32, and P26 = Btn;2. The board table also labels P7 as relay down, P9 as relay up, P24 as the internal push button, and VCC as 3.3V. The posted JSON identifies the device as QS-WIFI-S10-C04, model Mini WiFi Curtain Module, chip BK7231N, board CBLC9, with PowerSave 1. [#21049246]

What's the best way to enter flashing mode on a BK7231N module when the flasher only detects the bus after reconnecting power?

The best method is to let the flasher wait first, then power-cycle the module. 1. Enable read or flash so the tool starts "getting bus." 2. Disconnect 3.3V from the WiFi module side for a moment. 3. Reconnect power so the flasher catches boot. This exact pattern was confirmed in the thread, and another reply repeated the same idea: start the flasher first, then cut and restore power so it "catches" the chip booting up. [#21125926]

Why does Tuya Cloudcutter fail with "The profile you selected did not result in a successful exploit" on some QS-WIFI-S10-C04 devices?

It fails because newer batches may already be secured, and the device may not actually be in the required AP pairing mode. The thread says many new devices are secure and that newer batches of this model may also resist exploitation. The same reply also says the error text suggests AP pairing mode was not set correctly, so failure does not prove the exploit is impossible. That makes this a batch-dependent and setup-dependent failure case. [#21124664]

What is Tuya Cloudcutter, and how is it different from flashing a BK7231N curtain module over UART?

"Tuya Cloudcutter" is an OTA exploit tool that tries to replace Tuya firmware without opening the device, unlike UART flashing, which uses direct wired access to the chip bootloader. In this thread, Cloudcutter was tried with a tuya-generic-2ch-curtain-module profile and could save device config, but selected profiles sometimes failed to exploit. UART flashing needed exposed pins, short wires, and power timing, but it gave direct read and write access even when OTA methods were blocked. [#21124638]

What does "interlock" mean for a curtain or roller shutter module, and how do I configure it in OpenBK so both relays can’t turn on at the same time?

"Interlock" is control logic that prevents opposite motor directions from energizing together, a key safety feature for curtain and shutter modules. In this thread, missing interlock caused both relays to turn on at once, which the user said could burn the motor. The practical OpenBK fix was to script every open or close action so it first forces both channels off, then enables only one relay after a short delay_s 0.1. The posted aliases used Set_Stop before Set_Open or Set_Close. [#21142835]

How can I make the QS-WIFI-S10-C04 internal or external buttons behave like the original Tuya firmware in OpenBK, with open, stop, and close logic instead of energizing both relays?

Map the physical buttons to scripted actions, not directly to raw relays. In the working examples, OpenBK uses aliases such as Start_Opening, Start_Closing, and Stop_All, then binds button events with addEventHandler so a press runs logic that first stops both relays and only then starts the requested direction. That avoids the bad case where pressing the opposite direction leaves one relay on and brings the second on too. One working setup used GPIO 24, 26, and event handlers for hold and click actions. [#21142835]

Why do GPIO 6 and 26 stop working as Button in OpenBK on this curtain module while dInput still detects presses?

The thread shows that Button can stop detecting state changes on this module, while dInput still works. One user tested OpenBK 1.17.654 and 1.17.656, downgraded again, and still saw the problem. They also used the GPIO finder and reported that Button showed no value changes, but dInput did. Another later working state-machine example explicitly chose dInput for pins 6, 24, and 26 because Button would not work reliably. [#21194168]

How do I write an autoexec.bat for OpenBK that adds proper open, close, stop, and timed position tracking for a BK7231N curtain controller?

Use aliases plus relay change handlers and one travel-time channel. A proven script in the thread sets a full-travel time with setChannel 40 42, creates Open and Close toggle channels, then updates a read-only position channel 41 once per second with repeating events until the relay auto-stops. That design gives open, close, stop, and approximate timed position in seconds. If you want a simpler model, another user built a 5-state machine with 20 seconds travel and separate soft buttons. [#21151245]

Why does the position channel in my OpenBK shutter script go below 0 or above the full travel time when I press Open or Close repeatedly?

It happens because the script keeps counting past the valid range when repeated commands restart movement without clamping the position. In the reported case, channel 41 should stay between 0 and 42, but repeated OPEN could push it to -42, and repeated CLOSE could push it to 84. The fix is to clamp the channel or use a state-machine approach that cancels prior repeating events before starting a new motion. A later example used ClampChannel 43 0 4 for state control and cleaner transitions. [#21151245]

How do I send custom OpenBK aliases like btn-open and btn-close from Home Assistant over MQTT or HTTP?

You can call them directly over HTTP or publish them to the OpenBK command topic over MQTT. One user confirmed HTTP syntax such as http://deviceip/cm?cmnd=btn-open and ...btn-close. A later reply says to do it in Home Assistant "just like with Tasmota" by publishing under the cmnd topic. That gives you two clean integration paths: raw HTTP calls or MQTT command publishing. [#21708902]

OpenBK vs Tasmota for curtain modules in Home Assistant — which one gives better shutter controls, MQTT behavior, and UI buttons?

In this thread, Tasmota gave the better Home Assistant shutter-style UI. A user compared both and said the Tasmota controls matched the function much better, with up/down arrows and a center stop button, while OpenBK exposed a different layout and MQTT behavior. OpenBK still worked, but users often needed custom scripts or aliases to mimic curtain semantics cleanly. So if you want native-looking shutter controls, Tasmota looked better here; if you want flexible scripting, OpenBK offered more customization. [#21217204]

Why do I measure about 19V AC on the relay output of the QS-WIFI-S10-C04 when the relay is off, and is that normal for this hardware?

Yes, the thread treats that as normal for this hardware. One user measured about 19V AC on the relay output when off and about 220V AC when on, with no motor connected. The later reply said this is correct and blamed the small off-state voltage on cheap hardware design. In practice, that means you may see ghost voltage on a high-impedance meter even though the relay is not actively driving the motor. [#21628727]

How can I identify whether a new-looking QS-WIFI-S10-C04 revision uses BK7231N, BK7238, or Tuya T1-M hardware, and when should it be treated as a different device template?

Open the device and verify the PCB, MCU family, and working pinout before reusing any old template. The original working unit was CBLC9 / BK7231N on board QL-0887 Rev. A 2024.01.23. A later 2025 report described a fresh revision with different MCU, different pinout, and PCB changes, readable as 7238, while another reply linked it to Tuya T1-M logs and said it should go to a new topic because of changed hardware. Treat any such revision as a different template immediately. [#21750025]
Generated by the language model.
ADVERTISEMENT