Support for the Merkury Light Bulb

I got it working. Took awhile. First tried VM and found that none of my wifi dongles are ap mode compatible. Then using raspberry pi 3 I could not get the ap mode working using Kali Linux. Using rasbian sketch ended up working but I had to reset in the middle to get my bulb to connect. Compiling was not a problem I just wasn’t sure if I had to enable a certain define for this.

Just to make sure they only way to change color with the web interface is by sending commands with console, right?

So far that’s all I’ve managed to do. I’ve been playing with the MQTT messages to figure out what exactly they are for each color range so I think we’re limited to that.

Power off and on 3 times to be able to load a new firmware

I wonder if you could expand on the “compile your own and upload” portion of this setup. I was able to successfully complete the tuya convert process, and access the tasmota interface in my browser. I don’t know how to compile the latest dev branch and upload it to my bulb. Any help?

Edit: Actually I think I figured it out. I installed the PlatformIO plugin for my Visual Studio Code IDE, downloaded the dev branch to my local, made the appropriate updates and built it. It’s compiling now :slight_smile:

I think I might have bricked one bulb :frowning:
I compiled, and got a ton of folders full of firmware to choose from. I didn’t carefully read the instructions about omitting those that you don’t need, so I got them all. I uploaded the /sonof/firmware.bin file and that went fine. Then I selected the SYF05 module type and saved, and the bulb died. It went dark and no longer shows up on my network. Is there any way to revive it?
Thanks in advance

Edit3: Seems I actually got it to work as expected, but now the bulb is burning steady for about 15 seconds, blinking off for 2, flashing on and off once quickly, then burning steady for 15 seconds again, and constantly repeating this cycle. It’s odd. As soon as I figure this out I can integrate them with Home Assistant.

I bricked one also. I compiled (wanted Templates)and tried loading the bin.Loaded but never rebooted properly. Lost all access. No longer responds to the IP address. Does not show up now on the router. Does not go in to program mode with three on and off cycles like it did before. But it does light up about mid level. Hoping to find a way to regain programming control. Have used the bin on other devices without issue.

These are pictures of the inside of the Merkury Model: MI-BW-904 (mi-bw-904).
The control board with the ESP8266EX has the following identified (in this order) on two 4 pin connectors (all soldered) that connect it to the power board:
IO4. . . . . . . .IO13
IO14. . . . . . GND . . . . . . . . .Note: dots are just to provide space. No connection between these pins
IO5. . . . . . . .VIN
IO12. . . . . . .3.3

Hoping to understand what IOs are used for Tx and Rx

The bottom power board is marked EBP416-REV1.4
There is a 6 pin connector that connects the power board to the LED board.
IO04 and IO14 connect to the LED board.

New firmware version is out with templates.
I bought two more RGB bulbs and I was able to flash them and get color working through the console with no issues.
Now to make them actually work with HA.


Did you have any luck? I just purchased one of these bulbs and flashed tasmota. Lost the colour and only have white.

Color does work with these bulbs you just need to send the right message. I’m at work today so I don’t have it sitting it front of me so I can’t remember the exact topic format.

This works now with tasmota 6.5
Use the correct template for this bulb.
Use setoption19 1 in console. This will get home-assistant to see it. Might take a few mins.
Once discovered turn the light on (it will be white) them click on the bulb name and the color controls window will come up. Check out the 4 presets bottom right of that window.

Very carefully Probed out from the IC datasheet. I hope this helps someone.


Thanks, that info is useful…

I do. And have been for 2 years now…

I am unable to get it to work with HA. I have it up and running in Tasmota after flashing it, and I can change colors and toggle off and on through accessing it’s IP and sending web commands through the console. I am not able to get it working in HA. I tried doing Setoption19 1, but that doesn’t work for me. If I were adding this into the configuration.yaml file what would it look like?

go into the configuration>configure module> and in the drop down select MI-EW003-999W and save.

Thats the config I’m working with and it works just fine through mqtt

So here’s what I had to do, to get my Color light working.

1st you have to apply the template found here. (Make sure you check off activate)
Note: this is for the Merkury Color Bulb, there’s also a white template for the Merkury one too,

2nd Put in your MQTT server address, and username and password in tasmota. Note: I’m not sure if you have to fill in Client and Topic or not, but I did, and am not having any issues

3rd SetOption19 1 in the console for auto-discover.

4th make sure in your configuration you have a flag under your mqtt that sets discovery: true

# Example configuration.yaml entry
  discovery: true

5th on your home assistant prior to .99 you could just click on unused devices in the three dots menu, on the main screen and see the device listed under the lights. After updating to .99 that has now moved to Configuration>Devices> and there your bulb listed in there. If you have a lot of devices, you can search for it, or sort by device types, or even sort by mqtt.

So on the 5th section I lied. They have moved unused devices to show up under edit mode. So clicking the three dots>Configure UI. Then in edit mode click the three dots again, and then Unused entities. It is here where you should find the bulb.

This is how I got it working. So just my two cents.

1 Like

This was key for me. Thanks for posting!

Some of these kinda bulbs are Dual Voltage 110-220/240V. Any indication for these inside or on packaging or site?

i have been farting with this thing for over a week to try and get it to accept any type of flashing with zero success… it seems like it can detect the bulb but is telling me that it’s not compatible with flashing. can i get any tips i should do for trying this again? before my next attempt i’m going to format and start with a fresh raspian stretch and in stall tuya convert, but any help prior to would be great. thanks

I’ve had success with older versions of tuya convert. I never knew what would work until it did or didn’t.