Wled: Is possible to use 5050 RGB Led Strip instead of WS2812b ?

Created on 15 Oct 2018  ·  39Comments  ·  Source: Aircoookie/WLED

I have a long strip available for free and I'd like to know if it's possible to easily adapt this project to use that full strip of 5050 as at least 1 big RGB Led in this project ?

enhancement

Most helpful comment

@tonyn0 awesome! Would you mind sharing? I was going to add analog LED support for ESP32 using ledc, but didn't have the time yet :)

Hi Aircoookie,

I added support for ESP32 for both IR-Receiver and solid 5050 RGB(W) stripes last weekend.
I will create a PR in the next days.

Would you like to have this separated in two PR's ?
...one for the solid RGB stripes using ledc
...one for IR-Remote ?

(the IR-remote replaces the "on/off" switch in the config by an integer number and enabled different IR-Remote types (0=off, 1=1st IR-remote, 2=2nd IR-Remote, etc.) so we can switch between different types without recompiling.

All 39 comments

Yes, this is possible, although you'll need additional hardware, namely three output MOSFETs for each R, G and B channel (these strips use a lot of power) and a controller that can send PWM signals to said MOSFETs. Any old Arduino will do, but not the ESP itself, since it can't do reliable PWM together with WiFi functions. Ideally we'd use a WS2811 chip since it can use the same protocol as WS2812B, but adapting WLED to send the signal to an Arduino Uno or whatever via SPI can easily be done (i'd do this step for you, you just need the Arduino + some simple code to translate the SPI from the ESP to RGB PWM outputs). Maybe you can also find some ready to use LED controller that already has the MOSFETs to drive the strip built-in. Let me know if I can help you on the software side once you find suitable hardware :)

I do have a circuit already runnning with an small 5050 led strip (20 cm) and it was quite easy to build for that size, what I'm wondering if that's "adaptable" to the code easily somehow... what do you think ?

Thanks @Aircoookie !

Ok, it seems like the ESPs PWM might even be stable enough so we don't need another Arduino.
To see if your circuit is enough, look at the datasheets of the three transistors and find out their max. current (consistent drain). You'll probably need MOSFETs for this. Then you can ideally measure the current draw of your long 5050 strip on full white (if you can't, it should be about 1.5Amps/Meter) and see if it divided by 3 is lower than the max. current in the transistor datasheet.

Here is a small (untested!) example code on how to control the 5050 strip from wled. Connect R-G-B transistor source pins to GPIO 12-14 (D6, D7, D5 on Wemos D1 mini).
You just need to replace the NpbWrapper.h file with this version: https://gist.github.com/Aircoookie/fc0670a077eff1e7cfd4aa707b581214
I hope it works well. There could be flicker with the PWM, in which case we'd need to find another solution :)

It seems to be working perfectly fine ! The video is not very good with colors, but it's quite acurate. I need to replace the LM7805 that I'm using for power as it's getting hot, but the MOFET's, and the code seems to be working fine !

https://youtu.be/xQs4N_8qOuU

Thanks @Aircoookie, will make some tests later on a safer power supply (and my 5 mts strip).

For some reason, Alexa is not able to turn off the RGB 5050, she finds the device, it says "ok" but the leds stay ON (I think they go down in intesity and effects in progress get interrupted, but the lights stay on).

Any ideas ? By the way, what could be a good Windows software to make the leds change colors with the music or movies ? Tried Hyperion with Kodi but was too confusing...

By the way, great work with the WLED project man... it's very cool.

awesome i was wondering if this setup would work

The Wled project is really cool i have integrated the code on rgb5050 leds but alexa is not working.

Can anyone please help me with this.....????

Hi thanks for sharing this this awesome project Aircoookie.
For info I have used the modified NpbWrapper as linked above with this shield Velleman KA01 RGB Shield Kit for Arduino
https://www.vellemanformakers.com/product/rgb-shield-for-arduino-ka01/
I plugged the shield into a Wemos D1R2 https://www.instructables.com/id/Programming-the-WeMos-Using-Arduino-SoftwareIDE/
pins need changing in the NpbWrapper to suit the shield as follows :-
//init PWM pins
pinMode(D6, OUTPUT);//12
pinMode(D5, OUTPUT);//13
pinMode(D3, OUTPUT);//14

