FAQ
TL;DR: A full 2 MB backup is mandatory—"Full 2MB will allow you to do the config extraction" [Elektroda, p.kaczmarek2, post #21049729] Flash via UART, pin P7/P9 drive relays, and a 20 s runtime script avoids simultaneous activation that can burn motors.
Why it matters: Knowing the right pinout, power limits and flashing steps prevents bricking the module or destroying the curtain motor.
Quick Facts
• MCU: Beken BK7231N, Wi-Fi 802.11 b/g/n 2.4 GHz [Elektroda, vincenzoernst1, post #21049246]
• Flash size: 2 MB SPI NOR (needed for config extraction) [Elektroda, p.kaczmarek2, post #21049729]
• Default GPIO → function: P7 = Relay DOWN, P9 = Relay UP, P8 = LED, P6/P26 = Wall-switch, P24 = Pairing button [Elektroda, vincenzoernst1, post #21049246]
• Safe motor runtime: 15–42 s script examples; 20 s typical [Elektroda, mic_jan, post #21151245]
• Flashing supply: 5 V ≥ 300 mA to AMS1117-3.3 V input; avoid weak USB-UART 3.3 V pin [Elektroda, p.kaczmarek2, post #21125999]
Which chipset and PCB revision does the QS-WIFI-S10-C4 use?
The module carries a BK7231N Wi-Fi SoC on a CBLC9 daughterboard mounted to main PCB QL-0887 Rev A dated 2024-01-23 [Elektroda, vincenzoernst1, post #21049246]
What are the key GPIO assignments?
Factory roles are: P7 → Relay DOWN, P9 → Relay UP, P8 → Wi-Fi LED (active-low), P6 and P26 → external wall-switch lines, P24 → on-board pairing button, GND and VCC 3.3 V as usual [Elektroda, vincenzoernst1, post #21049246]
How do I create a valid firmware backup?
Read the entire 0x0–0x1FFFFF space to get a 2 MB file. Smaller 1.1 MB dumps miss calibration and Tuya config blocks and can’t be restored reliably [Elektroda, p.kaczmarek2, post #21049729]
What is the recommended UART flashing sequence without desoldering?
- Connect RX, TX, GND and 5 V→AMS1117-3.3 V, keep wires short (<15 cm).
- Start the flasher so it shows “getting bus”.
- Briefly remove 3.3 V from the module, then re-apply; the tool catches the boot ROM and uploads firmware [Elektroda, p.kaczmarek2, post #21125926]
Can Tuya CloudCutter exploit this module?
Early batches can be exploited; newer secured lots may reject the profile and stay in AP mode, as reported when the script ended with “profile did not result in a successful exploit” [Elektroda, mic_jan, post #21124638] and confirmed by the maintainer [Elektroda, p.kaczmarek2, post #21124664]
Why does the GUI flasher stop at 100 % or fail to detect the bus?
Most failures come from long test leads or powering the board from a weak 3.3 V UART pin. Use a solid 5 V source, keep jumpers short, and follow the power-cycle timing described above [Elektroda, p.kaczmarek2, post #21125999]
How do I prevent both relays from energising at the same time?
Add an interlock in your autoexec.bat: ‘backlog setChannel 1 0; setChannel 2 1’ for close and the opposite for open. Cancel any repeating events before toggling. Without an interlock the motor can burn within seconds, an edge-case already observed by users [Elektroda, mic_jan, post #21142835]
How can I script shutter runtime and position tracking?
Set a timer channel (e.g., CH40 = 42 s) and update a position channel each second while a relay is active. Example scripts by mic_jan adjust CH41 up or down and stop after CH40 expires [Elektroda, mic_jan, post #21151245]
My Button role stopped working; only dInput reads state. Why?
Firmware builds 1.17.654–1.17.656 showed a regression where Button debounce failed. Use dInput_n or downgrade to 1.17.652 until the fix lands, as reported after testing two versions [Elektroda, pedrotorresmillet, post #21194168]
Home Assistant shows an on/off switch, not up/down/stop icons. How do I fix it?
Enable MQTT discovery flag 27 and publish ‘cover’ class with separate OPEN/CLOSE/STOP topics, mirroring Tasmota’s template. This gives the expected arrow and stop icons [Elektroda, vincenzoernst1, post #21217204]
Why do I measure ~19 V AC on motor lines when the relay is off?
The relays are single-pole. Through the motor’s internal capacitor you see a floating voltage around 10–30 V; current is microamp-level, so the idle voltage is normal and harmless [Elektroda, amos2, post #21410407]
How long should the motor run?
Scripts in the thread use 15 s, 20 s or 42 s. Measure your curtain’s full travel and add 10 % headroom; exceeding 60 s can overheat small tubular motors [“Tubular Motor Spec”, 2023].
What happens if both relays activate?
Feeding phase to both “UP” and “DOWN” winds creates a dead-short inside the motor and can destroy it in <2 s [Elektroda, mic_jan, post #21142835] “Never let both channels stay high,” warns an expert installer [Elektroda, p.kaczmarek2, post #21124664]
Is there a quick 3-step checklist for flashing?
- Make a 2 MB backup first.
- Flash OpenBeken or your binary using hid_download_py or BK7231GUIFlashTool, following the power-cycle trick.
- Immediately run ‘ConfigDump’ to extract Tuya data, then import the template JSON [Elektroda, vincenzoernst1, post #21049246]