Flashing the Lepro N1 LED Rope with WLED (ESP32‑S3)

Firstly, I can’t go any further without stating that the information found within this article all stems from Patrick at Vicious Computers, now “infamous” YouTube video. I say infamous, but literally all roads lead to his video when you search for “Flashing” “Lepro” and “WLED“. This article, is pretty much the “written” version of the video – and even then, Patrick does have a written version, albeit IN the video – but I struggled with having to pause, rewind, fast forward, zoom in etc.

There’s also an addition. This article focuses solely on the Lepro N1 AI Smart Neon Rope Light 10M RGB+IC, whereas Patrick’s video focuses on the TB1 lamp. Ultimately, both seemingly utilise the ESP32‑S3.

Secondly, this is yet another post of mine in recent weeks that see’s UART being used and referenced. Is this is becoming a thing? (I hope not – it’s fiddly!)

Finally. Other than tools to connect to the ESP32, no physical hacking or modification to the Lepro hardware is required. We’re replacing the software on the ESP32 that the unit ships with – how you prepare the tooling to perform this software replacement is upto you. And of course, doing this will invalidate any warranty you have, so this as usual, remains entirely at your own risk (and ability).

Prerequisites / Required Tooling

You require tooling to be able to hook up your computer to the ESP32-S3-Mini-1 in use by the Lepro devices. For me, this tooling consisted of;

My “toolkit” comprises of a no-solder solution for performing this routine, however, there are many ways you can hook up your ESP32 to your computer. So you do what works best for you.

Connecting the Tooling

Unbox your Lepro lighting, and find the controller. Simple enough, it’s the bit with the button on.

Grab your small flat blade screwdriver and start by prying open the controller at the end with the writing on it. I’m certain it likely doesn’t matter which end you start at, but meh! If you lever it enough, the middle clips should pop and from there you can work your full way around the controller, revealing the ESP32 and retaining the use of the casing as you’ve opened it so nicely 🙂

From here, the PCB of the ESP just lifts out. It’s not that fragile, but just be careful as the wiring is soldered to the board.

Next up, we need to connect the ESP to out USB to Serial adapter, so that we can talk to it using our computer. I’m saying “computer”, because both Windows and Mac devices should be supported – but for clarity, I’m performing these actions on a Windows device. Most USB to Serial adapters will offer you the ability to define 3.3V or 5V. In this instance, and most instances, you’ll want 3.3V (although in this guide, the power won’t actually be coming from the USB adapter)…

A typical communication flow when using a USB to Serial adapter like this revolves around having some form of power (3.3V/5V) then transmission (TXD), receiving (RXD) and grounding (GND) wires (UART lines). The transmission and receipt comms wires cross between source and destination. This can be hard to picture, hence the horrific scribble below in which I try to clear this up.

You’ll notice nothing on the power lines. For this process however the power will come from the original DC jack and wall wort. As identified and confirmed by Patrick, giving the ESP anything less than the power it ships with can lead to issues with brown outs and general misbehaving. So when performing this mod, we’ll just be connecting TXD, RXD and GND, which is just 3 of the common 5 UART lines.

In addition to these “normal” communication wires, we need to ground out IO0 on the ESP32 to ensure it goes into “Firmware Update” mode. If we don’t ground out IO0, we can’t flash the chip, and we’re unable to proceed. This is where my second pogo pin clamp comes in handy.

With the pin clamps and USB TTL adapter hooked together, it’s just a case of placing the pogo clamps and connecting the adapter to the computer.

Now we just hook up the power and we’re set.

What you’ll likely notice is that, without IO0 grounded, the rope will light up and go through it’s normal software booting process. Ground out IO0, and you’ll probably not even know the thing is powered up… that’s because it goes into flashing mode. If you use something like Tera Term or Putty, you’ll see this reflected in the console.

Anyway, next steps now we have all our wiring etc in place.

Flashing Tasmota