Hi guys! Awesome project, thanks a bunch Aircookie! I was just wondering about something: I have a Blitzwolf lt11 led strip which uses 5050 led chips. Currently, I'm running Tasmota on it and wanted to see if I can just change the firmware on the controller and it would work?
Thanks very much in advance!
Daniel

Hello, I am running a Sonoff L1 which uses an ESP chip, was wondering if I can flash it with WLED and have the 5050 strip still work. I saw that Tasmota is compatible but not sure about this.

With release 0.9 the “solid RGB stripes” aka 5050 stripes are supported.

5050 refers to the led without an individually addressed chip?

On Tue, Dec 31, 2019 at 10:24 PM Def3nder notifications@github.com wrote:

With release 0.9 the “solid RGB stripes” aka 5050 stripes are supported.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Aircoookie/WLED/issues/58?email_source=notifications&email_token=AMSH4S4AZWTDFV5XDV6IV23Q3QEFFA5CNFSM4F3T44SKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH44LTA#issuecomment-570017228,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMSH4S74JVPCS3HOZDX2NXLQ3QEFFANCNFSM4F3T44SA
.

>

Regards,
James Bahr
Operations Manager

FieldTEKS.com
415.985.4420

Yes, the entire strip has the same efect and color, this is an analog strip. The 5050 it's in fact the size of the led 5mmx5mm.

I just tried that wrapper in the latest version and it's not compiling. Any ideas?

exit status 1
'NeoEsp32RmtWS2813_V3Method' was not declared in this scope

@tonyn0 you can try and replace the method name with NeoEsp32Rmt0Ws2812xMethod and it should compile. I will update the gist.

That said, I do not recommend using it anymore as the latest WLED source offers native support.
Just uncomment #define WLED_USE_ANALOG_LEDS in line 8 of NpbWrapper.h :)

Thanks. I thought I had the latest but did not!

Umm. Can you check the source ZIP? Line 8 is not what you say it should be.

Did you use the "Clone or download" button in the top right of the main repo page?
The line definitely is correct:
https://github.com/Aircoookie/WLED/blob/master/wled00/NpbWrapper.h#L8

User error! :D Thanks. All good now. Also, I modified it for the ESP32.

@tonyn0 awesome! Would you mind sharing? I was going to add analog LED support for ESP32 using ledc, but didn't have the time yet :)

@Aircoookie I'm brand new to Github, so I need to figure out how. ;)

I also want to find out just how many outputs _can_ be used.

@tonyn0 awesome! Would you mind sharing? I was going to add analog LED support for ESP32 using ledc, but didn't have the time yet :)

Hi Aircoookie,

I added support for ESP32 for both IR-Receiver and solid 5050 RGB(W) stripes last weekend.
I will create a PR in the next days.

Would you like to have this separated in two PR's ?
...one for the solid RGB stripes using ledc
...one for IR-Remote ?

(the IR-remote replaces the "on/off" switch in the config by an integer number and enabled different IR-Remote types (0=off, 1=1st IR-remote, 2=2nd IR-Remote, etc.) so we can switch between different types without recompiling.

@Def3nder that sounds good!
More granular pull requests are welcome, that makes it easier for me to review and approve the changes, which means less work and a quicker merge :)

With release 0.9 the “solid RGB stripes” aka 5050 stripes are supported.

Do you know how I can activate this?

Hi @Smokrow ,
look in the platformio.ini file - there are some build-flags:

  • WLED_USE_ANALOG_LEDS
  • WLED_USE_H801
  • WLED_ENABLE_5CH_LEDS

... if you have problems, just tell me your PINs for R,G,B and W (if you have an RGBW strip) and your Button-PIN (if used) then I compile a release for you.

Hi @Def3nder.

This worked like a charm :) Thank you

I plan on adding support for four, RGBW channels based on the _rough_ plan below, unless someone knows in advance that it _won't_ work. ;) I'm using ESP32s so just starting with that.

_wled00.ino_

ifdef WLED_USE_ANALOG_LEDS

//define led pins, RGBW order, channels 0-3
byte ledpin[16] = {15,2,5,4, 5,18,19,21, 13,12,14,27, 26,25,33,32}

endif

_npbwrapper.h_
void Begin(NeoPixelType type, uint16_t countPixels)

ifdef WLED_USE_ANALOG_LEDS

#ifdef ARDUINO_ARCH_ESP32
for( byte i = 0; i < 16; i++) {
ledcSetup(i, 5000, 8);
ledcAttachPin(ledpin[i], i);
}

