logo elektroda
logo elektroda
X
logo elektroda

[BL602/BL0937] Yet another Smart Socket 20A (but 16A)

flobuljeedom 18690 117

TL;DR

  • An Aubess smart plug from AliExpress uses an SM-028_V1.3 board with a BL602L02 chip and BL0937 power-monitoring IC.
  • The module was flashed with Bouffalo Lab Dev Cube through soldered FTDI232L connections on RX, TX, 3V3, and GND, with BT tied to VCC through 10 kΩ.
  • BL0937 CF1 connects to GPIO3, CF to GPIO14, SEL to GPIO21, LED to GPIO20, relay to GPIO2, and button to GPIO17.
  • Wi‑Fi setup succeeded after flashing, but the web app still shows zero power values, suggesting the BL0937 driver or HAL interrupt handling is still incomplete.
Generated by the language model.
ADVERTISEMENT
📢 Listen (AI):
  • I bought a Smart Plug from Aliexpress: https://fr.aliexpress.com/item/1005005790622741
    They are named Aubess on the website, but not on the packaging or on the socket.

    Smart plug and its packaging from AliExpress. Smart plug and its packaging on a dark surface.

    Easy to open with pliers.
    Dismantled Smart Plug with visible circuit board.

    Contains an SM-028_V1.3 with a BL602L02 chip.
    Close-up of SM-028_V1.3 circuit board in a smart plug with two metal prongs.
    And BL0937.
    Close-up of the interior of a smart plug showing the circuit board and electronic components.

    I soldered cables in the back of the SM-028_V1.3 between:
    SM-028_V1.3 RX -> FTDI232L TX
    SM-028_V1.3 TX -> FTDI232L RX
    SM-028_V1.3 3V3 -> FTDI232L VCC (on 3V3)
    SM-028_V1.3 GND -> FTDI232L GND
    SM-028_V1.3 BT -> to a 10Kohm to VCC

    And flashed it with Bouffalo Lab Dev Cube
    Firmware flashing interface of Bouffalo Lab Dev Cube software

    Then I disconnected all wires, remounted the socket, and put it on the plug.
    And TADA! I entered my SSID and password and rebooted it.

    Smart plug application interface on computer screen

    I checked the circuit wiring on the PCB between BL0937 and BL602:
    BL0937 CF1 -> BL602 GPIO3
    BL0937 CF -> BL602 GPIO14
    BL0937 SEL -> BL602 GPIO21
    LED -> BL602 GPIO20
    Relay -> BL602 GPIO2
    Button -> BL602 GPIO17

    (don't bother yet to check the LED and button) => TODO

    But once configured, nothing showed up in the Web app (all values are zero)
    Screenshot of OpenBL602 user interface displaying power data.

    Current working template :
    Code: JSON
    Log in, to see the code

    I saw some discussions about the BL0937 driver on BL602 not working because of HAL interrupt falling edge counter.
    Is it already implemented?

    Cool? Ranking DIY
    About Author
    flobuljeedom
    Level 8  
    Offline 
    flobuljeedom wrote 17 posts with rating 116, helped 1 times. Live in city Paris. Been with us since 2023 year.
  • ADVERTISEMENT
  • #2 20858308
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    Sadly the interrupt counter for BL0937 is still missing. I think there is an unfinished version:
    https://github.com/openshwprojects/OpenBK7231T_App/pull/862
    Btw, can you also post a template for this device from the Web App?
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #3 20858324
    flobuljeedom
    Level 8  
    Posts: 17
    Help: 1
    Rate: 116

    I just updated the post with template and finals BL602 GPIO.
  • #4 20879349
    flobuljeedom
    Level 8  
    Posts: 17
    Help: 1
    Rate: 116
    >>20858308
    Thanks for the info.

    I tried correcting it, but I am not competent enough in C to include those changes.
  • #5 20919173
    miegapele
    Level 16  
    Posts: 173
    Help: 15
    Rate: 29
    Got what looks like very similar socket, only button is on other pin, managed to solder and flash ( only destroyed one). Trying to add bl0937 support
  • ADVERTISEMENT
  • #6 20919182
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    I saw a PR, but is it working? I don't even have that kind of socket to check. Hmm
    Helpful post? Buy me a coffee.
  • #7 20919188
    miegapele
    Level 16  
    Posts: 173
    Help: 15
    Rate: 29
    No it's not, doesn't even compile, but I got builds working on my fork, so trying to make it work
  • #8 20919278
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    It seems you are getting errors like:
    
    /home/runner/work/OpenBK7231T_App/OpenBK7231T_App/sdk/OpenBL602/customer_app/bl602_sharedApp/bl602_sharedApp/shared/src/driver/drv_bl0937.c:155:9: error: implicit declaration of function 'hal_gpio_register_handler' [-Werror=implicit-function-declaration]
             hal_gpio_register_handler(HlwCf1Interrupt, GPIO_HLW_CF1, GPIO_INT_CONTROL_ASYNC, GPIO_INT_TRIG_NEG_LEVEL, (void*) NULL)
    

    You can search for this function name here:
    https://github.com/search?q=repo%3Aopenshwpro...enBL602%20hal_gpio_register_handler&type=code
    It seems that you need to include this header:
    
    components/hal_drv/bl602_hal/hal_gpio.h
    
    Helpful post? Buy me a coffee.
  • #9 20919393
    miegapele
    Level 16  
    Posts: 173
    Help: 15
    Rate: 29
    Yes added that to try, but nothing happens, values always zero. No sure what else to try, could it be that some pin mapping is required like in W600?
  • #10 20919426
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    Here is pins code for BL602:
    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/src/hal/bl602/hal_pins_bl602.c
    From what I can see, there are no pin mappings there.

    So, are you sure that those functions:
    Code: C / C++
    Log in, to see the code

    are not called?

    Here is some random code from SDK:
    Code: C / C++
    Log in, to see the code

    They are using bl_gpio_enable_input first, maybe you can try that?
    Helpful post? Buy me a coffee.
  • #11 20919448
    miegapele
    Level 16  
    Posts: 173
    Help: 15
    Rate: 29
    bl_gpio_enable_input should already be called from the driver via HAL_PIN_Setup_Input_Pullup(GPIO_HLW_CF1);
  • #12 20919519
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    Wait a minute. I had a report that during last few updates OTA has broken. Is BL602 OTA working for you? It would mean that we need to reduce BL602 binary again.
    Helpful post? Buy me a coffee.
  • #13 20919536
    miegapele
    Level 16  
    Posts: 173
    Help: 15
    Rate: 29
    It is working, but seems not 100% reliably. Sometimes I got starting OTA... and nothing happened, but after few retries it worked. This is with builds from my branch.
  • #14 20919561
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    Can you print the values of variables increased in the interrupt? Are they really not changing?

    Have you set correct GPIO for the CF and CFI pins?

    Are variables set as volatile?
    Helpful post? Buy me a coffee.
  • #15 20919632
    miegapele
    Level 16  
    Posts: 173
    Help: 15
    Rate: 29
    Actually made some progress with latest try. Now getting some values at least :)
    [BL602/BL0937] Yet another Smart Socket 20A (but 16A)
    So hopefully it's now just wrong pins somewhere.
    Will continue tomorrow.

    But the OTA is real problem it seems with latest try, I had a lot of trouble to upload. Tried various things, tried downgrading, until finally it worked. But took like 20 tries or more
  • #16 20919656
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    I suspect it;'s caused by too large flash binary, but I am not sure. I will try to reduce the size by stripping features that are not useful on BL602:
    https://github.com/openshwprojects/OpenBK7231T_App/pull/1044
    Can you try if binaries from my PR works better for you, once it compiles fine?
    Helpful post? Buy me a coffee.
  • #17 20919936
    miegapele
    Level 16  
    Posts: 173
    Help: 15
    Rate: 29
    Good news, got it working. Now there is two things to solve here, I think these long sdk includes should not be here, it should be moved to HAL layer I think. However, not sure how interrupt stuff for BK0931 and W600 works, looks to be included by some magic.
    Another issue is that there is no way in sdk to proper "shutdown" pins. Interrupt can be disabled, but it will still leave handler registered, and taking memory, we could add something like hal_gpio_unregister_handler to sdk, but not sure...
    Screen displaying power data for the OpenBL602_4C44B4D5 device.

    Regarding that reduced size update, it only reduces memory by like 1kb, is that right?
    I tried, but I'm not sure how it should work, if I have reduce memory version, any other version seems to install better, but still like only half the time. If I have any other version installing reduce memory version is almost always troublesome.
  • #18 20920330
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    That's very good news, nice job.

    miegapele wrote:

    Another issue is that there is no way in sdk to proper "shutdown" pins. Interrupt can be disabled, but it will still leave handler registered, and taking memory, we could add something like hal_gpio_unregister_handler to sdk, but not sure...

    We have source for register function, it seems to be using a linked list:
    Code: C / C++
    Log in, to see the code


    miegapele wrote:

    Regarding that reduced size update, it only reduces memory by like 1kb, is that right?[/url]

    That's for a start, I need to think about it what else can we strip, do you have any ideas?

    I have merged your PR, if you have any improvements, please open another one.
    Helpful post? Buy me a coffee.
  • #19 20920451
    miegapele
    Level 16  
    Posts: 173
    Help: 15
    Rate: 29
    Is the binary size really the issue here, seems little bit strange, because it should never work if there is not enough space. Now it works sometimes, so maybe actual ram use is the issue?
    Also, is there flash layout described somewhere, binary looks to be 800kb, while full flash is 2mb, so should still fit.
  • #20 20920505
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    I'm just speaking from experience. We had OTA issue back then:
    https://github.com/openshwprojects/OpenBK7231T_App/issues/745
    It was solved by reducing binary size. Do you think the cause may be different today?
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #21 20920545
    miegapele
    Level 16  
    Posts: 173
    Help: 15
    Rate: 29
    I don't know, but it's strange. Where is OTA code for BL602? I'm unable to figure out how it works.
  • #22 20920764
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    Usually SDKs are doing OTA that requires setting up external HTTP server. It's problematic, so we decided to do it the other way, through the web browser.

    Our OTA wrapper is in the rest_interface.c file. Function is called:
    
    static int http_rest_post_flash(http_request_t* request, int startaddr, int maxaddr) {
    

    as it was used as generic flash access, but for most platforms it's OTA-only.

    There is a large #ifdef block per platform, but the concept is usually the same. OpenBeken receives a POST data (OBK is acting as HTTP server), and while receiving, the data is written to given space in flash memory.
    After the write is done, device is rebooted and the SDK code of Bouffallo labs finished the update.

    Maybe we could try to add a rtos delay here:
    
    		total += writelen;
    		startaddr += writelen;
    		towrite -= writelen;
    


    I know that OTA could be organized better, but you know, a larger change would require testing on all 5 or so supported platforms...
    Helpful post? Buy me a coffee.
  • #23 20921739
    miegapele
    Level 16  
    Posts: 173
    Help: 15
    Rate: 29
    Tried to look at the UART log for failed flash. It seems to always end with Flash takes 253. and then nothing until connection is reset.
    Does flash support such unaligned writes?

    [FW] Timer is past due to flash operation. Try to fix is shown also for sucesful writes, so probably ok.

    [20:56:11.130] - [MTD] >>>>>> Hanlde info Dump >>>>>>
          name FW
          id 0
          offset 0x000d8000(884736)
          size 0x00088000(544Kbytes)
          xip_addr 0x00000000
    [MTD] <<<<<< Hanlde info End <<<<<<
    Starting OTA test. OTA bin addr is 0x4202ab00, incoming len 623
    [OTA] [TEST] activeID is 0
    Starting OTA test. OTA size is 557056
    [OTA] [TEST] activeIndex is 0, use OTA address=000d8000
    [OTA] [TEST] Erase flash with size 557056...update mfg table.
    ====================
    ====================
    update mfg table.
    [20:56:12.920] - 
    -------------------[FW] Timer is past due to flash operation. Try to fix
    
    -------------------[FW] Timer is past due to flash operation. Try to fix
    
    -------------------[FW] Timer is past due to flash operation. Try to fix
    
    -------------------[FW] Timer is past due to flash operation. Try to fix
    Done
    Header takes 512. Flash takes 111. Info:MAIN:Time 132, idle 0/s, free 96352, MQTT 0(8), bWifi 1, secondsWithNoPing 61, socks 4/21 
    Flash takes 1022. Flash takes 1022. Flash takes 253.
  • #24 20922048
    hojnikb
    Level 12  
    Posts: 45
    Rate: 2
    Does anyone experience poor WiFi reception on these device? Out of 4 i currently have, all seems to work really poorly, unless they're in the same room as the WiFi router.

    Is this common with bl602 devices or are just my examples that poor?
  • #25 20923206
    flobuljeedom
    Level 8  
    Posts: 17
    Help: 1
    Rate: 116
    Nice job, @miegapele.
    Works like a charms now. Even RSSI is displayed.

    @hojnikb
    No issue so far for me.
  • #26 20923286
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    Maybe we could reduce the stress during OTA by trimming the extensive logging of every data chunk copied
    Helpful post? Buy me a coffee.
  • #27 20923430
    miegapele
    Level 16  
    Posts: 173
    Help: 15
    Rate: 29
    I am trying to add rtos_delay_milliseconds(10) so the ame place for BL602, to see if it helps. Logs are only to uart with print so should not matter.
  • #28 20923508
    hojnikb
    Level 12  
    Posts: 45
    Rate: 2
    flobuljeedom wrote:
    Nice job, @miegapele.
    Works like a charms now. Even RSSI is displayed.

    @hojnikb
    No issue so far for me.


    I think i might have found the issue. I had a pretty serious congestion on the channel those plugs were connecting. Other devices don't seem to care as much, but BL602 seems to be more sensitive to that. Once i've moved to a more free channel, the issue went away, hopefully for good.

    On a unrelated note;

    How to set the relay to be ON by default or at least ON when device is powerred on? On a power outage (or if you plug the thing in and out) the relay stays OFF, before you manually set it ON.
  • #29 20923585
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14589
    Help: 654
    Rate: 12611
    hojnikb wrote:

    How to set the relay to be ON by default or at least ON when device is powerred on? On a power outage (or if you plug the thing in and out) the relay stays OFF, before you manually set it ON.

    There are multiple ways to do it.
    1. via gui:
    Screenshot of the BK7231T_WB3S_WhiteStripWindows user interface for setting start values.
    2. via startup command - you can enter there something like:
    
    POWER ON
    

    or OBK syntax:
    
    setChannel 1 1
    

    3. via autoexec.bat scripting (similiar to startup command, but not available on BL602 yet)

    Added after 6 [minutes]:

    Btw, the same question is in our FAQ:
    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/faq.md

    Screenshot of OpenBK7231T project's FAQ documentation with questions and answers about device configuration.
    Helpful post? Buy me a coffee.
  • #30 20923793
    miegapele
    Level 16  
    Posts: 173
    Help: 15
    Rate: 29
    Tried various delays, but nothing helped, still not really reliable update. However i looks like if it fails it always fails after receiving 253 bytes, writing them, and then stuck receiving more.
    What is helping somewhat seems to be:
    1. Uploading immediately after first failure (but don't try third time, that usually crashes chip, and only way to recover is to reconnect power)
    2. Stopping logs seems to help too.

    Added after 1 [hours] 35 [minutes]:

    I do see RSSI is published only once, at boot. Ideally it should be published every minute or 5.
📢 Listen (AI):

Topic summary

✨ The discussion centers on a Smart Plug purchased from AliExpress, identified as an Aubess device with an SM-028_V1.3 board featuring a BL602L02 chip and BL0937 energy metering IC. Users successfully opened and flashed the device using FTDI232L and Bouffalo Lab Dev Cube tools. Challenges include incomplete BL0937 interrupt counter support, pin mapping uncertainties, and unstable OTA firmware updates on the BL602 platform. Various firmware builds and pull requests were tested to improve OTA reliability, including reducing binary size and modifying flash erase procedures. Watchdog timer implementation was a major focus to address device freezes and unresponsiveness, with a watchdog driver added and tested to enable automatic reboot on crashes. Some users reported inconsistent device freezes, sometimes with partial functionality (e.g., button still working), suggesting possible TCP socket or memory leaks. Discussions also covered relay default state on power-up, with solutions involving startup commands or hardware modifications to maintain relay state through reboots. WiFi reception issues were noted, attributed to channel congestion rather than hardware faults. Additional topics included difficulties opening the device casing without damage, and clarifications on device identification to avoid confusion with Zigbee models. The thread also references related devices and firmware versions, with community contributions to device templates and driver improvements. Overall, the conversation highlights ongoing development and troubleshooting efforts to stabilize BL602-based smart sockets with BL0937 metering, improve OTA updates, implement watchdog recovery, and enhance user experience with relay control and device reliability.
Generated by the language model.

FAQ

TL;DR: "All 5 devices are still available" after BL602 software-watchdog support. This FAQ is for BL602/BL0937 smart-plug owners who need one practical answer set for UART flashing, GPIO mapping, zero readings, OTA failures, and freeze recovery on SM-028_V1.3-class sockets. [#21032468]

Why it matters: These plugs can look identical outside but differ in button GPIO, OTA behavior, and crash recovery, so one wrong assumption can leave power metering at 0 or make the socket freeze.

Variant MCU/module Common button GPIO Best flashing path Typical issue in thread
SM-028_V1.3 smart plug BL602L02 17 UART + Bouffalo Dev Cube BL0937 stayed at 0 before interrupt support
RMC021 / similar BL602 plug BL602 / SM-028_V1.3 22 UART + OpenBeken/OpenBL602 Random freezes after minutes or hours
CB2S plug BK7231N Varies Use BK7231N firmware, not BL602 Wrong-thread / wrong-firmware risk
ESP8266 Tuya plug ESP8266 Varies OTA only if exploit works; otherwise UART Tuya-convert patched on older units

Key insight: The turning point was not the pin template alone. BL602 plugs started reporting BL0937 values reliably only after BL602-specific interrupt handling worked, and long-term usability improved further once chunked OTA erase and the software watchdog were added.

Quick Facts

  • The first confirmed SM-028_V1.3 wiring mapped BL0937 CF1 to GPIO3, CF to GPIO14, SEL to GPIO21, relay to GPIO2, LED to GPIO20, and button to GPIO17. [#20856171]
  • A later RMC021 template kept relay on GPIO2, CF1 on GPIO3, CF on GPIO14, LED_n on GPIO20, and SEL on GPIO21, but moved the button to GPIO22. [#21025378]
  • One BL602 OTA log showed the firmware partition at offset 0x000d8000 with size 0x00088000 or 544 Kbytes, while the incoming OTA size shown was 557056 bytes. [#20921739]
  • One power-stage repair check measured about 365 V on the BP2525 input, 5.2 V on its output, then only 1.8 V into LM1117 and 0.8 V out, indicating a board-side power problem rather than firmware alone. [#21026208]

How do I flash an SM-028_V1.3 smart plug with a BL602L02 over UART using an FTDI adapter and Bouffalo Lab Dev Cube?

Wire it as a 3.3 V UART job and boot the BL602 with BT pulled high through 10 kΩ. 1. Solder RX↔TX, TX↔RX, 3V3↔VCC, and GND↔GND between SM-028_V1.3 and the FTDI232L. 2. Connect BT to VCC through a 10 kΩ resistor. 3. Flash with Bouffalo Lab Dev Cube, then disconnect the wires, reassemble the plug, and enter Wi-Fi credentials in the web interface after reboot. [#20856171]

What GPIO template works for the BL602/BL0937 Smart Socket 20A or RMC021 plug, including relay, LED, button, CF, CF1, and SEL pins?

A working RMC021 template uses relay on GPIO2, BL0937 CF1 on GPIO3, CF on GPIO14, LED_n on GPIO20, SEL on GPIO21, and button on GPIO22. The startup command shown was startDriver BL0937; startDriver NTP; startDriver SSDP. That mapping produced working switching and metering on a BL602 socket sold as an eWeLink Smart WiFi Socket 20A with SM-028_V1.3 hardware. [#21025378]

Why do BL0937 readings stay at 0 on a BL602 smart socket even after flashing OpenBeken and setting the pin mapping?

They stay at 0 when BL602 does not count the BL0937 pulse interrupts yet. The thread explicitly states that the BL0937 interrupt counter on BL602 was still missing, so the web app showed only zeroes even after a correct-looking pin map and driver startup. In short, the template alone was not enough before BL602-side interrupt support existed. [#20858308]

What is the BL0937 energy metering chip, and how do its CF, CF1, and SEL pins interact with a BL602 in OpenBeken?

"BL0937" is an energy-metering IC that outputs pulse signals for electrical measurements, using separate logic pins instead of a digital bus. In this plug, CF1 went to GPIO3, CF to GPIO14, and SEL to GPIO21 on the BL602. OpenBeken then used those pulse lines plus the selector line to derive voltage, current, and power data from the socket hardware. [#20856171]

Why was BL0937 support on BL602 initially not working, and what interrupt-related changes were needed to make it report values?

It initially failed because the BL602 driver path was not actually counting incoming BL0937 pulses. The key change was to make the BL602 interrupt handlers fire for CF and CF1 so g_vc_pulses and g_p_pulses increased. The thread also points to BL602 GPIO interrupt setup, including hal_gpio_register_handler(...), and questions whether those handlers were being called at all. [#20919426]

Which button GPIO should I use on these BL602/BL0937 plugs when one board uses GPIO17 and another uses GPIO22?

Use the GPIO that matches your exact PCB revision, and switch to GPIO22 if GPIO17 leaves the button dead. A later user confirmed that after updating to OpenBL602_1.17.756_OTA.bin.xz.ota, the metering values were correct but the physical button still failed until Btn;1 was moved from GPIO17 to GPIO22. That makes GPIO22 the right fix for at least one later Tuya variant. [#21274357]

What is a software watchdog on BL602, and how does it help recover a smart plug that freezes and stops responding to web, ping, and MQTT?

"Software watchdog" is a recovery mechanism that reboots the MCU when normal code stops servicing a timer, giving a frozen device a chance to return without manual power cycling. In the thread, BL602 plugs later restarted with reboot reason BL_RST_SOFTWARE_WATCHDOG, and users reported that this kept previously freezing devices available. It does not cure the root bug, but it changes a hard freeze into an automatic reboot. [#21030199]

How can I make a BL602 smart plug restore the relay state after reboot or power loss using OpenBeken startup settings?

Set the relay start state to -1 in the OpenBeken Startup tab. That is the thread’s recommended retain-style setting for restoring the previous relay state after a reboot. It does not force permanent ON, but it tells the plug to come back in the last known state instead of always defaulting OFF. [#21064535]

Why does a BL602 plug still briefly cut power during a watchdog reboot even when the relay start state is retained?

It cuts power because the relay physically drops during the reboot window. One user measured the interruption as about half a second, and the reply was direct: there is no way to avoid that power interruption during this kind of restart. Retaining the start state restores the relay afterward, but it cannot keep mains continuous while the MCU reboots. [#21065227]

What caused unreliable OTA updates on BL602, and how did chunked flash erase improve OpenBeken OTA flashing stability?

The main OTA problem was slow flash erase blocking the HTTP update flow. A developer reported that once erase changed to chunks, OTA "now works very well." Earlier failures often stalled after receiving and writing a 253-byte chunk, which matched the theory that long erase operations were starving the connection rather than the image simply being too large. [#20944841]

Why does SetupEnergyStats make some BL602 smart sockets freeze exactly after the configured interval, and what should I check to debug it?

It points to a repeatable timer-triggered fault, not a random network issue. One user showed that SetupEnergyStats 1 60 60 froze the device after 59 seconds, while SetupEnergyStats 1 70 60 froze it after 69 seconds. First remove the command from Startup, then run it once manually, and capture the last serial or web log before the exact freeze time. [#20944817]

How can I troubleshoot a BL602 socket that freezes after minutes or hours even with only basic drivers like BL0937, NTP, or SSDP enabled?

Start by changing one variable at a time and watching whether the physical button still works. 1. Check free heap over time. 2. Note whether HTTP dies while the button still toggles the relay. 3. Test with fewer network-facing features to isolate the trigger. The thread suggests a possible TCP/HTTP allocation problem on BL602 when button control still works but the web server no longer answers. [#21026582]

BL602 vs BK7231N or ESP8266 in smart plugs — what differences matter for flashing method, stability, and firmware choice?

The chip family decides the firmware and often the flashing path. A CB2S module is BK7231N, not BL602, so BL602 firmware is the wrong choice for that hardware. ESP8266 plugs are different again; in the same discussion family, patched OTA routes left users needing soldered UART access. Verify the module name first, because identical-looking plugs can belong to completely different firmware ecosystems. [#21026358]

What is SSDP in OpenBeken, and how could SSDP-related traffic contribute to crashes or responsiveness issues on BL602 devices?

"SSDP" is a network discovery protocol that advertises devices on the local LAN, generating repeated multicast traffic during normal operation. In the thread, a developer recommended disabling the SSDP driver first because it "generates quite a lot of traffic," and that traffic was considered a plausible stress point for BL602 stability testing. It was not the only suspected cause, but it was an early isolation step. [#21025388]

What’s the safest way to open Aubess, Elivco, or LSPA9-style smart plugs without destroying the plastic housing before UART flashing?

Use a clamp-style twist method, or a pipe wrench if you do not have clamps. The thread explicitly recommends that approach as simpler and less destructive than random prying. It also notes that LSPA9-family plugs vary a lot in glue strength, so some units open easily while others feel almost plastic-welded. Slow, even force is safer than screwdriver levering. [#21139347]
Generated by the language model.
ADVERTISEMENT