I can should be able to do a higher quality video of the top side, but I think this is the best I can get “looking down the hole” from the socket end.
That’s a tricky one, can you pull the pcb from the bottom using pliers? Nevermind, it won’t fit
I wonder if those are some kind of locking tabs on the led plate
Last resort is crack open the case and insert to a replacement bulb case but not exactly ideal solution if you have a bunch of them
I have 2 that I got for free, so I’m not completely opposed to a destructive solution. And that black wire is already starting to break; I’m going to need that board out…
So… I cut the plastic off, and I think I learned nothing =D. No, I think I did get some more insight into how it’s constructed. And I can reach replace the black wire now. And everything I’ve done so far should go back together with tape and some glue if I want to permanently close it up.
So at this point I was thinking, “you need a canopener”. And not actually thinking a can opener would help I did try one and mangled a small portion of that top edge.
Then I realized, just use a pliers and fold the top edge back a little bit…
that white goop on the microcontroller seems to e something different than silicon. I thought it was just holding the board in place, but it’s kinda brittle. Something thermally conductive maybe?
It’s definitely an ESP32, though. Not sure the specific board.
Nice, so i take it the silicon was holding the led plate and you just need to pry the edge a bit
It’s an esp32c3-12f, flashing is similar to esp12s
Hopefully it’s not bootloader locked like amazon devices
hmm, the ESP32ce-12f module has fewer pins. Mine has 11 pins down each side and 9 across the bottom.
But I found from here that I needed to hold GPIO8 high and GPIO9 low.. Those two pins (along with GPIO2) are called the “strapping pins” I guess.
The board is well labeled. Gnd and 3v3 are easy to find. The spring clips on the back of the board provide ground to the LED board and are easy to clip on to. TX is TX (so connect to RX on the computer), RX is RX. SL1 is GPIO8. SL2 is GPIO9. S for strapping, L for line? On normal power up, SL1 was floating and SL2 was high.
$ esptool.py --port /dev/ttyUSB0 flash_id
esptool.py v4.7.0
Serial port /dev/ttyUSB0
Connecting...
Detecting chip type... ESP32-C3
Chip is ESP32-C3 (QFN32) (revision v0.4)
Features: WiFi, BLE, Embedded Flash 4MB (XMC)
Crystal is 40MHz
MAC: 48:ca:43:XX:XX:XX
Stub is already running. No upload is necessary.
Manufacturer: 20
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...
So I did the following:
# backup full flash image:
$ esptool.py --port /dev/ttyUSB0 read_flash 0x00000 0x400000 Likind_original.bin
# flash tasmota
$ esptool.py write_flash 0x0 tasmota32c3.factory.bin
And success! And here’s the device configuration I used. (No need for SetOption37
)
{"NAME":"Linkind_LS10012142RGBCCT","GPIO":[0,0,0,0,0,0,9056,9024,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":1}
The template is not complete as the bulb has power monitoring as well. But the above is sufficient to use it as a light. … Also it’s not nearly as bright as the bulb that still running the original firmware.
Here’s some photos of taking the 2nd one apart. The best way seems to be exactly what you told me originally. Applying all of the force near the edge is the important part.
-
Remove the plastic globe (not pictured). This is clips into place but they also added some silicone. (not pictured)
-
Remove the bottom button so you don’t damage the HOT wire.
-
Use a socket to remove the threaded bottom.
-
Insert something long and narrow to pop out the LED board. It’s held in tightly with friction. Push as near the edge of the board as possible, so insert on the side with the capacitors and tilt the tip towards the outside.
I’ve found the LED board from one bulb does not fit nicely in the base from another bulb. But they really do come apart rather easily now that I understand the technique.
So far I’ve only figured out 5 of the 6 pins on the LED board (bp5758 (HV in), SDA, SCL, LED+, GND, , I think that 6th pin is probably NC. Looking at the boards more closely, I don’t think there’s any actual power monitoring. I think the factory firmware probably just calculates this based on the set brightness and duration. As far as other IO on the ESP32: GPIO11
is always high (I think that’s internally pulled high by VDD_SPI
). And it seems GPIO18
need to be low to enable the LED output, it’s connected to a FET (Q2
) that controls the HV dc output for the LED board.
From what I can tell, Tasmota always sets a max current of 14mA per channel. At some point I’ll try and capture the i2c traffic from a bulb with the factory firmware to see what it’s setting for current limits.