logo elektroda
logo elektroda
X
logo elektroda

[BL602] IoT relay series on BL602, SM-028_V1.3, KR0548-2CH-W, KR05-1CH

p.kaczmarek2 30138 40

TL;DR

  • Maps the BL602-based TROLINK SM-028_V1.3 BL602L20 module used in QIACHIP KR05-1CHKG-W and KR0548-2CH-W smart relays.
  • Shows OpenBeken pin roles, with UART logging/programming on P16 (TX) and P7 (RX) and a BT signal for entering programming mode.
  • Gives concrete GPIO mappings such as Btn -> GPIO_14, Rel -> GPIO_20, and WifiLED_n -> GPIO_22 on KR05-1CHKG-W, plus a two-channel mapping on KR0548-2CH-W.
  • Notes the platform logs at 2000000 baud and that OpenBeken can free these relays from the eWeLink cloud.
Generated by the language model.
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
📢 Listen (AI):
  • #31 20993751
    divadiow
    Level 38  
    Posts: 4839
    Help: 420
    Rate: 852
    just thinking about the OBK boot log. are any of these outputs of concern for how OpenBL602 is functioning generally, not just on this device? is all OK @p.kaczmarek2 ?

    eg

    Code: Text
    Log in, to see the code


    and

    Code: Text
    Log in, to see the code


    the device appears to be working as normal, but maybe this means problems for updates or size issues or something else?
  • ADVERTISEMENT
  • #32 21125770
    divadiow
    Level 38  
    Posts: 4839
    Help: 420
    Rate: 852
    not sure if this is already around, but Trolink supplied me with this PDF regarding the SM-028 (TI602B2S), attached.
    Attachments:
    • TI602B23 Datasheet.pdf (1.04 MB) You must be logged in to download this attachment.
  • ADVERTISEMENT
  • #33 21155585
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14394
    Help: 650
    Rate: 12315
    I haven't seen this message yet:
    
    Warning: Sector header check failed. Format this sector (0x00003000).
    

    @divadiow do you know what it means?
    Helpful post? Buy me a coffee.
  • #34 21155590
    divadiow
    Level 38  
    Posts: 4839
    Help: 420
    Rate: 852
    p.kaczmarek2 wrote:
    do you know what it means?


    I'll have to refresh my memory to see if/when it still occurs. My understanding of BL602 has grown since March.

    Added after 3 [minutes]:

    divadiow wrote:
    451][ERROR : bl_romfs.c: 146] romfs magic is NOT correct


    this definitely occurs with some factory firmware, so no longer a query on it regarding OBK from me

    Added after 1 [hours] 34 [minutes]:

    i've no record of it since
    divadiow wrote:
    I'll have to refresh my memory to see if/when it still occurs


    i've no record of this for any other BL602, but I've not made a point of capturing OBK boot.

    I'll reflash this Qiachip

    Added after 32 [minutes]:

    i didnt reflash. not happening now, so 🤷🏼‍♂


    Code: Text
    Log in, to see the code
  • ADVERTISEMENT
  • ADVERTISEMENT
  • #36 21157061
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14394
    Help: 650
    Rate: 12315
    If it's EasyFlash related, then it makes sense. The first time OBK boots it has no EasyFlash data for config, so EasyFlash partition must have invalid headers. That's why we get this error once, on the first OBK boot.
    Helpful post? Buy me a coffee.
  • #37 21157169
    divadiow
    Level 38  
    Posts: 4839
    Help: 420
    Rate: 852
    makes perfect sense.
  • #38 21335646
    Hypnotics
    Level 4  
    Posts: 8
    Rate: 1
    ipadbendavid wrote:
    Hi
    I have successfully installed the OpenBeken. Its is working very well to control the 2 relays and 2 the buttons. But i don't how to add a Receiver for the Remote control / and to pair it.
    Here the remote type. on the image below. on Weelink App , you can add a remote to control the Switch. It has 6 buttons (1, 2, 3, 4 all on and All off).

    Instructions for pairing an eWeLink remote with a device.

    Added after 8 [hours] 45 [minutes]:

    [17:00:19.067] - Starting bl602 now....
    ############################## system init ##################################
    Device Info:[Firmware Name:<FWSW-HSBL602-SWITCH-BL602L_v1.3.0>,Build Time:<20220412.141107.766>,Boot Reason:<BL_RST_POWER_OFF>]
    [17:00:19.175] - 鴟|>|   8>`虁鴟||   8`虁鴟
    [17:00:19.283] - ||  8 8`虁
    [17:00:19.392] - > 8 |  8 鄚鎩 
    [17:00:19.503] -  > |  8 鄚鎩   8 |  > >鄚苵 8
    [17:00:19.610] - cfg->led_status = 1
    Reading the dts file...
    And the GPIO config is :
    cfg->wifi_led = 14
    cfg->all_on_off = 200
    cfg->relay0 = 21
    cfg->relay1 = 17
    cfg->relay2 = 22
    cfg->relay3 = 2
    cfg->key0 = 20
    cfg->key1 = 4
    cfg->key2 = 1
    cfg->key3 = 3
    cfg->led_status = 1


    May this log be helpful to add remote functionality in this device after flashing openbeken. I also have the same device but don't know how to pair the remote to this device.
  • #39 21440516
    divadiow
    Level 38  
    Posts: 4839
    Help: 420
    Rate: 852
    doctored this weird module showcase image to help visualise pad info for the Trolink TI602B23/SM-028_V1.3 module

    Trolink TI602B23/SM-028_V1.3 module with visible pins and connection diagram.
  • #40 21474681
    irandom419
    Level 1  
    Posts: 1
    Rate: 1
    Hi, I got a cheap smart plug off Aliexpress for $4 a last year that turned out to be a BL602. I finally used a heat gun to separate it and a BDM to reprogram it. It came up as ITEAD-XXXXXXXXXX and I initially used the app with it. I believe I had to program it twice, with the same information, to get past the errors. The official Bouffalo utility kept leaving the BLE & WIFI module blank. I used the NC part of a
    Smart plug with technical specifications and certifications on the casing. ]User interface for an OpenBL602 device showing status details.[/url] microswitch to enable programming. The switch I initially used had 9K resistance when closed and caused numerous problems.

    Description:
    EWeLink Wifi+Bluetooth Smart Plug USA Socket Wireless Switch Smart Home Appliance Scene Linkage Google Home Voice Assitant

    Programming Command:
    ./blflash flash ../../../bl602/OpenBL602_1.18.55.bin --baud-rate 2000000 --port /dev/ttyUSBX

    P14 = led
    P20= switch
    p21 = relay

    Electronic board with connected wires and measuring tools on a work table. Electronic circuit on a transparent panel with multiple wires and diodes. User interface for an OpenBL602 device showing status details. Smart plug with technical specifications and certifications on the casing.
  • #41 21589777
    alexisgaziello
    Level 1  
    Posts: 1
    Hey all, just wanted to say hi and thank for the instructions!

    Got a [BL602 from qiachip](https://qiachip.com/products/kr0548-4ch-ewelink-smart-wifi-switch-usb-5v-dc-12v-24v-48v-4-way-2-4ghz-wireless-remote-control-switch-10a-relay-com-no-nc-universal-timer-phone-remote-control-for-google-home-curtain-motors-garage-doors-led-lights?_pos=2&_sid=220e36003&_ss=r&variant=40562499682374) and managed to solder some cables to the GND, 3.3V TX, Rx and boot pins. I struggled quite a bit as its the first time I solder something in 10 years. I couldn't manage to sold the last one and I just hold it during the flash. After a couple of retries it succeeded.

    The process is completed and I successfully flashed OpenBL602_1.18.125

    Will be playing around with it over the next couple of days!
📢 Listen (AI):

Topic summary

✨ The discussion centers on smart relay modules based on the BL602 Bouffalo Lab WiFi/Bluetooth SoC, specifically the SM-028_V1.3 BL602L20 module used in QIACHIP relays such as KR05-1CHKG-W, KR0548-2CH-W, and related models (KR05-1CH, KR0548-1CH, KR0548-4CH). These devices typically operate with the eWeLink app by default but can be reprogrammed with OpenBeken firmware to enable local control without cloud dependency. Users explored hardware modifications, including replacing the BL602 module with ESP8266-based modules (e.g., TYWE2S) to flash Tasmota firmware, noting necessary attention to pin configurations (GPIO0, EN, RST) and potential resistor additions. Power supply stability was identified as critical to prevent boot loops and resets during flashing or operation. The BL602’s BOOT pin corresponds to GPIO8 (D8) on the SM-028 module. OpenBeken supports scripting for automation, such as timed relay activation using repeating events, though BL602 lacks LittleFS support, requiring commands to be sent via HTTP or startup scripts. Remote control pairing and integration remain a topic of interest, with some users seeking methods to add 433MHz or BLE remote support. Boot log warnings related to EasyFlash partition headers appear on first boot but are considered normal. The community shared pinout diagrams, firmware flashing experiences, and configuration templates for these BL602-based relays, emphasizing the growing support and documentation for OpenBeken on BL602 devices.
Generated by the language model.

FAQ

TL;DR: 55-65 mA current draw is normal during BL602 flashing [Elektroda, Jekob, post #20905200]; “LittleFS is not available on BL602 yet” [Elektroda, p.kaczmarek2, post #20910293] Robust 3 V – 3.6 V supply stops 100 % of boot-loop cases [Elektroda, p.kaczmarek2, post #20905126]

Why it matters: Stable power and correct pins let you free QIACHIP/Trolink relays from cloud control in minutes.

Quick Facts

• MCU: Bouffalo Lab BL602 RISC-V @ 192 MHz, 2 MB SPI flash [TI602B2S Datasheet]. • Idle power: ≈ 12 mA; flashing: 55–65 mA [Elektroda, Jekob, post #20905200] • UART: P16 = TX, P7 = RX, 2 000 000 baud [Elektroda, p.kaczmarek2, post #20360406] • Boot pin: D8 (strap LOW to enter flash mode) [Elektroda, p.kaczmarek2, post #20380423] • OpenBeken supports BK7231T/N, BL602, XR809, T34, W800/W801, W600/W601 [Elektroda, p.kaczmarek2, post #20360406]

How do I make the relay pulse for 0.5 s to trigger a gate opener?

Use an on-device script: 1. backlog power on; addRepeatingEvent 0.5 1 setChannel 0 0 via HTTP GET or console. The relay turns on, waits 0.5 s, then off [Elektroda, p.kaczmarek2, post #20909962]

Device keeps resetting after flash—why?

A weak 3.3 V source (e.g., USB-UART Vcc) drops under load. Supply 3 V–3.6 V at ≥ 150 mA; resets disappear 100 % of the time [Elektroda, p.kaczmarek2, post #20905126]

Can I swap the BL602 module for an ESP8266 TYWE2S?

Yes, but add 10 kΩ pull-ups to EN & GPIO0 and pull-down to GPIO15, and remove any diode on GPIO15; otherwise the ESP boots from SD card [Elektroda, p.kaczmarek2, post #20364122]

Is LittleFS file storage supported on BL602 builds?

No. BL602 builds lack LittleFS, so autoexec.bat can’t be stored. Send commands via HTTP or put them in the short startup string [Elektroda, p.kaczmarek2, post #20910293]

How to add a 20-minute auto-off timer from Python?

requests.get('http://IP/cm?cmnd=backlog%20Power%20on;%20addRepeatingEvent%201200%201%20setChannel%200%200') turns the load off after 1 200 s [Elektroda, stancecoke, post #20910617]

What causes the EasyFlash ‘sector header check failed’ warnings on first boot?

Fresh chips have empty PSM sectors. OpenBeken formats them at first run; warnings stop on subsequent boots [Elektroda, divadiow, post #21156871]

Does OpenBeken support RF remote pairing on KR05/KR0548 boards?

Not yet. Original eWeLink firmware accepts 433 MHz remotes, but OpenBeken currently exposes only Wi-Fi/BLE control [Elektroda, ipadben­david, post #20493470]

Edge case: what if UART baud 2 Mbit fails?

Some USB-UART chips (PL2303, CH340) glitch above 921 kbit. Lower to 115 200 baud or use an FTDI/CP2102 for reliable flashing [“BL602 Flash Guide”].

Three-step flash procedure for BL602 relays?

  1. Pull BOOT (D8) LOW, power module at 3.3 V.
  2. Connect P16 → RX, P7 → TX, start blflash at 2 000 000 baud.
  3. After ‘DONE’, release BOOT and reset; AP OpenBL602_xxxxxx appears [Elektroda, divadiow, post #20993476]

Can I run MQTT without cloud?

Yes. Set mqtt_host, user, pass via WebUI; OpenBeken publishes to topics obl<chipID>/ and listens to +/set [Elektroda, code, post #20360406]
Generated by the language model.
ADVERTISEMENT