logo elektroda
logo elektroda
X
logo elektroda
ADVERTISEMENT
  • Basic Information:
    Brand: Merkury
    Model: MI-BW904-999W
    Chip: WB2L
    Vendor: Walmart (bought in December 2020 for about $5)
    Regular disclaimer: electricity kills (some), always remove power, tear down at your own risk, etc.


    Teardown Photos
    The plastic dome is glued with some compound to the aluminum base. I had to heat it up with a heat gun, and the dome came off pretty easily. Unfortunately the LED board is glued with another compound that was not so easy to remove. I used the Force and a screwdriver, but this is not necessary (see below).
    Merkury MI-BW904-999W teardown Merkury MI-BW904-999W teardown
    Merkury MI-BW904-999W teardown Merkury MI-BW904-999W teardown
    As you see (Fig.4), the lamp's brain is a WB2L module. The black IC next to it is a BP1638 driver (this will be important later). I decided to try out Tuya Cloud Cutter (CC henceforth). CC doesn't know this exact model  but knows MI-BW932-999W. I downloaded OpenBK7231T_UG_1.15.566.bin firmware from the OpenBeken github. (Note the UG - since we will be programming it OTA, it is important to take the right firmware.) I then flashed the lamp following CC's instructions. After the CC is done, you should see a wifi network with SSID OpenBK7231T_XXXXX. Follow the setup instructions from OpenBeken: connect to the WiFi, open 192.168.4.1, enter your SSID and password, enter your MQTT server (if needed).

    Pin definition
    Now comes the fun part. WB2L has five pins that can drive the peripherals. It turns out the module is connected to the BP1638CJ driver located next to it on the main board. Looking at the application diagram:
    Merkury MI-BW904-999W teardown
    We see that the only inputs it takes are three PWM for red, green, and blue. The lamp, as you see in Fig. 3 above, has a circle of color LEDs and a circle of white LEDs. The IC on the LED boards has the label BP5711J. I couldn't find a datasheet for that but found one for CN5711
    Merkury MI-BW904-999W teardown - so it looks like this is the driver for the high-power white LEDs.
    So, all four RGBW LED strips are driven by PWM pins of WB2L. After some permutations, I found that
    P6 -> PWM0
    P8 -> PWM3
    P24->PWM2
    P26->PWM1

    If you follow this arrangement, the color wheel in Home Assistant will give you the right colors. Make sure to select "Flag 3 - [LED][Debug] Show raw PWM controller on WWW index instead of new LED RGB/CW/etc picker;" otherwise, the interface will be messed up. Then, I paired the light bulb with Homeassitant using the native OpenBeken function, and voilà, I have a $5 no-cloud lamp.

    Cool? Ranking DIY
    About Author
    paulp
    Level 5  
    Offline 
    paulp wrote 9 posts with rating 14, helped 1 times. Been with us since 2023 year.
  • ADVERTISEMENT
  • Helpful post
    #2 20476673
    p.kaczmarek2
    Moderator Smart Home
    Thank you for detailed review. It's a very nice cheap bulb. By the way, I think there is a room for improvement:
    paulp wrote:

    If you follow this arrangement the colorwheel in home assistant will give you the right colors. Make sure to select "Flag 3 - [LED][Debug] Show raw PWM controller on WWW index instead of new LED RGB/CW/etc picker" otherwise the interface will messed up.

    If your bulb is using 4 PWMs, then you should rather choose flag 24:
    
    24	[LED] Emulate Cool White with RGB in device with four PWMS - Red is 0, Green 1, Blue 2, and Warm is 4",
    

    I think it's already functional, although I don't have such devices myself. There is no need to hide new RGB/CW picker.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #3 20478192
    paulp
    Level 5  
    Thank you for your comment. Yes, my channel setup matches the ones set by Flag 24. Unfortunately, in the new setup Home Assistant doesn't activate the white (not R+G+B, but plain white) LEDs. It used to do it color temperature taking place of white LED intensity. High temperature color is now white-blue as a combination of RGB, but low temperature is not warm white, but rather noting. With raw PWM controllers (Flag3) I can activate warm white just fine
  • ADVERTISEMENT
  • #4 20478230
    p.kaczmarek2
    Moderator Smart Home
    We had a Home Assistant Discovery bugfix added yesterday, do you have latest release? Can you retry and do Hass Discovery again?
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #5 20479661
    paulp
    Level 5  
    I updated the FW to 1.15.573. Unfortunately the problem still persists. If I enable Flag 24, I can indeed control the RGB colors using a color picker in the native UI, but not the warm white LEDs, so I had to revert to Flag 3.
    New Home Assistant discovery fixed my previous problem, but I'm back to square one: color LEDs are controlled by the color wheel just fine - I can pick the white color in the middle of the wheel, but it is a cold white, a combination of R+G+B, not warm white. Warm white intensity is controlled by the Color Temperature scale only if Flag 3 is set (no need to rediscover), and is not controlled by anything is Flag 24 is set. When I enable warm white in HA, all other color LEDs turn off and vice versa. When using raw PWM in the native UI I can get warm white with a hint of red.
    This setup works fine for my application: pink light for plants during the day and warm white for humans in the evening, but I see how it is sub-optimal.
  • #6 20479898
    p.kaczmarek2
    Moderator Smart Home
    How did you assign channels to the PWMs? Did you keep the correct order?
    Helpful post? Buy me a coffee.
ADVERTISEMENT