LCS LedStrip ESP Drop-in Replacement
by EdgeBeyond in Circuits > LEDs
1695 Views, 1 Favorites, 0 Comments
LCS LedStrip ESP Drop-in Replacement
I bought a LSC Smart Connect ledstrip at the 'Action' store in the Netherlands. This is actually a Tuya strip which means you also need to use the Tuya software. And because I want to control this myself and NOT use the cloud, I bought a simple ESP12-F at Ali and used that as a drop-in replacement for the LCS/Tuya custom WB3S chip which is used from Version 1.1 onwards (second picture highlighted in red).
So... let's get soldering and configuring and regain control!
Prepare the ESP With Tasmota
First of all I need to make sure that the ESP32 has the base Tasmota. This is very easy to do, explained on the Tasmota getting started website or just follow the Easy ESP Tasmota Programming instructables article.
The way I did this was with some stuff I had lying around (picture 1) just a 10K resistor a USB-UART and a couple of breadboard wires. And although not pretty, it worked just fine.
But since I now am using a lot of ESP8266's, 12-E, F's etc in my projects must admit that I did upgrade my setup with a cheap ESP development board from Ali for 5 Euro's.
Open the Controller
Now that the prep work is done we can use a spudger to open the controller. It is held down by 4 tabs (highlighted in red). Once you opened the case, remove the PCB.
Remove the Old WB3S Chip
Clamp down the PCB and carefully remove the chip. As you can see from the second picture I first tried this first with a normal soldering iron but was not really successful (just look at the solderpads sticking to the chip, ooops). In the end I used a hot-air gun (actually, it was a simple paint-stripper, but it worked like a charm) to finally remove the WB3S chip. Just use lots of solder paste.
Put in the New ESP-12
I then just soldered the ESP-12F into the same place as the WB3S chip. It is fully pin-compatible so no worries. Also, you don't need to solder all pads since only GND, VCC, EN (tied low), GPIO0, 4, 12, 13 and 14 are used (as highlighted in green in picture 2).
Configure Tasmota
Now we just need to configure the ESP. So we go to the Tasmota webui for the IP (Picture 1) and configure the following ports:
- GPIO0: IRrecv
- GPIO4: PWM, 1
- GPIO12: PWM, 2
- GPIO13: PWM, 4
- GPIO14: PWM, 3
Or use the following template:
{"NAME":"LSC RGBW Strip","GPIO":[1088,0,0,0,416,0,0,0,417,419,418,0,0,0],"FLAG":0,"BASE":18}
After saving that the controller should restart and you are able to control the strip straight from your Tasmota webinterface (picture 2).
And you could stop here or move to the final step if you also want to control this from your Home Assistant.
Add to Home Assistant
Now for the last part.
- In Home Assistant make sure that you have an MQTT broker running. I use the Mosquitto broker (like the majority of people I guess). And in Configuration make sure that you have your MQTT Username and MQTT Password defined. We will need this in the next step.
- In your Tasmota webui configure the MQTT Parameters (picture 1). Make sure that you have the IP address of your Home Assistant server filled in (highlighted in red). NO http or anything, just the IP. And enter the MQTT username and password from step 1 (highlighted in green). And Save.
Now everything should be fine and your Home Assistant should have picked up this new MQTT device. If it is not there, just go back to the Tasmota webui and at the Console enter the:
setoption19 1
command which should send all configuration values to Home Assistant.
I used the rgb-light-card to control the led strip (picture 2) and here the lovelace code for that one:
type: entities show_header_toggle: false entities: - entity: light.lcs_ledstrip icon: 'mdi:bed' type: 'custom:slider-entity-row' name: Slaapkamer LEDstrip toggle: true - type: 'custom:rgb-light-card' entity: light.lcs_ledstrip hide_when_off: true colors: - rgb_color: - 234 - 136 - 140 brightness: 255 transition: 1 - rgb_color: - 251 - 180 - 139 brightness: 200 transition: 1 - rgb_color: - 136 - 198 - 237 brightness: 150 transition: 1 - rgb_color: - 140 - 231 - 185 brightness: 100 transition: 1