The first step now is to flash Tasmota to the ESP32. Tasmota is an open-source, local-control firmware for ESP8266/ESP32-based smart home devices (plugs, switches, lights). It replaces proprietary cloud-based factory firmware, enabling control via MQTT, HTTP, or a web UI without internet dependency. It offers increased privacy, speed, and customisation, supporting thousands of devices. In this procedure, Tasmota is a stepping stone to WLED.

Flashing Tasmota at this point should be fairly simple as long as we have everything hooked up correctly. There’s a web flashing too which makes life really easy.

Visit https://arendst.github.io/Tasmota-firmware/ and select Tasmota for 4MB Flash. Leave the Baud rate at the recommended 2000000 and press Connect. You’ll be asked for the COM port on which your USB to Serial adapter is connected – after pressing OK, the web flasher will attempt to connect to your ESP via your USB device, and magic should happen.

Note: I couldn’t get the web installer to work via https://tasmota.github.io/install/, I kept getting issues with Manifest errors.

Note: Continuing will erase your ESP32, youre Lepro software will be gone. The process here is irreversible.

Once Tasmota has installed, you can disconnect the pin clamps, or just the IO0 pin if preferred. Leaving IO0 connected will continue to boot the ESP into Flash mode.

After power cycling the device, you should notice a new Wireless Access Point being broadcast in your vicinity. This will be a byproduct of installing Tasmota.

Join the Tasmota wireless network, and this will connect you to the Tasmota software installed on the ESP32. After connecting to the Tasmota network, you should be able to connect to http://192.168.4.1 – the Tasmota software.

From here we configure Tasmota to connect to your own wireless network as a device. Select the SSID offered, or enter the SSID information manually and click Save.

The device will restart, and now you should be able to connect back to your actual Wireless Network, on which your Tasmota device should have an IP address on your network. You might need to check your router to find out it’s IP address, or sniff out the IP to be able to reconnect to it.

All we need to do here is use Tasmota as a mechanism for installing the WLED firmware.

Flashing WLED

So lets grab the latest 4MB WLED image by browsing to https://github.com/wled/WLED/releases – save it somewhere sensible.

Now hopefully you’ve found your Tasmota IP address. Browse into Tasmota, and goto Firmware Upgrade.

From the Firmware Upgrade page, browse to the downloaded WLED image, and click Update. This will install WLED onto the ESP.

Shortly afterwards, you should receive a success notification. Now after the next power cycle/boot, much like after Tasmota was installed, you should see a WLED-AP Wireless Network. Connect to this, using wled1234 if asked for a password.

And ta daaaaa. WLED. Nearly there.

Click on Wifi Settings, and again, much like we did with Tasmota, we need to join WLED to your own network.

Due to the MAC address being the same, ARP/DHCP might save you and you might find that after connecting WLED to your network, you can reach the WLED platform at the IP Address you fished out earlier for Tasmota.

Browsing to the IP address should now give you the full fat WLED interface.

Job done….. Nearly!

Why aren’t my lights working?

You’ve now got WLED up and running, good job. But you’ll likely notice your lights aren’t working.

We need to reconfigure WLED to reroute some of the GPIO ports, press Config along the top menu and modify accordingly.

Again, thanks to Patrick, mirror these settings.

Length: 196

Data GPIO: 11

Button 0 GPIO: 13 Pushbutton

Relay GPIO: 38

Invert: Ticked

Open drain: Unticked

Power cycling the unit now, you should find that WLED can control the LEDs and that the button works. Hurrah!

If it doesn’t work…

Revisit each step. It’s a linear process, so depending on where you get stuck, will depend on when/where and how to troubleshoot.

Failing to install Tasmota? Check your wiring/connectivity. Use things like Tera Term to check console access. If you can’t get Tasmota installed, you should have the Lepro software, and as such, you might need to reconsider this process if you’re failing at the first hurdle.

Failing to install WLED? Check that you’re using the right image for WLED.

Lights not working? Check the Configuration matches the GPIO settings outlined in the guide. If they don’t match, you’ll likely face issues. There is every possibility that Lepro could change the design/components used at any moment and render this guide defective or out of date. Check that your hardware matches what is described within the article.

James avatar

Leave a Reply

Your email address will not be published. Required fields are marked *