WLED and TM1814


I am the (proud?) owner of TM1814 LED strips and am having trouble getting them to work with WLED. My Google search came up with a couple of threads that seem to indicate that WLED now supports TM1814 but when I hook up my strip, they don’t turn on. I know they are powered because I can feel them getting warm, but there is no light coming on. I also can’t see an option in the WLED UI for selecting TM1814s which I kind of expected since they have a non standard protocol (different timings, inverted signal, etc…). I did select 4 channel in the LED Preferences section.

I’m hoping someone can help with this since I am learning that although these RGBW strips have the features I want, it is tough finding a controller that works with them!



What kind of LED strip is TM1814? Analog, Addressable (digital), RGB, RGBW, RGBWW, COB?

It is an addressable RGBW strip. My understanding is that the protocol is different than other strips (different timing, inverted signal) and that NeoPixelBus has been updated to support.

Actually, if I peruse the WLED source code I can see a #define for TM1814 commented out. My latest attempt was to build WLED with that #define uncommented, but now I am having trouble with dependancies. I can’t seem to get a binary for ESPAsyncWebServer among others. Seems like it is in a PlatformIO repo, but I can’ find binaries and am going in circles trying to get it built so I can build WLED in Arduino IDE. So far I am on my 4th IDE for this project (Arduino IDE, Visual Studio, Platform IO IDE, VS Code).

Would really appreciate some help on this. I am a WLED noob (and LED strip noob) and am rather stuck.



Update: I got it to compile and installed it on my ESP32, but I noticed that the blue LED is constantly on (whereas when I use the binary downloaded from GitHub, the blue LED flashes) and the chip feels rather warm. Any ideas why this is?


Default data pin is the same as the LED, so that’s normal. I don’t know about the heating.


Regarding the heating, I reflashed with the binary that I downloaded and the same thing happened so I think it is just the wifi heatsink. No worries there.

On the other hand, I hooked up the LEDs with the newly flashed binary and they still are not lighting. Is there anything else I am supposed to do besides uncomment the #define TM1814 line? I only uncommented the one line and can confirm that the signal at GPIO2 is inverted and the leds flash faintly at power on, but then they go out and do not light orange or any other color I set. I have gone through and set all the LED preferences accordingly.

Can anyone offer some advice on how to proceed at this point? I would really like to get WLED working.



Update: I got an Adafruit Level Shifter to bring the data voltage up to 5v and hoped that would get the lights to work, but they still do no work. I have confirmed that the Data voltage is right around 5v. Does anyone have any ideas? I bought these strips because the WLED wiki says it supports TM1814. Has anyone actually tried WLED with TM1814 and got it working?

Just to wrap up this topic, I eventually gave up on the TM1814s and returned them for WS2811s which I KNOW work. Having this surety helped me navigate my newbie issues and I now have my WS2811s working beautifully. Very satisfying. Now I only need to mount everything outside…fuses, enclosures, AWG, terminal blocks… very educational.

1 Like

Hello everyone here in the forum. I am new here and have registered because I have not found a suitable answer anywhere! I also got to the problem of not getting the TM1814 LED String to work.

I have a lightbulb light chain, which has 3 RGB and a white LED installed with an extra TM1814 IC as control. now i would like to use this construct with wled !! Unfortunately it doesn’t work out of the box … :frowning:

I’m so desperate that I would replace the IC chip with a WS2811, but I would lose the white channel. - still better than completely dark :wink:

I hope that one of “our” problems of (probably) ignorance will be addressed here …

See https://forum.arduino.cc/index.php?topic=631680.0

Based on the “Compatible LED Strips” table the TM1814 are supported. However, when I select TM1814 in the GUI I no longer see any activity on the pin.
At this point I’m not even connecting LEDs, only a logic analyzer. This has been verified with an ESP8266 (mini D1) and two different flavors of ESP32 (WROOM and ESP32-CAM). If I change back to a different LED type I can see the output toggling.
Is there anything I’m missing?

Note: I wrote my own low level functions (making use of the RMT of the ESP32) and can control the TM1814 based light string. So I know that the combination of ESP32 and lights is working.

Which firmware version? What pin did you define in the led configuration? Does any other device also use that pin?

You can try an older firmer revision with the same data pin you are using just to verify it can work.

Thank you for the quick feedback. I’m trying to use pin 13, 14, 15. But for test purposes I also tried pin 2 (all ESP32-CAM). I also tried pin 4 on the WROOM ESP32. With the ESP8266 MINI D1 I tried pin 2.
I downloaded everything yesterday of Github, VERSION is defined to 2104030.
The “NeoPixelBus by Makuna” was also downloaded yesterday.

Is there any specific commit you would recommend to test?

For TM1814, I would hold off. Check this WLED open issue for your selected LED strip: TM1814 support might not be working correctly · Issue #1519 · Aircoookie/WLED · GitHub
Seems like a bug, and someone already submitted the code change(s) needed to fix it.

Thank you for the link. I actually started implementing some of those fixes last night. I got it working now, only the solid “effect” is not working. The TM1814 needs to be updated every 500ms, otherwise it will start it’s default cycle. I’ll ask that question in the other thread, given that someone else got it running there it will be good to have everything in one place. Thanks again for your immediate help! (One stop closer to my coordinate backyard lights :slight_smile:

I have got this same problem. Because my tm1814 was 12v i have got two separated power supplies: one for led a second power brick for providing 5v to esp 32. Solution was to connect both grounds.