Elektroda.com
Elektroda.com
X
  • 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 user the Force and a screwdriver, but this all 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 is 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 5 pins that can drive the peripherals. It turns out the module is connected to BP1738CJ driver located next to it on the main board. Looking at it 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 from Fig. 3 above has a circle of color LED and a circle of white LEDs. The IC on the LED boards has a 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 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. 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 3  
    Offline 
    paulp wrote 6 posts with rating 1. Been with us since 2023 year.
  • Helpful post
    #2
    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.
  • #3
    paulp
    Level 3  
    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
  • #4
    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?
  • #5
    paulp
    Level 3  
    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.