LCS LedStrip ESP Drop-in Replacement

by EdgeBeyond in Circuits > LEDs

1564 Views, 1 Favorites, 0 Comments

LCS LedStrip ESP Drop-in Replacement

Overview.png
IMG_0047.jpg
IMG_0043.jpg
IMG_20210319_112329160.jpg

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

IMG_3969.jpg
unnamed.png
IMG_0015.jpg

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

IMG_20210519_154545123.jpg

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

IMG_4088.jpg
IMG_4092.jpg

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

IMG_4094.jpg
Screenshot 2021-04-23 at 16.50.27.png

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

Screenshot 2021-06-04 at 21.03.57.png
Screenshot 2021-06-04 at 20.54.06.png

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

mqtt-config2.png
Screenshot 2021-06-04 at 21.43.26.png

Now for the last part.

  1. 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.
  2. 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