logo elektroda
logo elektroda
X
logo elektroda

Flashing BK7231N on CBL C9S Mini Curtain Module - Unable to Enter Flash Mode

dawsonlebrown 3543 12
ADVERTISEMENT
  • #1 20907548
    dawsonlebrown
    Level 3  

    Mini Wi-Fi Curtain Module with technical label Hi, I'm trying to flash a "Mini Wi-Fi Curtain Module" with OpenBeken, but can't get it to enter flash mode. The device has a BK7231N on a module labeled "CBL C9S" - it looks similar to, but not identical to the CBL C9 module.

    I am able to get debug info from the TX02 port, but I have not been able to convince it to go into flashing mode on the TX01/RX01 port, and I'm hoping someone here will be able to point me in the right direction.

    With 3.3v from an external power supplied to the pad marked VCC, and GND connected to the pad marked GND (also works connected to various other GND connected points on the board) I am able to power up the device.

    With BK7231Flasher.exe, I start the backup & flash process with the latest firmware, then try to get the chip into flash mode - tried shorting the CEN pad to ground, disconnecting the 3v3 and reconnecting it, disconnecting the GND and reconnecting it - but I keep getting "Getting bus failed. will try again"

    Using Arduino IDE, I am able to get a debug log from TX02, and I am also able to get a log from TX01 IF I reboot the module with the CSN pad pulled to GND, I tried this configuration in BK7231Flasher.exe to see if it would be in flash mode, but no luck.

    I was wondering if the device was using one of the UART pins, causing communication problems, so desoldered and removed the module, but still get the same results.😒

    CBL C9S module for mini Wi-Fi with visible pads VCC, GND, TXD2, RXD2, RX01, TX01, and CSN. Mini Wi-Fi module with BK7231N chip on a board labeled CBL C9S.
    Attachments:
    • TX01Log.txt (1.44 KB) You must be logged in to download this attachment.
    • CurtainSwitch.debug.txt (6.26 KB) You must be logged in to download this attachment.
  • ADVERTISEMENT
  • #2 20907667
    p.kaczmarek2
    Moderator Smart Home
    Welcome to forum. So, how does your flashing circuit look like? Even long wires may interfere with flashing.
    Have you tried swapping RX with TX?
    Helpful post? Buy me a coffee.
  • #3 20909106
    dawsonlebrown
    Level 3  

    Thanks for the welcome and the quick reply!

    Yes, I've tried swapping TX/RX, but considering that when the pin marked TX01 is connected to RX on my UART connector, I am able to get log dumps, I'm pretty sure that I've identified the correct pairing.

    Here's a photo of my latest flashing setup. Considering your suggestion of the length of wires, I soldered some very short wires (about 8cm long) for the RX/TX pair - I don't imagine the length of wires is a factor for the 3.3/GND wires, so to avoid unnecessary soldering, I've left them as is with the pogo pins. Even with these shorter wires, I'm getting the same results as with the longer wires and pogo sticks.
    Microcontroller flashing setup with short wires.
    Damn, just after taking the photo, the wire soldered to the RX pad tore off the module, taking the pad with it😖 so I guess I won't be able to test any other suggestions 😒

    I've successfully flashed about 10 devices with this setup. For the first few, I soldered longer (about 15cm) wires to the boards, and for the latest, with pogo pins and so, no soldering. This CBL C9S is the second module I've been unable to get into flash mode, the other being a CB2S in a "Mini smart switch".
  • #4 20909580
    p.kaczmarek2
    Moderator Smart Home
    Is there any good 3.3V LDO on the UART to USB converter you are using? I saw you mentioned you power it in a better way, but I can't see that. As I said just few minutes ago in another thread, you need to have a good 3.3V power supply for flashing, otherwise it will not work. It has to be something like AMS1117-3.3V, you can't just use 3.3V pin from cheap USB to UART converter.

    Have you watched any of our BK7231 flashing tutorials on Youtube?
    https://www.youtube.com/@elektrodacom
    We just have a lot of them.
    This playlist (look for BK7231):
    https://www.youtube.com/watch?v=L6d42IMGhHw&list=PLzbXEc2ebpH0CZDbczAXT94BuSGrd_GoM

    Or if you are powering it correctly, then maybe you forgot to connect the common ground? Power supply GND should connect to USB to UART converter GND.

    You can also try using the USB to UART converter that I am using. I had few reports saying that using different USB to UART converter helped.

    How bad is the pad damage? Is there still a trace?
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #5 20909627
    dawsonlebrown
    Level 3  

    It is a cheap USB UART converter, but I have successfully flashed all but one of the devices which I've successfully flashed with the 3V3/GND from the converter. For the one device which it didn't supply enough power, I used my bench power supply (2A max) - voltage set to 3.3, and, yes I tied the grounds together.

    I tried both doing just with the converter's power, with just the power supply - and with both together in parallel.

    The pad damage is pretty bad - even a bit of the trace leading up to the pad is gone. I could try putting the pogo stick directly on pin 26 of the BK7231N on the module, but it would be difficult to be sure that I have actually hit the right pin, if any at all.

    Yep, I've watched a bunch of your videos, but haven't found anything in your vids or elsewhere online for this specific module. Its not even listed it its EXACT configuration on Tuya developer portal As I mentioned in my first post, it is similar to, but not identical to the CBL C9 - mine has an S at the end and the pad positions are different to those shown on the website. I wonder if Tuya have modified the module somehow to protect it from being reflashed?
  • Helpful post
    #6 21288183
    divadiow
    Level 38  
    I have pretty much the same device but in black and the model is marked as QS-WIFI-CP03 - I didn't know CBLC9S modules were a thing

    Dismantled Wi-Fi Curtain Module QS-WIFI-CP03.

    Image of an electronic module with components on a green printed circuit board. Electronic module with capacitors and screw terminals on a blue background. Electronic module with various components, including capacitors and a relay. Close-up of an electronic module on a green printed circuit board. Image of a printed circuit board with electronic components. Electronic module with soldered components and screw terminals. Electronic circuit with capacitors and relays on a green PCB.

    here is the boot log from TXD2
    Code: Text
    Log in, to see the code


    Attached is unpaired factory firmware - V2.0.1 - Cloudcutter profiles - https://github.com/search?q=repo%3Atuya-cloud...er.github.io%20uoa3mayicscacseb&type=code

    config in binary after pairing to Tuya app
    Code: JSON
    Log in, to see the code


    Device update screen showing no updates available. Module versions are V2.0.1. App interface for controlling a curtain switch. Curtain control app with a pause button, a curtain slider, and bottom screen options. App screen for adding a device, showing a detected curtain switch labeled Curtain switch and an option to manually add various types of sockets.
    Attachments:
    • readResult_BK7231N_QIO_2024-03-11-16-26-36.bin (2 MB) You must be logged in to download this attachment.
  • ADVERTISEMENT
  • #8 21351411
    GAAD
    Level 17  
    Hi
    I have something similar: WiFi Curtain Module Model: QS-WiFi-CP03.
    Back of the QS-WiFi-CP03 WiFi Curtain Module with specifications Photo of an electronic module with capacitors and relays on a green circuit board.

    Another module inside:

    Electronic module with fjkw/9.22 marking and wires

    I flashed it
    Built on Dec 15 2024 08:09:38 version 1.17.800
    Short name: Roleta_6, Chipset BK7231N
    I didn't make a backup because there was a CRC error. Baud rate: 921600

    My configuration:
    
    {
      "vendor": "Tuya",
      "bDetailed": "0",
      "name": "Full Device Name Here",
      "model": "enter short model name here",
      "chip": "BK7231N",
      "board": "TODO",
      "flags": "1156",
      "keywords": [
        "TODO",
        "TODO",
        "TODO"
      ],
      "pins": {
        "6": "Btn;1",
        "8": "Btn;2",
        "9": "Rel;1",
        "23": "Btn;0",
        "24": "Rel;2"
      },
      "command": "",
      "image": "https://obrazki.elektroda.pl/YOUR_IMAGE.jpg",
      "wiki": "https://www.elektroda.com/rtvforum/topic_YOUR_TOPIC.html"
    }
    


    It works fine with the configuration from @rodionzhitomirsky in this thread:
    https://www.elektroda.com/rtvforum/topic4015497.html#20910126

    Thanks for your work
    Wojtek
  • ADVERTISEMENT
  • #9 21351571
    divadiow
    Level 38  
    That's an interesting module.

    It's a shame about the backup CRC :(

    Do you have a partial file still or was nothing saved at all?
  • #10 21352410
    GAAD
    Level 17  
    The first one probably suffered a bit during the flashing attempts. The second one I copied the content. Here it is:
    Attachments:
    • readResult_BK7231N_QIO_QSWIFICP03_2024-16-12-23-54-48.bin (2 MB) You must be logged in to download this attachment.
  • #12 21352709
    GAAD
    Level 17  
    I will disassemble and program one more unit, if necessary I will take a better photo.
    Close-up of a green circuit board with various electronic components.