void SetPixelColor(uint16_t indexPixel, RgbwColor color)

ifdef WLED_USE_ANALOG_LEDS

if (indexPixel >3) return; //set analog LEDs from first four pixels

void SetRgbwPwm(uint8_t r, uint8_t g, uint8_t b, uint8_t w, uint8_t w2=0, uint8_t i)

ifdef ARDUINO_ARCH_ESP32

ledcWrite(i*3, r);        //RPIN
    ledcWrite(i*3+1, g);  //GPIN
    ledcWrite(i*3+2, b);  //BPIN
    ledcWrite(i*3+3, w);  //WPIN  ** handle greyscale conversion

endif

Hi @tonyn0, this will break 5-channel support 😢
...and you would get the first 4 pixels mapped to three strips.

My suggestion would be to use the first pixel of each segment as "analog color".
So if we have 4 analog strips, you would define the 16 PINs for RGBW (or 20 PINS for RGBWCT) and create 4 segments. This way could can run different effects on each segment.

With your idea you could define 4 segments, too, but the effects will not work on segments with a SEGLEN of 1.

To get good results you with analog LED strips the segment needs to be at least 30 pixel or bigger.

Eh, I can't even see myself using RGBW. A good app negates the need. It may be more of a pain, but I didn't mind too much with another system that I used. This may be why I bumped an issue mentioning color correction. ;) With prices dropping, RGBW may have already come down to the level of RGB, though.

How am I grabbing the first four pixels instead of three? Isn't indexPixel each LED?

sorry, I meant "you get the first 4 pixels mapped to four strips" 😄
Indeed, an analog RGBW strip with 4-in-1-LEDs does cost about 5 USD for 5m (if you have some time - delivery takes about 4 to 5 weeks): look here.

And: the "white" color is so much warmer (if you grab the RGBWW version) then normal RGB strips.
(and: the 12V strip does not has problems with white's getting "yellowish" when strip is longer than 3m)

Stop thinking RGB white needs to be equal values. This is what color correction is for. ;)

yes, you are right.

In an other thread with Aircookie we are just discussing the use of a new color model.
This would be R, G, B, W, Color Temperature, Light-capabilities.

Then you could enter the capabilities of your light like "RGB-only", with white at 2700k or with dual white at 2700k and 6500k and so on.

The UI would get an additional slider beside white: color temperature.

But this is future music 😄

Yes, I can work on that as well if no one else does.

That definitely needs color correction. ;)

Update: I just found that analog, RGB LED's are not supported in the code currently, just RGBW[W]. o.O

I've got RGB working, but just the first output. Some debug printing shows I'm only seeing an indexPixel of 0 in SetPixelColor (I expect to see 0-3). =/

Can some one show me the connection diagram? How I can hookup these LEDs to wemos?

Hi @pniewiadowski . No idea what you already know or what you already tried to research yourself. Nor what your configuration is. You can find diagrams here: https://www.google.com/search?q=wemos+d1+led+strip+diagram&source=lnms&tbm=isch&sa=X&biw=1543&bih=846 . Based on your question it might be needed to start with some basic knowledge: i've listed sources (video's) that helped me get introduced into the subject that might help you as well: https://raoulteeuwen.blogspot.com/2019/08/starting-with-led-strips.html .

So. do we have RGB "analog leds" support in the 0.10.0 version ? I am asking because I am trying to get the changed file into the source but it fails to compile (probably many changes since it was written).

So. do we have RGB "analog leds" support in the 0.10.0 version ? I am asking because I am trying to get the changed file into the source but it fails to compile (probably many changes since it was written).

Laut der Firmware kann man jetzt 4 pin LEDs also RGB auswählen. Habe ich gerade gesehen. Gucke mal unter den LED Settings.

hello I would like to connect an analog RGB band to the WLED. Which hardware do I need exactly. N Chanel or or P Chanel Fets. could someone provide a small circuit board. thanks

Was this page helpful?
0 / 5 - 0 ratings

Related issues

djhampson picture djhampson  ·  3Comments

Sasquatch6ft9 picture Sasquatch6ft9  ·  4Comments

brausepaule picture brausepaule  ·  3Comments

jwingefeld picture jwingefeld  ·  3Comments

Mombonav picture Mombonav  ·  4Comments