logo elektroda
logo elektroda
X
logo elektroda

RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro

p.kaczmarek2 14340 7
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • LED strip with a controller and remote on a table.
    I will present here a three-color LED strip, offering control via WiFi and a remote control, model MWIR-RGB/SMD2835. I will test its compatibility with the Tuya and Magic Home applications, analyze its interior (including the 12V power supply from the set) and try to program the WiFi module inside. And note - it will not be ESP8266 or Beken. Will we be able to update the firmware? Let's check.

    Buying a kit
    I found the set under the slogan "5M SMD2835 Alexa Smart Home WIFI Controller APP Control Non-waterproof RGB LED Strip Light DC12V Christmas Decorations Clearance Christmas Lights - EU Plug" for about PLN 80:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    I chose the shipment from the Czech Republic, because then there are no problems with customs and I get the package after a few days.
    Some graphics from the offer:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro


    Kit contents
    Let's see what we got in the set:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    The set includes a power supply, a remote control, a strap, a strap controller, a tape to stick the controller (the strap itself is also on the adhesive tape), a goldpin connector to connect the strap with a possible extension.
    Charger:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    Instruction:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    Strap connection (do not confuse the orientation of the connector):
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    IR receiver location:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro

    Operation with IR remote
    The remote control has batteries, but it is protected against discharge in transport with foil. First remove it:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    I checked the operation of the remote control:
    - On and Off of course works (with a short on/off animation)
    - brightness change works
    - RGB colors work
    - the W button works, but it just lights up all three colors and has nothing to do with white
    - color mixes work, but as these LEDs are each color separately (these are not RGB LEDs, only green, red, blue are separately), it looks bad
    - animations work
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro

    Entering pairing mode
    After turning the power on and off three times, pairing starts. Suddenly, the channels are switched quickly, in sequence R, G, B.
    We then see that an open WiFi network is created for pairing:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro

    Trying to pair with the Tuya app
    The manufacturer requires you to use the Magic Home application, but I have most of the tested devices in the Tuya application, so I decided to try it first. Sometimes it happened to me that the devices were compatible between different applications. This is useful when we want to have one ecosystem and create scenarios, automations and control everything from one place.
    Unfortunately, Tuya does not detect this device:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro


    Pairing with the Magic Home app
    I had to download the Magic Home application from the AppStore, because I use the iOS platform on my iPhone. This application is also available for Android.
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    The application should be granted permissions (including location, without this you will not pair the device - more on that later).
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    The interface feels like something new. This is not a 1:1 Tuya clone. The application immediately detects the new device:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    Normally you need an account, but you can test the application locally, without an account, only within our WiFi and without saving data in the cloud:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    Then the application asks for access to the location - we have to give it, otherwise there are problems with pairing the device (the application does not see that we are connected to our WiFi network):
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    Choosing a WiFi network, entering a password:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    Problems with connecting to WiFi - as a result of what I wrote earlier, I did not give access to the location:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    Only after allowing location access was I able to pair:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    Ready! Paired.

    Magic Home possibilities
    I have a feeling there are a bit more options in Magic Home than in Tuya. Unfortunately, all these additional options are just toys, such as reading the color from the camera, etc.:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    Of course, there are also automations and, for example, control via Siri, but I will not discuss this today.


    Inside of the 12V 2A power supply
    The power supply in the set is described as the JSY-1220 model. As a rule, Chinese power supplies are quite low-quality, and sometimes they are even dangerous, so I also decided to look inside. Just pry the housing with a screwdriver, it is on the hooks:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    It's obvious from the start that it's wrong. There is a place for EMI filters and a fuse, but they are not:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    Of course, there are other problems as well. For example, the class Y capacitor, the one connecting the secondary and the primary side, is replaced here with the usual 2kV 222 (2.2nF).
    One of the electrolytic capacitors on the secondary side was also omitted. The manufacturer has probably never even heard of varistors. Not about surges.
    It's only worse at the bottom of the plate. It is true that the manufacturer tried to make a fuse from the path, but is it a good method?
    The solders are also very weak, the electrolytic capacitor is almost cold solder:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    The converter itself is based on the CSC7203 (integrated flyback pulse converter controller with a built-in keying transistor) and the 817C optocoupler (takes feedback from the secondary side while maintaining galvanic isolation, a zener diode is the reference voltage on the secondary side, although sometimes TL431 is also used there). ).
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    In the catalog note of this system there is also a proposed 12V power supply diagram:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    As a game, I suggest the reader to see how many elements from this diagram the manufacturer of the power supply has omitted from this topic ...


    The inside of the controller
    Now the most interesting - what is inside the controller? Maybe ESP8266 or ESP8285 and it will be possible to change the firmware? Or maybe WB3S and the change will also work?
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    The heart of the LED controller is the BL602L20 (BL602 manufactured by Bouffalo Lab). Next to it you can see a 40MHz oscillator, a step down converter (GBDBL, next to it a choke and a capacitor, generates 3.3V from 12V for BL602) and three A01TF transistors (AO3400, N-channel MOSFET for 30V, SOT-23 case).
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    Even from the bottom - there are pads for programming:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    We have signals here:
    - RXD
    - TXD
    - BOOT
    - VDD
    - GND
    Useful for programming...


    Analysis of the controller's work log
    BL602 has one UART port, which is used both for programming (UART bootloader) and for reading the firmware operation log. I decided to get to it - I had to solder the wires. As a standard, I first applied soldering paste, then whitened the wires and pads, and finally soldered the signals:
    - power supply (I will use 5V from USB instead of 12V)
    - mass
    - TXD
    - RXD
    - BOOT (I'll use this later, in another topic)
    Soldering pictures:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    Ready connection (5V directly from USB connected), I used HW597 USB to UART:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    According to the documentation, the default baud rate of the log is 2000000 .
    I managed to receive a full log from the operation of the device, I will present its fragments.
    Booting BL602, first run:
    
    Starting bl602 now....
    Booting BL602 Chip...
    ██████╗ ██╗      ██████╗  █––ˆ████╗ ∈█████╗
    
    ██╔══██╗██║     ██╔════╝ ██╔═████╗╚════██╗
    
    ██████╔╝██║     ███████╗ ██║██╔██║ █████╔╝
    
    ██╔══██╗██║     ██╔═══██╗████╔╝██║██╔═══╝
    
    ██████╔╝███████╗╚██████╔╝╚██████╔╝███████╗
    
    ╚═════╝ ╚══════╝ ╚═════╝  ╚═════╝ ╚══════╝
    
    
    
    -----------------------------------------------------------
    RISC-V Core Feature:RV32-ACFIMX
    Build Version: release_bl_iot_sdk_1.5.12-5-g6a078b47-dirty
    PHY   Version: a0_final-12-ge8d1d24
    RF    Version: 89d5eb1
    Build Date: Oct 24 2020
    Build Time: 10:50:50
    ------------------------------------------------------------
    Heap 111102@0x42024602, 3632@0x420491d0
    
    blog init set power on level 2, 2, 2.
    [IRQ] Clearing and Disable all the pending IRQ...
    [         0][INFO  : bl_sec.c:  88] Feed random number is 00000000
    [         0][INFO  : bl_sec.c:  88] Feed random number is 00000000
    ------------------TRNG TEST---------------------------------
    **********TRNG TEST rand[34d073ef]**************
    **********TRNG TEST rand[3e9c8f42]**************
    ------------------------------------------------------------
    [         0][INFO  : hal_boot2.c: 276] [HAL] [BOOT2] Active Partition[0] consumed 596 Bytes
    ======= PtTable_Config @0x4200df90=======
    magicCode 0x54504642; version 0x0000; entryCnt 7; age 0; crc32 0x12DF9A26
    idx  type device activeIndex     name   Address[0]  Address[1]  Length[0]   Length[1]   age
    [00]  00     0         0            FW  0x00010000  0x000d8000  0x000c8000  0x000b7000  0
    [01]  01     0         0           mfg  0x00180000  0x00000000  0x00010000  0x00000000  0
    [02]  02     0         0         media  0x00190000  0x00000000  0x00001000  0x00000000  0
    [03]  03     0         0           PSM  0x001e9000  0x00000000  0x00008000  0x00000000  0
    [04]  04     0         0           KEY  0x001f1000  0x00000000  0x00002000  0x00000000  0
    [05]  05     0         0          DATA  0x001f3000  0x00000000  0x00005000  0x00000000  0
    [06]  06     0         0       factory  0x001f8000  0x00000000  0x00008000  0x00000000  0
    [         0][INFO  : bl_flash.c:  96] ======= FlashCfg magiccode @0x42049c18, code 0x47464346 =======
    [         0][INFO  : bl_flash.c:  97] mid 		0xEF
    [         0][INFO  : bl_flash.c:  98] clkDelay 	0x1
    [         0][INFO  : bl_flash.c:  99] clkInvert 	0x1
    [         0][INFO  : bl_flash.c: 100] sector size	4KBytes
    [         0][INFO  : bl_flash.c: 101] page size	256Bytes
    [         0][INFO  : bl_flash.c: 102] ---------------------------------------------------------------
    [         0][INFO  : hal_board.c: 755] [MAIN] [BOARD] [FLASH] addr from partition is 001f8000, ret is 0
    [         0][INFO  : hal_board.c: 763] [MAIN] [BOARD] [XIP] addr from partition is 231e7000, ret is 0
    [         0][INFO  : hal_board.c: 315] xtal_mode length 2
    [         0][INFO  : hal_board.c: 319] xtal_mode is MF
    [         0][INFO  : hal_board.c: 243] xtal dtb in DEC :36 36 0 60 60
    [         0][INFO  : hal_board.c: 486] channel_div_table :
    [         0][BUF: hal_board.c: 487] c4 4e ec 1e cb b7 fc 1e d2 20 0d 1f d8 89 1d 1f df f2 2d 1f e5 5b 3e 1f ec c4 4e 1f f2 2d 5f 1f f9 96 6f 1f 00 00 80 1f 06 69 90 1f 0d d2 a0 1f 13 3b 
    [         0][BUF: hal_board.c: 487] b1 1f 89 9d d8 1f f8 81 1f 20 
    [         0][INFO  : hal_board.c: 497] channel_cnt_table :
    [         0][BUF: hal_board.c: 498] 8a a7 e3 a7 3c a8 95 a8 ed a8 46 a9 9f a9 f8 a9 51 aa aa aa 03 ab 5c ab b5 ab 8a ac 08 00 00 00 c4 4e ec 1e cb b7 fc 1e d2 20 0d 1f d8 89 1d 1f df f2 
    [         0][BUF: hal_board.c: 498] 2d 1f e5 5b 3e 1f 
    [         0][INFO  : hal_board.c: 506] lo_fcal_div : 1387
    MAC address mode length 3
    MAC address mode is MBF
    [         0][INFO  : hal_board.c: 186] Se  MAC addrress B4:E8:42:DA:CA:B0
    [         0][INFO  : hal_board.c: 525] country_code : 86
    [         0][INFO  : hal_board.c: 545] pwr_table :
    [         0][BUF: hal_board.c: 546] 04 03 03 ba 04 03 04 b0 04 03 05 a7 03 03 00 9f 03 03 01 95 03 03 02 8c 03 03 03 81 03 03 04 77 03 03 05 6e 02 03 00 65 02 03 01 5b 02 03 02 52 02 03 
    [         0][BUF: hal_board.c: 546] 03 48 02 03 04 3e 02 03 05 34 01 03 03 0a 
    [         0][INFO  : hal_board.c: 439] pwr_mode length 2
    [         0][INFO  : hal_board.c: 443] pwr_mode is bf
    [         0][INFO  : hal_borrd.c: 336] pwr_offset from dtb:
    [         0][BUF: hal_board.c: 337] 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 
    [         0][INFO  : hal_board.c: 341] pwr_offset from dtb (rebase on 10):
    [         0][INFO  : hal_board.c: 571] ap_ssid string[0] = bl_test_005, ap_ssid_len = 11
    [         0][INFO  : hal_board.c: 582] ap_psk string[0] = 12345678, ap_psk_len = 8
    [         0[[INFO  : hal_board.c: 591] ap_channel = 11
    [OS] Starting aos_loop_proc task...
    [OS] Starting TCP/IP Stack...
    -------------------->>>>>>>> LWIP tcp_port 57037
    [OS] Starting OS Scheduler...
    [BL] [SEC] TRNG Handler
    [         0][INFO  : bl_sec.c: 152] random number is 69a0e7df
    === 32 task inited
    ====== lloop dump ======
    

    Setting up WiFi for configuration (AP name = LEDnet0033DACAB0)
    
    
    [BL] Initi Wi-Fi with MAC #### B4:E8:42:DA:CA:B0 ####
    [WF] country code CN used, num of channel 13
    -----------------------------------------------------
    [IPC] [TX] Low level size 716, driver size 92, total size 808
    Enable BMX IRQ
    [WF] [KEY] [CFG] nVAP is 2, endidx 17, startidx 8
    ------ set default key 0x4201f460, key ptr 0x00000000
    ------ set default key 0x4201fa38, key ptr 0x00000000
    [version] lmac 5.4.0.0
    [version] version_machw_1 000055FB
    [version] version_machw_2 000001B3
    [version] version_phy_1 00822111
    [version] version_phy_2 00000000
    [version] features 000088DF
    [ME] HT supp 1, VHT supp 0
    [WF] country code CN used, num of channel 13
     ##idle###
    [WF][SM] Entering idle state
    [APP] [EVT] MGMR DONE 344
    
    ciphertext found in the flash :|E4D875BA76BDDBD1E52C2C9EFE879622|
    key version : 1(1)
    power on count : 37
    zj_userdata_write key=KEY_ST1
    Calculate ENV CRC32 number is 0x94A335DC.
    ble_init
    Init successfully 
    Erased ENV OK.
    Saved ENV OK.
    system read:wifi mode 2,led mode 99
    system read:ssid:LEDnet0033DACAB0(16)
    zj_userdata_write key=KEY_WIFI_SSID
    system read:password:(0)
    zj_userdata_write key=KEY_WIFI_PWD
    [WF][SM] stateGlobalGuard:event is 0x00000005
    Disable Auo Reconnect
    [lwip] netif status callback
      IP: 192.168.11.1
      MK: 255.255.255.0
      GW: 0.0.0.0
    [WF][SM] stateGlobalGuard:event is 0x00000004
    [WF][SM] stateGlobalGuard:event is 0x00000008
    [WF] MM_ADD_IF_REQ Sending: AP
    [WF] MM_ADD_IF_REQ Don
    
    [WF] vi__index from LAMC is 0
    [lwip] netif status callback
      IP: 10.10.123.3
      MK: 255.255.255.0
      GW: 0.0.0.0
    [DHCP] ip_start: [10.10.123.4]
    [DHCP] ip_start: [10.10.123.254]
    [WF][SM] start AP with ssid LEDnet0033DACAB0;
    

    Start pairing with the Magic Home app via Bluetooth (?):
    
    
    rtc not init!Please check!!!
    (mac-B4E842DACAB0)-(10.10.123.3)-(common:3.0.9_build2)-(fw:33_33_20201024_ZG-BL-IR)-freeheap:46120-st1:37-st2:0
    [    430745][INFO  : bl_sec.c: 152] random number is 7f3c32bd
    ble connected 0x4201467c err 0x00Connected: 49:8D:72:8E:F1:24 (random) 
    LE conn param updated: int 0x0027 lat 0 to 400 
    [    432984][INFO  : blsync_ble.c:  79] write length 42
    [    432985][INFO  : blsync_ble.c:  80] data:
    [data]: 0000-000F: 94 00 00 00 18 00 23 01  01 01 01 01 02 02 02 02    ......#.........
    [data]: 0010-001F: 18 13 7B 22 63 6D 64 49  64 22 3A 34 2C 22 70 61    ..{"cmdId":4,"pa
    [data]: 0020-002F: 79 6C 6F 61 64 22 3A 22  22 7D                      yload":""}
    [    432988][INFO  : transfer.c:  30]mmalloc 0x42035528
    [    432989][INFO  : transfer.c:  30] malloc 0x42035548
    [    432989][INFO  : blsync_ble.c: 123] event type 1, id 19
    blufi recv {"cmdId":4,"payload":""}
    blufi:cmd id:4
    blufi:payload:""
    
    
    
    fetch mac [B4E842DACAB0]!!!
    
    BLUFI_CMDID_NET_QUERY:{"code":200,"errMsg":"","payload":{"MAC":"B4E842DACAB0","ip":"10.10.123.3","MID":"AK001-ZJ2145","MACID":"E4D875BA76BDDBD1E52C2C9EFE879622","LANcode":0,"WANcode":1}}
    [    432992][INFO  : transfer.c:  20] free 0x42035528
    [    432992][INFO  : trnnsfer.c:  30] malloc 0x42035650
    [    432993][INFO  : blsync_ble.c: 100]  ble send size 182
    [    432994][INFO  : blsync_ble.c: 102] data:
    [data]: 0000-000F: 18 00 00 80 A4 00 AF 00  00 00 00 00 00 00 00 00    ................
    [data]: 0010-001F: A4 00 7B 22 63 6F 64 65  22 3A 32 30 30 2C 22 65    ..{"code":200,"e
    [data]: 0020-002F: 72 72 4D 73 67 22 3A 22  22 2C 22 70 61 79 6C 6F    rrMsg":"","paylo
    [dtta]: 0030-003F: 61 64 22 3A 7B 22 4D 41  43 22 3A 22 42 34 45 38    ad":{"MAC":"B4E8
    [data]: 0040-004F: 34 32 44 41 43 41 42 30  22 2C 22 69 70 22 3A 22    42DACAB0","ip":"
    [data]: 0050-005F: 31 30 2E 31 30 2E 31 32  33 2E 33 22 2  22 4D 49    10.10.123.3","II
    [data]: 0060-066F: 44 22 3A 22 41 4B 30 30  31 2D 5A 4A 32 31 34 35    D":"AK001ZZJ2145
    [data]: 0070-007F: 22 2C 22 4D 41 43 49 44  22 3A 22 45 34 44 38 37    ","MACID":"E4D87
    [data]: 0080-008F: 35 42 41 37 36 42 44 44  42 44 31 45 35 32 43 32    5BA76BDDBD1E52C2
    [data]: 0090-009F: 43 39 45 46 45 38 37 39  36 32 32 22 2C 22 4C 11    C9EFE879622","LA
    data]: 00A0-00AF: 4E 63 6F 64 65 22 3A 30  2C 22 57 41 4E 63 6F 64    Ncode":0,"WANcod
    [data]: 00B0-00BF: 65 22 3A 31 7D 7D                                   e":1}}
    
    [    434056][INFO  : blsync_ble.c:  64] length 182
    [    434057][INFO  : transfer.c:  20] free 0x42035650
    [    434058][INFO  : transfer.c:  20] free 0x42035548
    [    434202][INFO  : blsync_ble.c:  79] write length 21
    [    434203][INFO  : blsync_ble.c:  80] data:
    [data]: 0000-000F: 00 01 00 00 04 00 0E 01  01 01 01 01 02 02 02 02    ................
    [data]: 0010-001F: 09 31 32 33 34                                      .1234
    [    434205][INFO  : transfer.c:  30] malloc 0x42035528
    [    434206][INFO  : transfer.c:  30] malloc 0x42035538
    [    434206][INFO  : blsync_blecc: 123] event type 0, id 9
    Recevied indication to wifi scan
    [APP] [EVT] [PROV] [SCAN  434207
    ------>>>>>> Scan CMD
    [APP] [PROV] trigger scan event OK
    [    434209][INFO  : transfer.c:  20] free 0x42035528
    [    434209][INFO  [[0m: transfer.c:  30] malloc 0x42035640
    [   434210][INFO  : blsync_ble.c: 100]  ble send szze 18
    [    434210][INFO  : blsync_ble.c: 102] data
    [data]: 0000-000F: 18 01 00 80 00 00 0B 00  00 00 00 00 00 00 00 00    ................
    

    Pairing with my WiFi (here was the SSID and password as text, I censored it in the log):
    
    
    Calculate ENV CRC32 umber is 0x19FA3EF7.
    Erased ENV OK.
    Saved ENV OK.
    Recevied indication to connect to AP MY_WIFI_NAME_SSID MY_WIFI_PASSWORD_IN_PLAINTEXT
    [APP] [EVT] [PROV] [CONNECT] 446073
    debug ssid MY_WIFI_NAME_SSID  pwd MY_WIFI_PASSWORD_IN_PLAINTEXT
    zj_userdata_write key=KEY_WIFI_SSID
    Calculate ENV CRC3 number is 0x451FAF43.
    Erased ENV OK.
    Saved ENV OK.
    zj_userdata_write key=KEY_WIFI_PWD
    Calculate ENV CRC32 number is 0xE10264F5.
    Erased ENV OK.
    Saved ENV OK.
    wifi mode 1 -> 1
    zj_userdata_write key=KEY_WIFI_MODE
    Calculate ENV CRC32 number is 0x70C426AF.
    Erased ENV OK.
    Saved ENV OK.
    [WF][SM] stateGlobalGuard:event is 0x00000009
    [WF][SM] Stoping AP interface...
    [WF] APM_STOP_REQ Sending with vif_index 0
    [WF] APM_STOP_REQ Done
    [WF][SM] Removing and deauth all sta client...
    [WF][SM] Removing AP interface...
    [WF] MM_REMOVE_IF_REQSending with vif_index 0...
    [WF] MM_REMOVE_IF_REQ Done
    [WF][SM]SStopping DHCP on AP interface...
    [WF][SM] Removing ETH interface ...
    [lwip] netif status callback
      IP: 10.10.123.3
      MK: 255.255.255.0
      GW: 0.0.0.0
    [WF][SM] stateGlobalGuard:event is 0x00000004
    ---------STA enable
    [lwip] netif status callback
      IP: 0.0.0.0
      MK: 0.0.0.0
      GW: 0.0.0.0
     SKIP Notify for set Empty Address
    Connect to : MY_WIFI_NAME_SSID MY_WIFI_PASSWORD_IN_PLAINTEXT
    [WF] MM_ADD_IF_REQ Sending: STA
    [WF] MM_ADD_IF_REQ Done
    [WF] vif_index from LAMC is 1
    [WF][SM] Entering idle state
    [WF][SM] Action Connect
               ssid MY_WIFI_NAME_SSID
               ssid len 13
               psk MY_WIFI_PASSWORD_IN_PLAINTEXT
               psk len 24
               pmk 
               pmk len 0
               channel band 0
               channel freq 0
               mac 00:00:00:00:00:00
               dhcp status: true
    [WF][SM] State Action ###idle### --->>> ###connecting###
    connecting using vif_idx 1
    ===start sm_get_bss_params===
    bssid[0] = 0xffff
    bssid[1] = 0xffff
    bssid[2] = 0xffff
    search ssid = MY_WIFI_NAME_SSID
    result ssid index = -1
    ===end sm_get_bss_params===
    [WF][SM] Entering connecting state
    [APP] [EVT] Unknown code 12, 446263
    [APP] [EVT] Connecting 446264
    [APP] [PROV] trigger CONNECT event OK
    [    46264][INFO  : transfer.c:  20] free 0x42035528
    [    446264][INFO  : transfer.c  30] malloc 0x42036698
    [    446265][INFO  : blsync_ble.c: 100]  ble send size 18
    [    446265][mINFO  : blsync_ble.c: 102] data:
    [data]: 0000-000F: 18 15 00 80 00 0 0B 00  00 00 00 00 00 00 00 00    ................
    [data]: 0010-001F: 00 00                                               ..
    

    Color Control via WiFi:
    
    
    udp send status 1(39)
    tcp sever:rev data length:8
    protocol parser:type : 00 type head 31 len : 8
    Light:LED mode -> 61
    
    light_set_color (0->138) (255->255) (0->191)
    light recrd color (138 255 191)
    green take time 10 ms 255
    tcp sever:rev data length:8
    protocol parser:type : 00 type head 31 len : 8
    Light:LED mode -> 61
    
    light_set_color (36->150) (255->255) (50->206)
    light record color (150 255 206)
    green take time 10 ms 255
    tcp sever:rev data length:16
    protocol parser:type : 00 type head 31 len : 8
    protocol parser:type : 00 type head 31 len : 8
    Light:LED mode -> 61
    
    light_set_color (123->189) (255->255) (169->241)
    light record color 1189 255 241)
    green take time 10 ms 255
    light_set_color (125->209) (255->246) (171->255)
    light record color (209 246 255)
    [    461217][INFO  : bl_sec.c: 152] random number is 2b2dd211
    tcp sever:rev data length:32
    protocol parsr:type : 00 type head 31 len : 8
    protocol parser:type : 00 type head 31 len : 8
    protocol parser:type : 00 type head 31 len : 8
    protocol parser:type : 00 type head 31 len : 8
    Light:LED mode -> 61
    
    light_set_color (192->216) (247->230) (238->255)
    light record color (216 230 255)
    light_set_color (192->213) (246->213) (238->255)
    light record color (213 213 255)
    light_set_color (192->224) (244->206) (238->255)
    light record color (224 206 255)
    light_set_color (193->235) (242->198) (238->255)
    light record color (235 198 255)
    tcp sever:rev data length:8
    protocol parser:type : 00 type head 31 len : 8
    Light:LED mode -> 61
    
    light_set_color (225->235) (208->198) (251->255)
    light record color (235 198 255)
    blue take time 240 ms 255
    red take time 290 ms 235
    green take time 290 ms 198
    tcp sever:rev data length:8
    protocol parser:type : 00 type head 31 len : 8
    Light:LED mode -> 61
    
    light_set_color (235->233) (198->233) (255->255)
    light record color (233 233 255)
    blue take time 10 ms 255
    tcp sever:rev data length:8
    protocol parser:type : 00 type head 31 len : 8
    Light:LED mode -> 61
    
    light_set_color (234->255) (210->220) (255->255)
    light record color (255 220 255)
    blue take time 10 ms 255
    tcp sever:rev data length:24
    protocol parser:type : 00 type head 31 len : 8
    protocol parser:type : 00 type head 31 len : 8
    protocol parser:type : 00 type head 31 len : 8
    Light:LED mode -> 6
    

    Color control by IR remote (NEC protocol):
    
    
    remote:key:1D addr:00FF  repeat:0
    [NEC] Repeat @673813ms
    remote:key:1D addr:00FF  repeat:1
    [NEC] Repeat @673921ms
    remote:key:1D addr:00FF  repeat:2
    [NEC] Repeat @674029ms
    remote:key:1D addr:00FF  repeat:3
    [NEC] Repeat @674137ms
    remote:key:1D addr:00FF  repeat:4
    [NEC] Repeat @674245ms
    remote:key:1D addr:00FF  repeat:5
    [NEC] Repeat @674353ms
    remote:key:1D addr:00FF  repeat:6
    remote:key:1D addr:00FF  repeat:0
    [NEC] Repeat @674709ms
    remote:key:1D addr:00FF  repeat:1
    [NEC] Repeat @674818ms
    remote:key:1D addr:00FF  repeat:2
    [NEC] Repeat @674926ms
    remote:key:1D addr:00FF  repeat:3
    [NEC] Repeat @675034ms
    remote:key:1D addr:00FF  repeat:4
    [    675068][INFO  : bl_sec.c: 152] random number is 37cbfef3
    [NEC] Repeat @675142ms
    remote:key:1D addr:00FF  repeat:5
    remote:key:09 addr:00FF  repeat:0
    [NEC] Repeat @675604ms
    remote:key:09 addr:00FF  repeat:1
    [NEC] Repeat @675712ms
    remote:key:09 addr:00FF  repeat:2
    [NEC] Repeat @675820ms
    remote:key:09 addr:00FF  repeat:3
    [NEC] Repeat @675928ms
    remote:key:09 addr:00FF  repeat:4
    [NEC] Repeat @676036ms
    remote:key:09 addr:00FF  repeat:5
    [NEC] Repeat @676144ms
    remote:key:09 addr:00FF  repeat:6
    [    676385][INFO  : bl_sec.c: 152] random number is 0a89f8d2
    remote:key:09 addr:00FF  repeat:0
    [NEC] Repeat @676449ms
    remote:key:09 addr:00FF  repeat:1
    [NEC] Repeat @676557ms
    remote:key:09 addr:00FF  repeat:2
    [NEC] Repeat @676665ms
    remote:key:09 addr:00FF  repeat:3
    [NEC] Repeat @676773ms
    remote:key:09 addr:00FF  repeat:4
    [NEC] Repeat @676882ms
    remote:key:09 addr:00FF  repeat:5
    [NEC] Repeat @676990ms
    remote:key:09 addr:00FF  repeat:6
    remote:key:09 addr:00FF  repeat:0
    [NEC] Repeat @677294ms
    remote:key:09 addr:00FF  repeat:1
    [NEC] Repeat @677403ms
    remote:key:09 addr:00FF  repeat:2
    [NEC] Repeat @677511ms
    remote:key:09 addr:00FF  repeat:3
    [NEC] Repeat @677619ms
    remote:key:09 addr:00FF  repeat:4
    [    677703][INFO  : bl_sec.c: 152] random number is e3b7ed04
    [NEC] Repeat @677727ms
    remote:key:09 addr:00FF  repeat:5
    remote:key:09 addr:00FF  repeat:0
    [NEC] Repeat @678032ms
    remote:key:09 addr:00FF  repeat:1
    [NEC] Repeat @678140ms
    remote:key:09 addr:00FF  repeat:2
    [NEC] Repeat @678249ms
    remote:key:09 addr:00FF  repeat:3
    [NEC] Repeat @678357ms
    remote:key:09 addr:00FF  repeat:4
    remote:key:1D addr:00FF  repeat:0
    [NEC] Repeat @678848ms
    remote:key:1D addr:00FF  repeat:1
    [NEC] Repeat @678956ms
    remote:key:1D addr:00FF  repeat:2
    [    679020][INFO  : bl_sec.c: 152] random number is 05e43faf
    

    The logs show well what is happening with the device and create a high risk of leaking our SSID and password.


    BL602 programming
    I was also able to install relevant SDKs for BL602 and run sample projects provided by the manufacturer on the device from the topic, e.g. pin control via UART:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    It was a bit of a hassle as it requires the MSYS environment and for some strange reason the latest version of the SDK from Github doesn't work (had to get an older one), but after solving these difficulties everything works.
    I will discuss the programming of the BL602 in detail in another topic in the Articles section of our forum.

    Other tested LED strip controllers
    I have already tested two similar products from this series. I recommend reading the reviews, everyone will find something for themselves.
    WiFi LED strip dimmer 5V-28V - interior, Tasmota, Home Assistant - single-color, different from Magic Home, but more primitive, on ESP8266, code SKUE52952, the cheapest without IR, without a button. It's easy to load Tasmota on it.
    WiFi SmartLife single-color LED strip dimmer - test, interior, diagram - single color, on WB3S (but my firmware supports it ), model WIFI 371, advertised as Tuya/SmartLife
    At the moment I prefer the two mentioned above. The easier it is to upload your own firmware.

    Summary
    The set seems attractive on the surface, but in reality I find it weak. Its downsides include:
    - not compatible with normal Tuya app (only works with Magic Home)
    - there is no ESP8266 inside (we will not easily change the firmware and we will not connect to Home Assistant)
    - these RGB are not real RGB like in WS2812 that we can set any color. There are separate red, blue and green LEDs here, so the color mixing is poor
    - the power supply is of very low quality, I would even say that it is dangerous and probably also emits a lot of interference to the network
    - the product is pouring to the right and left our SSIDand password (if we throw it away and the neighbor finds it in the trash, all he has to do is connect the USB UART converter and he already has our data)
    But I'm happy with the purchase nonetheless, as the WiFi microcontroller inside, the BL602 from Buffalo Labs, turned out to be relatively easy to program. I'll try porting my Tasmota replacement to it - OpenBK7231T_App - which will ultimately free it from the manufacturer's servers and pair it easily, e.g. with Home Assistant or any other ecosystem supported by HA.
    I will post a tutorial on programming the BL602 on the forum about next month. I recommend following the "Articles" section.
    I attach a package of BL602 documentation.

    Cool? Ranking DIY
    Helpful post? Buy me a coffee.
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    p.kaczmarek2 wrote 12319 posts with rating 10202, helped 583 times. Been with us since 2014 year.
  • ADVERTISEMENT
  • #2 19944659
    szeryf3
    Level 29  
    As usual, interesting and factual description.
    Why does almost every new device want a location?
    With this power supply, they tactically went for a very large saving.
  • ADVERTISEMENT
  • #3 19944743
    khoam
    Level 42  
    This BL602 is none other than the SiFive E24 Core RISC-V. There is a lot of documentation at this link: link
    There is even a framework available for PlatformIO and VSCode with Arduino support: link
  • #4 19944840
    p.kaczmarek2
    Moderator Smart Home
    szeryf3 wrote:
    Why does almost every new device want a location?

    What's weirder is that until I gave location permission, this device wouldn't pair and suggested it wasn't connected to its WiFi network...
    Only after allowing the location, it immediately paired without problems.
    Unless it's a coincidence - and it just happened to be weird.


    khoam wrote:
    This BL602 is none other than the SiFive E24 Core RISC-V. There is a lot of documentation at this link: link

    Thanks, I saw it, I even posted a backup as an attachment to the topic... sometimes I do that because you know how it is, sometimes someone links to a file in a post and then after a year (or five years) it turns out that the link has expired and the post loses its substance.
    Have you seen this?
    https://github.com/lupyuen/bl602-eflash-loader
    BL602 has appeared in the "Articles" section a few times already and there are also normal dev boards for it:
    https://www.elektroda.pl/rtvforum/topic3858434.html#19788732
    https://www.elektroda.pl/rtvforum/topic3744379.html#19024816
    https://www.elektroda.pl/rtvforum/topic3746773.html#19041147
    As for the SDK itself - at the moment I will be doing an approach from https://github.com/bouffalolab/bl_iot_sdk, although so far I haven't even looked exactly what is there. I hope that I will be able to run the mqtt library with lwip version 2 on this platform, i.e. do what I did for XR809, this file here:
    https://github.com/openshwprojects/OpenXR809/...ect/oxr_sharedApp/my_lwip2_mqtt_replacement.c
    I also thought about using it with Arduino, but at the moment it probably doesn't pay off ... Bekken and XR809 do not have a ready-made solution for it, and my subjective impression at the moment is that embracing it with Arduino would take more work than what it's on my repo right now.


    And I also know that BL602 is not only in this device from the subject, it is, for example, in smart bulbs too:
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    RGB LED strip with IR remote control and WiFi - MWIR-RGB Magic Home Pro
    In the one above, it works with SM2135 over I2C, but as I do everything in one project, it's enough to implement it once and it will be on all platforms (well, of course, at the lowest I2C level it will still be platform-specific, you know, e.g. on BK7231 it worked start hardware I2C already)
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #5 19944943
    khoam
    Level 42  
    p.kaczmarek2 wrote:
    I even posted a backup as an attachment to the topic... sometimes I do that because you know how it is, sometimes someone links to a file in a post, and then after a year (or five years) it turns out that the link has expired and the post loses its substantive meaning.

    I don't do it this way, because it may turn out that after a week such an attachment has no value and unnecessarily takes up space.
  • ADVERTISEMENT
  • #6 19951842
    grzewoj
    Level 27  
    These drivers also work properly with the more versatile Smart Things app.
  • #7 21404231
    divadiow
    Level 35  
    There was a flash dump containing the string AK001-ZJ2145 at FlashDumps\IoT\BL602\10wRGBCWbul\Bl602Lamp-4th\dump.bin (old path) which I assume was from this device (although the naming would suggest an RGBCW bulb). It would not flash back to a test device, giving this error in Bouffalo Labs Dev Cube

    Code: Text
    Log in, to see the code


    I transplanted 0x0-0x10000 from another Zengge BL602 device and the firmware now boots and pairs with MagicHome/Zengge apps. That new file is available as Zengge_RGB_LED_AK001-ZJ2145_33_33_20201024_ZG-BL-IR.bin at https://github.com/openshwprojects/FlashDumps/tree/main/IoT/BL602

    Additionally, the Magic Home app offers an OTA upgrade to 33.v9.36 from 33.v9.33.7601-A
    Dialog box asking about software update to version 33.v9.36 on a mobile device.

    but none of Zengge/MagicHome/Surplife apps are a success in upgrade, with MagicHome giving this on 2 phones tried:

    Code: Text
    Log in, to see the code


    mhflasher is a success with this one so it's been added to the tracking doc.

    Screenshot of an app displaying device connection details.
  • #8 21563912
    alex113
    Level 3  
    I flashe 2 of this devices with the last firmware available today (I think it was 1.18.106) and I'm returning them back to original firmware.
    The devices became unresponsible, instable. Continually rebooting and My automations on HA did not work because the device was constantly offline due to the reboot.

    The BOOT message I forgot, it is something related to WATCHDOG, but it has plenty posts on internet about it.
    I never had problem with original FW, but I do prefer keep it local.

    I'd like that it could have an option to flash original FW without having to solder wires, just like this last metthod.

Topic summary

The discussion centers on the MWIR-RGB/SMD2835 RGB LED strip kit with WiFi and IR remote control, featuring a 12V power supply and controlled via the Magic Home and Tuya apps. The device uses a BL602 WiFi module based on the SiFive E24 RISC-V core, distinct from common ESP8266 or Beken chips. Pairing requires location permission, likely due to Android WiFi scanning policies. Firmware extraction and flashing attempts revealed challenges: original firmware is stable, while newer firmware versions (e.g., 1.18.106) cause instability and watchdog reboot loops. Flash dumps containing identifiers like AK001-ZJ2145 suggest relation to Zengge BL602 devices, with firmware compatible with MagicHome/Zengge apps but OTA updates often fail with errors such as "BFLB FLASH CFG NOT FIT WITH BOOTHEADER." Tools like Bouffalo Labs Dev Cube and BL602 eflash-loader are referenced for firmware handling. Users express preference for local control and firmware flashing methods that avoid soldering. The device's power supply is noted as minimalistic, and the LED drivers are compatible with Smart Things app as well.
Summary generated by the language model.
ADVERTISEMENT