Topic summary

✨ The discussion centers on difficulties flashing a Mini Wi-Fi Curtain Module featuring a BK7231N chip on a "CBL C9S" module, which differs slightly from the CBL C9. The user can obtain debug logs via the TX02 port but cannot enter flash mode through the TX01/RX01 interface despite attempts such as grounding the CEN pad and power cycling. Power is supplied at 3.3V from an external source or USB-UART converter, with grounds tied together. Wire length and correct RX/TX pairing were verified, and the user has successfully flashed similar devices before. Pad damage on the module complicates direct pin access. Suggestions include ensuring a stable 3.3V supply (preferably via a dedicated LDO like AMS1117-3.3V), confirming common ground connections, and possibly using a different USB-UART adapter. Other contributors shared images and boot logs of similar devices, including a black QS-WIFI-CP03 model, and noted the device is listed by Tuya as "WIFI+BLE Curtain Module (CBU)." Firmware version 1.0.6 supporting cloud cut functionality was referenced. The module may originate from Shenzhen Lingan Intelligent Technology Co., Ltd. Despite CRC errors during backup attempts, flashing was achieved on similar units. The discussion includes references to OpenBeken firmware, BK7231Flasher tool, and related flashing tutorials.
Generated by the language model.

FAQ

TL;DR: 3.3V supply quality decides success; "you need to have a good 3.3V power supply for flashing." Use an AMS1117-based LDO, cross RX/TX, and tie grounds to fix BK7231N "can't enter flash mode" issues. [Elektroda, p.kaczmarek2, post #20909580]

Why it matters: This helps DIYers flashing CBL C9S/QS‑WIFI‑CP03 curtain modules solve stubborn UART boot/flash errors fast.

Quick Facts

How do I wire BK7231N on CBL C9S/QS‑WIFI‑CP03 for UART flashing?

Power the module with 3.3V to VCC and GND to GND. Cross-connect TX01 on the module to your USB‑UART RX, and RX01 to TX. Use TX02 only for reading boot/debug logs, not for flashing. [Elektroda, dawsonlebrown, post #20907548]

Why does BK7231Flasher show “Getting bus failed. will try again”?

Unstable power is the top cause. Use a proper 3.3V LDO (e.g., AMS1117‑3.3V) instead of the USB‑UART’s 3.3V pin, and ensure PSU and USB‑UART grounds are tied. Try a different USB‑UART if needed. “You need to have a good 3.3V power supply for flashing.” [Elektroda, p.kaczmarek2, post #20909580]

Should I swap RX and TX or shorten wires?

Yes. Swap RX and TX if the flasher cannot sync. Keep the UART leads short because long wires can interfere with flashing and corrupt the handshake. This simple change often fixes connection errors. [Elektroda, p.kaczmarek2, post #20907667]

Where will I see logs if the module boots normally?

You should see Tuya/BLE/Wi‑Fi boot logs on TX02. You can also get a log on TX01 if you reboot with the CSN pad held low, but that does not guarantee flash mode. [Elektroda, dawsonlebrown, post #20907548]

What baud rate should I use with OpenBeken on QS‑WiFi‑CP03?

One user flashed QS‑WiFi‑CP03 at 921600 baud successfully. If your adapter or wiring is marginal, consider testing lower baud rates, but 921600 has been shown working. [Elektroda, GAAD, post #21351411]

Can I avoid soldering by using Tuya Cloudcutter?

For QS‑WIFI‑CP03, firmware v1.0.6 is Cloudcuttable. Tuya lists it as “WIFI+BLE Curtain Module (CBU).” Verify your exact firmware version before proceeding with Cloudcutter. [Elektroda, divadiow, post #21352498]

Why do I get a backup CRC error when dumping firmware?

A user reported a CRC error during backup on QS‑WiFi‑CP03, then proceeded to flash. That means the backup may be unusable, so you might not be able to restore factory firmware later. Consider extracting from another unit first. [Elektroda, GAAD, post #21351411]

I ripped the RX pad off the module—what now?

If the RX pad and trace are torn, testing becomes difficult. The user stopped after the pad lifted, highlighting the risk. Accessing the corresponding BK7231N package pin directly is possible but delicate and error‑prone. [Elektroda, dawsonlebrown, post #20909106]

Do I need a common ground between my PSU and USB‑UART?

Yes. Tie the ground of your external 3.3V power supply to the USB‑UART ground. Without a common reference, the bootloader handshake will fail even with correct wiring. [Elektroda, p.kaczmarek2, post #20909580]

Is the CBL C9S different from the CBL C9 in Tuya docs?

Yes. The CBL C9S variant has pad positions that differ from what Tuya’s portal shows for CBL C9 and may not be listed exactly. This led to confusion when mapping pins. [Elektroda, dawsonlebrown, post #20909627]

What should I see on TXD2 during pairing or AP mode?

Expect BLE advertising and the module starting a SoftAP like “SmartLife‑xxxx.” Logs also show the region set to CN and channels 1–13 for Wi‑Fi. This confirms normal boot and pairing readiness. [Elektroda, divadiow, post #21288183]

How do I try to enter flash mode with BK7231Flasher (3 steps)?

  1. Wire 3.3V to VCC and GND to GND; connect TX01↔RX and RX01↔TX.
  2. Start BK7231Flasher and begin the backup/flash process.
  3. Reset the chip by pulling CEN to GND briefly or power‑cycling, then retry the connection. [Elektroda, dawsonlebrown, post #20907548]

Could the host board be blocking UART pins?

The module was desoldered to eliminate interference concerns, but flashing still failed. That points back to power quality, grounding, or boot‑strap timing rather than host MCU conflicts. [Elektroda, dawsonlebrown, post #20907548]

Who makes the odd module variant seen in some units?

Community cross‑references suggest it may be from Shenzhen Lingan Intelligent Technology Co., Ltd, based on similar markings discussed in related threads. [Elektroda, divadiow, post #21370134]

Is paralleling a bench 3.3V with the USB‑UART’s 3.3V a good idea?

A user tried powering from the USB‑UART, from a 3.3V bench supply set with 2A max, and both in parallel. It did not solve flashing. Choose one stable supply and focus on clean wiring and timing. [Elektroda, dawsonlebrown, post #20909627]

Do you have a working OpenBeken pin template for QS‑WiFi‑CP03?

Yes. One shared config maps P6 Btn1, P8 Btn2, P9 Relay1, P23 Btn0, and P24 Relay2. This setup worked after flashing BK7231N with OpenBeken. [Elektroda, GAAD, post #21351411]
Generated by the language model.
ADVERTISEMENT