Probably I have seen 100+ videos but this one is the best explanation so far, meticulous information on all aspects in this project. A good teacher. Hats off to you.
I've spent 2 weeks in the LED rabbit hole after my daughter asked for lights for her room and of course I picked the "wrong" ones. Finally learned enough to feel comfortable with what to order to build out but was confused about the FastLED programming. This video was by FAR the most informative and easy to follow for building out my project for her. Thank you so much!
Firstly I thought this video is boring, but when it came to coding, I went out really useful! Thank you author, always wanted to get in to LED coding but never had enough patience to figure it out!
Excellent quality video, thank you. 12:22 --- helpful clarification, implying best practice to duly compute the current draw for each specific LED strip. 7:01 --- like 👍 how you explain transient power and benefits of the 1000uf capacitor 20:32 --- a super cool😎 LED chaser!
I was planning on doing a DIY project to light up my workspace/gaming desk with an addressable RGB strip. Gone through many, literally many other videos for this. Although all of them do show how to make the connections, which parts to use, and the software. However, what they fail to cover is the most important part. The power and current required, as well as the usage of the resistor and capacitor, which are equally very important. If not for this I would probably end up ruining the strip, which is practically the most expensive part of the whole project (At least here in India). This video should be at the top when someone searches. Please give it as many likes as possible for TH-cam to know that THIS video is exactly what people are searching for! A huge thanks to you @GadgetReboot for putting such a detailed and informative video about the project. I have already ordered all the required parts, they should arrive in a few days, and then I will give it a go! I will surely update here. Again, many many thanks.
@@GadgetReboot Hi, so I do have a question and I think you're the best person to ask this. In several other videos (Which were precisely more about 'Ambient Lighting' for monitors), I saw people using Prismatik, which is a GUI software for controlling the LEDs. I know that manually handling stuff can add to the experience, and I wish to do it. But If I want to take a short route right now with my setup, is it possible that I can use a similar companion software? Any that you know off?
So I hooked up my 8X32 massive matrix of LEDs which was super cheap..and tested it with the FastLED library..it was terrible..until I saw your video. Added that 220 Ohm resistor to the data line and bang..it works perfect. Thanks!
Excellent video, upvoted. Incredibly useful. Resumé: no led address, first there first served, data arrives to led, data packet is prelevé, then the remaining data left is passed to next led for him to deal with it. Decoupling capacitor + resistor for led strip. Have common ground for arduino and strip. Enough Current? for 60 lights (20mA for R, 20mA for B, 20mA for G: makes a total of 60mA per led in "theory worst case scenario"). But in practice: for his strip/build, All lights on => 1light+standby for 59 off lights = 87mA, 54mA for all off, 2.033A for 60leds, about 34mA for one fullPixel. a bit over half of theory max. FastLED.h library.
A wonderful video with clear detail. Exactly what I needed to know, when I needed to know it. How someone would down-vote this is beyond my understanding.
I’m glad it was helpful, I try to give extra detail instead of just demonstrating something without explaining it, if I happen to know how to explain it of course, which isn’t all the time.
about 19:41 you are showing a website. tried to visit the website over the link in tzhe description, but didnt find it, please tell me where i can find that exactly
It looks like they changed the site but this seems to be the closest match to what I saw before www.rapidtables.com/web/color/RGB_Color.html#color-picker
This is the best ever explanation of FastLED that I have found. Ever line is explained and that helps. Thanks a bunch for taking your time. In your code with the chasing lights, what do you have to do in the code to increase the grouping of LEDs for one color from 3 to 5 or 6? The intuitive thing would be to keep the number to an odd number so you can track the center. I've tried several approaches to no avail.
TYSM i have running in and out trying to test my WS2812B s to check where my problem lies and thank you to your video which made it work , i have been sleepless and tired from past 3 days , now i can sleep[ ...
Great video. I have got all the bits ordered. However what code was running at 6 minutes in. When your explaining the data line. As I would like to know how to make the random white flashes of light?
I think it was the demoreel100 that comes with FastLED: github.com/FastLED/FastLED/tree/master/examples It cycles through a bunch of different patterns and is more easily recognized with more LEDs in the string - when I ran it with just 16 LEDs it was hard to realize it was the same sketch.
I love this video! I'm working on a project where I have to provide longs strips of neopixels (+7 meters) with data and I read that there is considerable voltage drop and I didn't know if that voltage drop also applied to the signal. This question was answered in the first 3 minutes of this video. The next question is: how do I run 12 strips of 7 meters parallel to create compound effects? I've already solved the supply power problem because in the worst case I would only have to light about 25% of the whole array (12 strings of 7 meters at 30pixels/meter could be powered by a single 5V, 300 Watt supply, unless my math is horribly wrong). Now I just have to find a way to provide different effects to different LED-strings at the same time to create some cool effects. Any advice on that? None the less, awesome video GadgetReboot!!!!
Sounds like each of the 12 strips is basically its own project so worst case, all have separate Arduinos but sharing the power. I haven't tried running multiple different strips from one processor but it may be possible to just try assigning multiple data pin outputs instead of just the one, and talk to each one within the same sketch when it's time to update each one. Maybe if there's too much activity updating too often, it would get bogged down and that's where separate modules would help.
I was actually surprised it worked out as it did across 60 LEDs based on measuring just one. I figured there would be a measurement rounding error that would catch on.
Thanks! My students found this video great for our fashion tech projects! Showing it at SteamHead Makerspace and also International School of Nanshan in China!
cada vídeo que assisto seu , mas o respeito que sinto aumenta...Muto obrigados por seu ensinamentos. Every video you watch, but the respect I feel increases ... I’m very obligatory for your teachings.
Do you already have a VU circuit and you just need a way to display the output? I guess it could be a very general topic that could be implemented in many different ways for example if it’s all done in hardware and you have an analog signal representing VU strength, you could read that analog voltage into an Arduino and then turn on the appropriate number of LEDs in a certain color to represent that level. Or if you’re using all digital processing like a teensy board then all the information is in there and again you light up the appropriate number of LEDs in the appropriate color. It also depends if you just have a single bar representing the strength or if you have multiple bars like a spectrum analyzer that you want to light up for different frequency component strengths. I may do some sort of project relating to all of this but for now, you may find another video I did interesting using an Adafruit matrix library instead of this one to show how to light up and control LEDs in a grid instead of a strip. As a demo I mocked up a spectrum analyzer EQ bar graph by just hard coding certain levels to show what it might look like if it were actually implemented. Someday I will implement it. th-cam.com/video/j_VvLHZEPZ4/w-d-xo.html
Excellent tutorial - I am new to this and was able to get the final demonstration with potentiometer working which is really cool.! Stupid question - how can i add more than 3 LEDs in the potentiometer example? For example make it 10 pixels instead of 3. I've tried changing up some of the code but I get different effects rather than expanding the row of leds. I have a 500 LED strip that is WS2815 and would be cool if can make the blue and green row longer than 3.
Does fastled have any sort of "fill clock"? What i am doing is making a lightsaber display. I want the leds to light up matched to an ignition sound effect that lasts ~300ms starting from the first led and lighting one at a time towards the end.
I wonder if this fast LED painter library might be of use, I haven’t tried it yet but it looks like there’s an ability to control speed of the pixels. github.com/DedeHai/FastLEDPainter Otherwise from what I can tell, the speed of fast LED animations is just controlled using delays to proceed at different rates. So if I had 30 LEDs that I want to light up evenly over 300 ms, I would have a 10 ms delay between each sequence update.
Some say you need a capacitor to also protect the LEDs from inrush current from the psu. However, they never specify how many amps the psu uses. But when you want to calculate what capacitor you need to use you do want to know your amps. A lot of them just say: use a 1000uF 6.3 at least. How do I choose the right capacitor, capacitance and volts, to protect my LEDs from the inrush current? *inrush current can be as high as 20x(some sources say even 50) the given steady state current and can take up to 0,02 seconds to go to the steady state current. So to determine what you need for inrush current protection you need to multiple your amps by 20 times. So when you use that for your capacitance calculations, for example I have a 5VDC 20A psu, I need a Farads= (amps*seconds)/volts=(20*20A*0.02s)/5V=1.6F is 'super' capacitor territory. I am no electrical engineer so I googled all this, but many sources say the same. So I indeed need a whopping 1.6F capacitor to smooth out my inrush current?
I was going through old eBay purchase history this evening and I noticed I ordered those LEDs almost a year ago, and only got around to opening the packages a couple of months ago . I hope to make up for that this year even if it just means a bunch of fancy light show projects.
Question for you, I bought the WS2811 LED's (i have 100 of them) and the Arduino Uno R3 board. Would I set it up like your setup here with the resistor and the capacitor? I am all new to this sort of lighting and my project (if it works out) will be for my computer table lighting. I might however buy these lighting strips as I really like the way they look. Any info would be much appreciated. I supported your channel and rang the BELL! oh , would an old computer power supply work as well for the LED power? 5VDC is my power needed for the WS2811's.
yes the set up would be the same and then in the Arduino sketch you would change any reference to WS2812, to WS2811 so that fastled will know how to properly address them. I have used a computer 5 V power supply, the only requirement is to make sure it has enough current and one way to do that without measuring anything would be to control the brightness of all the LEDs to something relatively low, set every LED to full white, and then gradually increase the brightness and see if all the lights can behave properly or if some toward the far end of the strip start looking less bright, the power supply either can’t deliver enough current, or maybe it can but you would need to run an extra set of 5 V and ground wires further down the strip and attach them so the further LEDs have another place to draw current.
@@GadgetReboot hey, another question for you. I have tried to download the fastled in the library and I cannot get it to download anything. Do I have to be a subscriber to the website?
Hi! Is there a way to control when a led is off? In your example I saw that all the leds are off at the same time . But I need to turn them off at different times. This tutorial is awsome
Do you mean the example sketches I made and put on github, or those demo sketches that come with the fast LED library? If I wanted to customize an example from the fast LED library I’d have to analyze it and hack it to override certain LEDs and turn them off. If I want to turn off a specific LED in my own sketch, I just set its red green and blue levels to all zero, or set the color name to Black whenever it’s time to turn one off. So if it is LED number five that I want to turn off specifically, I could do it these different ways: leds[5] = CRGB(0, 0, 0); leds[5].r = 0; leds[5].g = 0; leds[5].b = 0; leds[5].setRGB(0, 0, 0); leds[5] = 0x000000; leds[5] = CRGB::Black;
@@GadgetReboot Thanks so much. I´m now traying. So I have the led 5 off. How do I make the led 5 LEDs turn on after 3 seconds of being off and then turn on again with a delay of 2 seconds for example? What I really need to do is that the first 10 LEDs light up all together (from 0 to 9) and after 5 seconds they all turn off and then turn on after 3 seconds and turn off after 3 seconds. In parallel I need the LED 10 to 19 do the same but at different times than those from 0 to 9. That is, when the first 10 LEDs are on, the second 10 LEDs are off. I hope you understand!
To control multiple timing intervals without using the simple delay command, which would pause the program and not let everything run in the background, you would be best to use the millis() function. There is a forum thread with examples of how to use it to blink lights: forum.arduino.cc/index.php?topic=503368.0 In that first example they have a variable called Period which they set to 1000 which means 1000 ms or one second. If you want to track multiple intervals you could create multiple variables like that like period1 period2 and set up different numbers of milliseconds. Then in the loop you do the comparison like they do for just the one blinking light and you just add comparisons for your extra timings and if the timer has reached that amount of passed time, then you turn those various LEDs on or off and then you can do it all in parallel without messing anything up and causing extra delays so you would have if statements to go and change those certain LEDs every time five seconds or three seconds or however much time has passed.
Excellent tutorial. Extremely helpful. Q: why can't the 5V DC external power supply also power the Arduino? I'm assuming you've got it connected via USB to the computer for uploading code, but in the wild it needs to get power from somewhere. Are you saying there needs to be two separate power supplies?
I can’t remember exactly what I said but I’m thinking what I meant was if the Arduino is being powered from USB or some other light current power source, that won’t be enough current to drive a certain amount of LEDs so that’s when extra power is needed but if there is a 5 V higher current power supply available for the LEDs, that can also power the Arduino The only possible consideration then would be if there’s any sort of noise introduced on the power supply because of the LEDs turning on and off and causing momentary high current demands, it could drag the 5 V down slightly at times and cause the Arduino to reset so then maybe some extra capacitors on the Arduino 5 V pins might help
Hi again! I have been successful in setting up my LED strips as per the schematics. Now, what I want to do is, display a single color throughout my strip using CHSV color space. Instead of adding color value to individual LEDs like the following, can I set define one color for all 60 LEDs? If so, then how? leds[0] = CHSV( HUE_GREEN, 255, 255); leds[1] = CHSV( HUE_GREEN, 150, 255); ....... leds[58] = CHSV( HUE_ORANGE, 255, 255); leds[59] = CHSV( HUE_ORANGE, 150, 255);
I would look at the various fill functions which can set the color of a range of LEDs. Here’s a couple of references github.com/atuline/FastLED-Demos/blob/master/fill_colours/fill_colours.ino fastled.io/docs/3.1/group___colorutils.html
Out of all the tutorials I've seen in this exact topic, yours is by far the best explained. I want to replicate your work for a cardboard space capsule I'm making for my son. Could you please tell me what is the voltage of the 1000 uf capacitor you're using. I've seen some ranging from 16 v to 400 v . Does it matter? Thank you in advance for your answer. Keep up the good work. Thanks for the great material you share.
Thanks for the feedback! The capacitor I used for the experiment I can’t remember but it was probably either rated for 16 V or 25 V but I was just trying to make sure it’s at least able to handle 5 V. The main thing to ensure with capacitor voltage ratings is that the voltage you apply is not greater than the rating of the part. So with a 5 V circuit like this, a capacitor rated more than 5 V should work fine and with 1000uF electrolytics, that should easily be achievable because they are mainly probably 6.3 V or greater voltage rating. Some things to consider, we are assuming an ideal well regulated 5v supply but a power supply could also have some ripple on it but it still should be close enough to 5 V for this purpose. So for this kind of experiment I would say a 10 V rating or higher would be good. Another common design practice for production design, electrolytics are generally chosen so that the applied voltage is between 65 and 75% of the capacitor’s rated voltage because too high or too low of a voltage can impact the lifespan. But for home built projects, just making sure the capacitor is rated higher than the voltage you’re using is good enough so 10 or 16 or even 25 V is what I would try to use.
Hey, would you mind sharing the codes for the light animation you show from minute 1:39 to 2:15. The loop is bigger but I'm interested in that section. I am building a space capsule for my little son and I'm adding son lights with arduino-controlled led lights. I'd really love to install those cool animations. I will be very grateful. Thank you very much in advance.
@@astralhorse I think it was the FastLED example sketch called DemoReel100 but it's been a while. It was either one of the fastLED examples or could have been an Adafruit Neopixel library example like one of those strandtest demos. I just recall setting something up and letting it run while I tried to figure out how to get the rest working so it was definitely one of those example sketches rather than something I made. If I confirm for sure I'll update the video description but I'm betting on DemoReel100. It keeps rotating between effects and chase scenes.
Instead of using a series resistor to damp data line reflection, isn't using "A diode" is better option? Cuz that way it'll emlinate the reverse direction flow .. Correct me if I'm wrong.
that might block a signal from going in two directions back-and-forth but there would still be reflections between the one end of the diode and the far end of the connection up at the LED itself and that’s the main part that needs to be protected from over voltage spikes, so the resistor actually provides impedance matching and helps prevent a spike in the first place and keeps the voltage levels low
if the LEDs end up using the full current possible when fully bright white with all of them on at worst case 60 mA per LED, that would need 27 A but the ones I had only used slightly more than half of that 60 mA when fully bright white so a 20 amp supply might work for some cases but it’s dependent on the specific LED behavior. To make sure it is done properly The power supply might need to be able to handle 20% more current above 27 A worst case.
so I have the same led ws2812b and I got 300 LEDs to multiply by 33.9 that's equal to 10.17e3 is my math right? I have a power supply sitting around in my garage and it 5v 30A. the 30A is an over kill, ya? but can I still use the power supply?
Yes I calculate just over 10 A to get all 300 of those LEDs completely bright white all at once, and that’s based on the exact measurement of my particular LED strip being 33.9 per WS2012B individual unit. A different set of the same LEDs might have a different variance more or less current so to be sure, you would probably want to power up a smaller fraction of them all white and double check. 30A supply would definitely handle the worst case for 300 LEDs. The worst case would be 60 mA per LED module so something near 18 A. It’s fine to use a supply that can deliver way more current than needed, the power supply will only deliver what’s needed and won’t hurt it. Of course voltage is different, it Has to be the same voltage 5 V.
Dear Gadget Reboot, would this whole thing still work if you used the 5V from the arduino? The light may be a bit less intense but it would still work, right?
The limiting factor is the Arduino 5 V won’t have very much current capability so if you take the 5 V that would be coming straight from USB you might be able to take a couple hundred milliamps and if that’s what you want to do to test things, you would have to make sure the LEDs are set for low brightness and maybe even only use so many of them so that the total current doesn’t exceed what Arduino is giving.
Hi Hermann from Germany here. I’m trying to code a sun and moon light animation for my African hedgehog terrarium with these led’s. Some how I can’t figure out how I can switch the four variables to the value I want, send to the Arduino Bord by my pc. I am searching and searching, but I can’t find a tutorial for changing these four variables. For example if I insert a Variable in the led number Variable, Arduino says ‘variable’ was not declared in this scope.
I am just curious to know if I can measure the output voltage of Data pin if I send whitecolors to all the pixel. It will have 24 bits of data and all set to 1. Am I suppose to get any reading in multimeter??. How can I verify that I am receiving any sort of data from data pin, provided I do not have any oscilloscope. Help would be appreciated :)
Once the colour data has been sent once, it does not need to be continually refreshed so you would need to capture the data on its initial transmission to see the last stored information and to know what colour it is. The data line can be dormant and the LEDs will retain their last color.
i have a question... its probably stupid but i am just kind of confused because i watched many vids about it and am just want to be have a clear answer... if i have 288 lights do i just need a 5V dc with a high enough Amperage like a 5V 10a ? is that even possible or would that not work?
For 288 lights if they all happened to draw the current that mine did which is around 33 mA each, it would need a power supply that can handle providing 9.5 A for the lights alone, and usually it’s recommended to only use 80% of the power supply rated current to allow overhead so maybe at least a 12 amp 5 V power supply would be recommended, but that’s still assuming the LEDs only draw 33 mA when fully white. If you already have the lights you could test how much current they actually draw when they are on fully bright white. Then assuming they are all connected in series with each other, with that much current you may need to run extra 5 V and ground wires and attach them along the strip periodically or else the ones toward the end are going to start getting dim because they are all trying to draw current from a single set of lower power connections along the strip itself, which aren’t rated for that kind of current so it will just start limiting itself unless you put another set of power connections and then it will draw from there. And on that note, the power wires should be rated to handle all of that current so nothing overheats or catches fire.
Arduino can run off of the external power supply but the LED strip with that many LEDs can’t run off of Arduino‘s on 5 V power supply because there’s not enough current.
Hi I have a question that I just wire all the stuff like you and but I place the arduino far away from the light so the wire also get longer, I find out that not a voltage drop, I checked and the problem is the data pin sinal from arduino to the WS2812B and do we have any way to fix that data signal drop? Thank youu
In this set up, the Arduino is the controller and yes a controller is needed. The first light may have received random noise on its data input and configured an RGB pattern but there would not be properly structured data to pass on to the other lights so only the first one may light up randomly like that. The other lights have their data inputs connected to the data output of the previous light so it’s held in a constant state and isn’t impacted by random noise. The first light needs to be hooked up to a controller so if it’s left floating it can have random input levels.
It depends how many LEDs there are per meter because you can get them close together or spaced more apart, and it also would depend on specific LEDs. The general rule is to expect a worst-case of 0.060A for each LED being fully bright white so multiply that by how many actual LEDs you have on the strip. But that’s only worst case, for my specific lights they only actually use a little more than half of that.
Do you mean keeping one single strip but trying to access three different sections to run different control code on the one strip with just one data input? Or three separate LED strips with three data inputs coming from the same Arduino?
@Gadget Reboot 3 separate strip with 3 data inputs on same Arduino. And I have 12v Led Strips. What should I use between 12v power and led12v input. Thanks...
Would you be willing to make a custom order for one of these? I am a keyboard player and would love one to give audio visualization to my performances. Also a coder as well so I could modify the code to my liking. Just not much of an electrical engineer
i want to power over 130 of them leds i have got a 10amp power supply. i also have the same omhs r (220) and fu (1000) would it still work with there higher amps.(10amps) ???(im a noob so dumb it down for me thanks )
The main thing in the calculation of current required for the number of LEDs is take the power supply current 10 A and divide by the amount of current needed for each LED, and that result will tell you how many LEDs you should be able to run from 10 A with that amount of current per LED needed. So for my specific LEDs, if I round up it took 35 mA per LED to be on full brightness white. 10A / 0.035A = 285 LEDs I could power. For the worst case if you don’t know how much current each of your LEDs will need, these take a worst case of 60 mA per LED. 10A / 0.060A = 166 LEDs. Of course accounting for overhead if other things are being powered from the same power supply and also I believe it is generally accepted that a power supply should only be run up to 80% of its rating to keep things unburdened. So multiply those figures by 80% And we get 132 LEDs if it takes a full 60 mA per LED, but probably you can run more, realistically The LEDs don’t draw that much just like mine were only drawing about half of that . Of course you can also just simply try it out turning LEDs on gradually at full brightness white and see if there is a point where they start going dim and then there might be some power delivery issues either in the power supply itself or in the wiring maybe thicker wires are needed or multiple sets of power connected along the strip, it can get in depth with a bunch of LEDs and current.
What kind of power supply did you use? I am working on a project where I need to power 90 of the same neopixels. Can you just cut the cable of an adapter and then connect it to the LED? (Assuming 5V adaptor 4A)
The bench power supply I was using is like this one, random link from a web search: www.itm.com/product/instek-gpc1850d-triple-output-dc-power-supply-18v-5a-x2-fixed-5v-3a-x-1?gclid=EAIaIQobChMIrPiTvtS_4AIVBwNpCh14BQA2EAkYCiABEgLNlPD_BwE On mine at least, I have two variable outputs that I set for 5 V and there’s a switch where I can put them in parallel so they share current and I can get up to 6 A out of it. If you have an adaptor that does 5 V DC up to 4 A, then yeah cutting off the connecter and connecting it up to the LED strip should be fine. So I think mine wanted a maximum of around 2 A for 60 of those LEDs and if yours draw the same current then 4 A should be a lot of extra power to do the job for 90. I would start with the brightness lower and gradually bring everything up to full white full bright, and make sure it can gradually handle it. There’s another thing that you may run into, I’m not sure if 90 pixels would exploit this but you can only really run so many pixels in a row with the one power connection on the end before it starts getting dim along the way because of power losses so you might want to research what they call injecting power at multiple locations through the string of lights. I haven’t done it myself but apparently you just take an extra set of 5V and ground wires and connect them up somewhere later along The strip and supposedly power will be consumed from the most readily available injection point and everything should stay consistent along the strip.
It's recommended because when the LEDs go on and off fast or change color fast and have drastically different current demands, power supplies can be slow to react and provide that power so the capacitor temporarily helps supply power more instantaneously until the power supply is ready. Also if there's any sudden power line spikes, a capacitor helps absorb that and keep everything smooth. Things may "work" without the capacitor but depending what kind of pattern you run, it may all dim out unexpectedly or flicker as the LED controllers struggle with the power supply's fluctuations.
It looks like there’s a lot of things missing there, those sets of numbers in the brackets look like they need some other function in front of them to pass those numbers into or something, and also those braces just after “For” don’t look like they belong there so I have no idea what that is. I’m sure it would not compile.
This will set the first led (led 0) on the strip or ring to green full brightness, red and blue off, then send the command out through the library to activate it. More info here github.com/FastLED/FastLED/wiki/Pixel-reference leds[0] = CRGB(0, 255, 0); // Show the leds FastLED.show();
The resistor should absorb any signal reflections that come back from either side of the split and the far ends of the split are just receiving and they don’t really transmit back, it’s valid to have one signal going to multiple destinations, just not multiple sources trying to drive into one recipient.
Hi. Nice Video but i have a problem. Wenn I going to upload my code to the arduino it says: "No hardware SPI pins defined. All SPI access will default to bitbanged output" and abort the upload. Can you help me with that? (My englisch is not so good. i now that ^^) (I want to upload the code to an attiny85)
I can't remember all the demos I ran now but if it's one of the fancy looking things, it either came from the included examples in the FastLED library or the Adafruit Neopixel library so you can look through those github.com/FastLED/FastLED/tree/master/examples github.com/adafruit/Adafruit_NeoPixel/tree/master/examples
For the series resistor on the data line, since it is meant to impedance match and absorb reflections, different set ups and different lengths of wire make every situation unique but generally between 200 and 600 ohms seems to be adequate. It’s best to have an oscilloscope to actually see if voltage spikes have been attenuated.
Assuming the LED strip is WS 2812, the resistor that we add in line with the data pin is not the same as a current limit resistor for a normal LED. These take care of their own current limiting. The resistor we put in series with the data on this is just to keep signal reflections from causing voltage spikes, it’s a different situation than a current limit resistor. So in this case the LED strip will just take as much current as it needs without harm and the individual LEDs are already protected.
instead of powering the strip from a 5 V supply it can still be powered from a different 12 V supply and connect the ground to the Arduino, and in the software the order of red green and blue can be configured so it matches.
Do you mean two completely separate data outputs rather than chaining them all as one strip? I haven’t tried that but I think it would work. The pixels don’t need to be constantly refreshed they just get written to whenever it’s time for a change and then they maintain on their own so we can alternate different data outputs.
It’s easier to connect them to the same output, they are intended to be connected in series and you just change the code to say how many LEDs are on that output.
When connecting the data in series between two strips and then connecting the power in parallel, the power source has to be able to deliver enough current to power all the LEDs. It’s not recommended to run very many directly from Arduino 5 V, a separate power supply is recommended and it is safest to have one that can deliver 60 mA for each LED. So however many pixels are going to be powered, multiply by 0.06A and that’s how many amps the power supply should be capable of.
I take it that the CAP is built into the led, so it is not a user add on passive component? OK, I guess the CAP is something that I must add myself, according to later in the video.
Is there anyone who can help with me with programming a WS2812B LED Strip Light? It’s a for a class and I am having a really hard time keeping up and understanding. I need help understanding and maybe I can understand if it’s dumbed down a lot. I just need it to work so I can graduate from my university. Any advice will help. Thanks.
Probably I have seen 100+ videos but this one is the best explanation so far, meticulous information on all aspects in this project. A good teacher. Hats off to you.
So true.
I've spent 2 weeks in the LED rabbit hole after my daughter asked for lights for her room and of course I picked the "wrong" ones. Finally learned enough to feel comfortable with what to order to build out but was confused about the FastLED programming.
This video was by FAR the most informative and easy to follow for building out my project for her.
Thank you so much!
I’m glad it was useful!
Firstly I thought this video is boring, but when it came to coding, I went out really useful! Thank you author, always wanted to get in to LED coding but never had enough patience to figure it out!
Excellent quality video, thank you.
12:22 --- helpful clarification, implying best practice to duly compute the current draw for each specific LED strip.
7:01 --- like 👍 how you explain transient power and benefits of the 1000uf capacitor
20:32 --- a super cool😎 LED chaser!
Man I wished every Arduino project video is like this, perfect explanation and everything you need to know, thank you sir!
I was planning on doing a DIY project to light up my workspace/gaming desk with an addressable RGB strip. Gone through many, literally many other videos for this. Although all of them do show how to make the connections, which parts to use, and the software.
However, what they fail to cover is the most important part. The power and current required, as well as the usage of the resistor and capacitor, which are equally very important. If not for this I would probably end up ruining the strip, which is practically the most expensive part of the whole project (At least here in India).
This video should be at the top when someone searches. Please give it as many likes as possible for TH-cam to know that THIS video is exactly what people are searching for!
A huge thanks to you @GadgetReboot for putting such a detailed and informative video about the project. I have already ordered all the required parts, they should arrive in a few days, and then I will give it a go! I will surely update here. Again, many many thanks.
Thanks for the comment! I’m glad the video is helpful for so many people.
@@GadgetReboot Hi, so I do have a question and I think you're the best person to ask this.
In several other videos (Which were precisely more about 'Ambient Lighting' for monitors), I saw people using Prismatik, which is a GUI software for controlling the LEDs.
I know that manually handling stuff can add to the experience, and I wish to do it. But If I want to take a short route right now with my setup, is it possible that I can use a similar companion software? Any that you know off?
@@dhananjaybhardwaj4234 The only other control software I’ve tried is WLED with ESP8266 for Wi-Fi control. th-cam.com/video/9d29SBWA4Qs/w-d-xo.html
So I hooked up my 8X32 massive matrix of LEDs which was super cheap..and tested it with the FastLED library..it was terrible..until I saw your video. Added that 220 Ohm resistor to the data line and bang..it works perfect. Thanks!
Excellent explanation of what each component does and why we have capacitors and resistors implemented in the circuit.
Thank you. I am 6 years late, but this info is timeless. Just what I needed. Hard to find, until you do. :-)
I should probably try to do more addressable LED projects this year because it’s been a while and there’s probably new things to learn now.
This video is #1 in WS2812 neopixel LED tutorial in HW & SW. SUPERB EXPLANATION!!!
Excellent video, upvoted. Incredibly useful. Resumé: no led address, first there first served, data arrives to led, data packet is prelevé, then the remaining data left is passed to next led for him to deal with it. Decoupling capacitor + resistor for led strip. Have common ground for arduino and strip. Enough Current? for 60 lights (20mA for R, 20mA for B, 20mA for G: makes a total of 60mA per led in "theory worst case scenario"). But in practice: for his strip/build, All lights on => 1light+standby for 59 off lights = 87mA, 54mA for all off, 2.033A for 60leds, about 34mA for one fullPixel. a bit over half of theory max. FastLED.h library.
That's pretty detailed explanation that's not available anywhere else...thanks for the great stuff
brother excellent explanation and working of WS2812. Contains every single piece of information you need. Thanks a lot for sharing
Beautiful presentation, informative and crystal clear. Not cluttered by unnecessary details. Brilliant!
Thanks!
A wonderful video with clear detail. Exactly what I needed to know, when I needed to know it. How someone would down-vote this is beyond my understanding.
I’m glad it was helpful, I try to give extra detail instead of just demonstrating something without explaining it, if I happen to know how to explain it of course, which isn’t all the time.
The down votes are from jealous haters who can't explain like this man can.
Everything in one video, best explanation so far. Thanx a lot
about 19:41 you are showing a website. tried to visit the website over the link in tzhe description, but didnt find it, please tell me where i can find that exactly
It looks like they changed the site but this seems to be the closest match to what I saw before
www.rapidtables.com/web/color/RGB_Color.html#color-picker
This is the best ever explanation of FastLED that I have found. Ever line is explained and that helps. Thanks a bunch for taking your time.
In your code with the chasing lights, what do you have to do in the code to increase the grouping of LEDs for one color from 3 to 5 or 6? The intuitive thing would be to keep the number to an odd number so you can track the center. I've tried several approaches to no avail.
Amazing explanation. Definitely using this for my project. Also very informative.
Awesome explanation of how these things work!
TYSM i have running in and out trying to test my WS2812B s to check where my problem lies and thank you to your video which made it work , i have been sleepless and tired from past 3 days , now i can sleep[ ...
Great video. I have got all the bits ordered. However what code was running at 6 minutes in. When your explaining the data line. As I would like to know how to make the random white flashes of light?
I think it was the demoreel100 that comes with FastLED: github.com/FastLED/FastLED/tree/master/examples
It cycles through a bunch of different patterns and is more easily recognized with more LEDs in the string - when I ran it with just 16 LEDs it was hard to realize it was the same sketch.
I love this video! I'm working on a project where I have to provide longs strips of neopixels (+7 meters) with data and I read that there is considerable voltage drop and I didn't know if that voltage drop also applied to the signal. This question was answered in the first 3 minutes of this video. The next question is: how do I run 12 strips of 7 meters parallel to create compound effects? I've already solved the supply power problem because in the worst case I would only have to light about 25% of the whole array (12 strings of 7 meters at 30pixels/meter could be powered by a single 5V, 300 Watt supply, unless my math is horribly wrong). Now I just have to find a way to provide different effects to different LED-strings at the same time to create some cool effects. Any advice on that?
None the less, awesome video GadgetReboot!!!!
Sounds like each of the 12 strips is basically its own project so worst case, all have separate Arduinos but sharing the power. I haven't tried running multiple different strips from one processor but it may be possible to just try assigning multiple data pin outputs instead of just the one, and talk to each one within the same sketch when it's time to update each one. Maybe if there's too much activity updating too often, it would get bogged down and that's where separate modules would help.
Paused the vid to give you thumbs up on the maths for the current draw...bang on! Nice :) AND you saved me a job!
I was actually surprised it worked out as it did across 60 LEDs based on measuring just one. I figured there would be a measurement rounding error that would catch on.
@@GadgetReboot That was probably the best video on ws2812b's Ive seen so far, thank you.
Outstanding teaching! Well explained, efficient and precise. THANK YOU!
Thanks! My students found this video great for our fashion tech projects! Showing it at SteamHead Makerspace and also International School of Nanshan in China!
That’s great! I’m glad it was helpful.
cada vídeo que assisto seu , mas o respeito que sinto aumenta...Muto obrigados por seu ensinamentos.
Every video you watch, but the respect I feel increases ... I’m very obligatory for your teachings.
This is great, so informative, from start to end ... thank you very much!
Awesome video! So if i want to use this led strip as a vu meter then what are the basics, would love to know that. THANKS.
Do you already have a VU circuit and you just need a way to display the output? I guess it could be a very general topic that could be implemented in many different ways for example if it’s all done in hardware and you have an analog signal representing VU strength, you could read that analog voltage into an Arduino and then turn on the appropriate number of LEDs in a certain color to represent that level.
Or if you’re using all digital processing like a teensy board then all the information is in there and again you light up the appropriate number of LEDs in the appropriate color.
It also depends if you just have a single bar representing the strength or if you have multiple bars like a spectrum analyzer that you want to light up for different frequency component strengths.
I may do some sort of project relating to all of this but for now, you may find another video I did interesting using an Adafruit matrix library instead of this one to show how to light up and control LEDs in a grid instead of a strip.
As a demo I mocked up a spectrum analyzer EQ bar graph by just hard coding certain levels to show what it might look like if it were actually implemented. Someday I will implement it.
th-cam.com/video/j_VvLHZEPZ4/w-d-xo.html
Very detailed and informative. Great video.
Damn.. I knew I should not have dropped out of Elementary school. !!
Excellent tutorial - I am new to this and was able to get the final demonstration with potentiometer working which is really cool.! Stupid question - how can i add more than 3 LEDs in the potentiometer example? For example make it 10 pixels instead of 3. I've tried changing up some of the code but I get different effects rather than expanding the row of leds. I have a 500 LED strip that is WS2815 and would be cool if can make the blue and green row longer than 3.
Does fastled have any sort of "fill clock"? What i am doing is making a lightsaber display. I want the leds to light up matched to an ignition sound effect that lasts ~300ms starting from the first led and lighting one at a time towards the end.
I wonder if this fast LED painter library might be of use, I haven’t tried it yet but it looks like there’s an ability to control speed of the pixels. github.com/DedeHai/FastLEDPainter
Otherwise from what I can tell, the speed of fast LED animations is just controlled using delays to proceed at different rates. So if I had 30 LEDs that I want to light up evenly over 300 ms, I would have a 10 ms delay between each sequence update.
Some say you need a capacitor to also protect the LEDs from inrush current from the psu. However, they never specify how many amps the psu uses. But when you want to calculate what capacitor you need to use you do want to know your amps. A lot of them just say: use a 1000uF 6.3 at least. How do I choose the right capacitor, capacitance and volts, to protect my LEDs from the inrush current?
*inrush current can be as high as 20x(some sources say even 50) the given steady state current and can take up to 0,02 seconds to go to the steady state current. So to determine what you need for inrush current protection you need to multiple your amps by 20 times. So when you use that for your capacitance calculations, for example I have a 5VDC 20A psu, I need a Farads= (amps*seconds)/volts=(20*20A*0.02s)/5V=1.6F is 'super' capacitor territory.
I am no electrical engineer so I googled all this, but many sources say the same. So I indeed need a whopping 1.6F capacitor to smooth out my inrush current?
HackingDutchman
I like those demo sketches. I may have to borrow that chaser...
I was going through old eBay purchase history this evening and I noticed I ordered those LEDs almost a year ago, and only got around to opening the packages a couple of months ago . I hope to make up for that this year even if it just means a bunch of fancy light show projects.
Question for you, I bought the WS2811 LED's (i have 100 of them) and the Arduino Uno R3 board. Would I set it up like your setup here with the resistor and the capacitor? I am all new to this sort of lighting and my project (if it works out) will be for my computer table lighting. I might however buy these lighting strips as I really like the way they look. Any info would be much appreciated. I supported your channel and rang the BELL! oh , would an old computer power supply work as well for the LED power? 5VDC is my power needed for the WS2811's.
yes the set up would be the same and then in the Arduino sketch you would change any reference to WS2812, to WS2811 so that fastled will know how to properly address them.
I have used a computer 5 V power supply, the only requirement is to make sure it has enough current and one way to do that without measuring anything would be to control the brightness of all the LEDs to something relatively low, set every LED to full white, and then gradually increase the brightness and see if all the lights can behave properly or if some toward the far end of the strip start looking less bright, the power supply either can’t deliver enough current, or maybe it can but you would need to run an extra set of 5 V and ground wires further down the strip and attach them so the further LEDs have another place to draw current.
@@GadgetReboot Thank you I understand about the drop. I was going to do that anyways lol... :)
@@GadgetReboot hey, another question for you. I have tried to download the fastled in the library and I cannot get it to download anything. Do I have to be a subscriber to the website?
hello congrats for this video! what is the sketch at the very beginning of the video? thks
I think it was the demo reel sketch from the fast LED library but I can’t remember.
Hi! Is there a way to control when a led is off? In your example I saw that all the leds are off at the same time .
But I need to turn them off at different times. This tutorial is awsome
Do you mean the example sketches I made and put on github, or those demo sketches that come with the fast LED library?
If I wanted to customize an example from the fast LED library I’d have to analyze it and hack it to override certain LEDs and turn them off.
If I want to turn off a specific LED in my own sketch, I just set its red green and blue levels to all zero, or set the color name to Black whenever it’s time to turn one off.
So if it is LED number five that I want to turn off specifically, I could do it these different ways:
leds[5] = CRGB(0, 0, 0);
leds[5].r = 0;
leds[5].g = 0;
leds[5].b = 0;
leds[5].setRGB(0, 0, 0);
leds[5] = 0x000000;
leds[5] = CRGB::Black;
@@GadgetReboot Thanks so much. I´m now traying. So I have the led 5 off.
How do I make the led 5 LEDs turn on after 3 seconds of being off and then turn on again with a delay of 2 seconds for example?
What I really need to do is that the first 10 LEDs light up all together (from 0 to 9) and after 5 seconds they all turn off and then turn on after 3 seconds and turn off after 3 seconds. In parallel I need the LED 10 to 19 do the same but at different times than those from 0 to 9. That is, when the first 10 LEDs are on, the second 10 LEDs are off. I hope you understand!
To control multiple timing intervals without using the simple delay command, which would pause the program and not let everything run in the background, you would be best to use the millis() function.
There is a forum thread with examples of how to use it to blink lights:
forum.arduino.cc/index.php?topic=503368.0
In that first example they have a variable called Period which they set to 1000 which means 1000 ms or one second.
If you want to track multiple intervals you could create multiple variables like that like period1 period2 and set up different numbers of milliseconds.
Then in the loop you do the comparison like they do for just the one blinking light and you just add comparisons for your extra timings and if the timer has reached that amount of passed time, then you turn those various LEDs on or off and then you can do it all in parallel without messing anything up and causing extra delays so you would have if statements to go and change those certain LEDs every time five seconds or three seconds or however much time has passed.
Excellent tutorial. Extremely helpful. Q: why can't the 5V DC external power supply also power the Arduino? I'm assuming you've got it connected via USB to the computer for uploading code, but in the wild it needs to get power from somewhere. Are you saying there needs to be two separate power supplies?
I can’t remember exactly what I said but I’m thinking what I meant was if the Arduino is being powered from USB or some other light current power source, that won’t be enough current to drive a certain amount of LEDs so that’s when extra power is needed
but if there is a 5 V higher current power supply available for the LEDs, that can also power the Arduino
The only possible consideration then would be if there’s any sort of noise introduced on the power supply because of the LEDs turning on and off and causing momentary high current demands, it could drag the 5 V down slightly at times and cause the Arduino to reset
so then maybe some extra capacitors on the Arduino 5 V pins might help
@@GadgetReboot Excellent! That answers my question. Thanks!
Hi again! I have been successful in setting up my LED strips as per the schematics.
Now, what I want to do is, display a single color throughout my strip using CHSV color space. Instead of adding color value to individual LEDs like the following, can I set define one color for all 60 LEDs? If so, then how?
leds[0] = CHSV( HUE_GREEN, 255, 255);
leds[1] = CHSV( HUE_GREEN, 150, 255);
.......
leds[58] = CHSV( HUE_ORANGE, 255, 255);
leds[59] = CHSV( HUE_ORANGE, 150, 255);
I would look at the various fill functions which can set the color of a range of LEDs. Here’s a couple of references
github.com/atuline/FastLED-Demos/blob/master/fill_colours/fill_colours.ino
fastled.io/docs/3.1/group___colorutils.html
@@GadgetReboot Thanks a lot!!
Very well explained. Thank you for posting, I found it very helpful.
I’m not sure about how the max and min functions work within the leds array. I’ll have think about that some, thanks for pointer.
Out of all the tutorials I've seen in this exact topic, yours is by far the best explained. I want to replicate your work for a cardboard space capsule I'm making for my son. Could you please tell me what is the voltage of the 1000 uf capacitor you're using. I've seen some ranging from 16 v to 400 v . Does it matter? Thank you in advance for your answer. Keep up the good work. Thanks for the great material you share.
Thanks for the feedback!
The capacitor I used for the experiment I can’t remember but it was probably either rated for 16 V or 25 V but I was just trying to make sure it’s at least able to handle 5 V.
The main thing to ensure with capacitor voltage ratings is that the voltage you apply is not greater than the rating of the part.
So with a 5 V circuit like this, a capacitor rated more than 5 V should work fine and with 1000uF electrolytics, that should easily be achievable because they are mainly probably 6.3 V or greater voltage rating.
Some things to consider, we are assuming an ideal well regulated 5v supply but a power supply could also have some ripple on it but it still should be close enough to 5 V for this purpose. So for this kind of experiment I would say a 10 V rating or higher would be good.
Another common design practice for production design, electrolytics are generally chosen so that the applied voltage is between 65 and 75% of the capacitor’s rated voltage because too high or too low of a voltage can impact the lifespan.
But for home built projects, just making sure the capacitor is rated higher than the voltage you’re using is good enough so 10 or 16 or even 25 V is what I would try to use.
@@GadgetReboot Thank you very much.
Hey, would you mind sharing the codes for the light animation you show from minute 1:39 to 2:15. The loop is bigger but I'm interested in that section. I am building a space capsule for my little son and I'm adding son lights with arduino-controlled led lights. I'd really love to install those cool animations. I will be very grateful. Thank you very much in advance.
@@astralhorse I think it was the FastLED example sketch called DemoReel100 but it's been a while. It was either one of the fastLED examples or could have been an Adafruit Neopixel library example like one of those strandtest demos. I just recall setting something up and letting it run while I tried to figure out how to get the rest working so it was definitely one of those example sketches rather than something I made. If I confirm for sure I'll update the video description but I'm betting on DemoReel100. It keeps rotating between effects and chase scenes.
@@GadgetReboot Thank you very much. That's a good start.
The best vide I seen so far good job
wow mate that alot of detail thank you you are supper best video on youtube about smart led
Instead of using a series resistor to damp data line reflection, isn't using "A diode" is better option? Cuz that way it'll emlinate the reverse direction flow .. Correct me if I'm wrong.
that might block a signal from going in two directions back-and-forth but there would still be reflections between the one end of the diode and the far end of the connection up at the LED itself and that’s the main part that needs to be protected from over voltage spikes, so the resistor actually provides impedance matching and helps prevent a spike in the first place and keeps the voltage levels low
@@GadgetReboot That makes sense. Thank you. Subbed ♥
Sir , I want to control these neo pixel led with Bluetooth text message from mobile phone .
So please make that type of video.
you cant text mesage in 1D you need 2Dimension. or you can put morse code. To type text need matrix. 3 or more led strips.
Do you think a PC-Power supply with 20amp on 5Volts is enought for 450 WS2812b LEDS? Sorry for my bad english.
if the LEDs end up using the full current possible when fully bright white with all of them on at worst case 60 mA per LED, that would need 27 A but the ones I had only used slightly more than half of that 60 mA when fully bright white so a 20 amp supply might work for some cases but it’s dependent on the specific LED behavior.
To make sure it is done properly The power supply might need to be able to handle 20% more current above 27 A worst case.
Hi could you please send link where I can get a string of led and other parts I needs to run a set of light
Thank
I usually buy from Ali Express.
LED strips s.click.aliexpress.com/e/_DDt0AHT
ESP32 modules s.click.aliexpress.com/e/_DeHT0Gp
so I have the same led ws2812b and I got 300 LEDs to multiply by 33.9 that's equal to 10.17e3 is my math right? I have a power supply sitting around in my garage and it 5v 30A. the 30A is an over kill, ya? but can I still use the power supply?
Yes I calculate just over 10 A to get all 300 of those LEDs completely bright white all at once, and that’s based on the exact measurement of my particular LED strip being 33.9 per WS2012B individual unit. A different set of the same LEDs might have a different variance more or less current so to be sure, you would probably want to power up a smaller fraction of them all white and double check.
30A supply would definitely handle the worst case for 300 LEDs. The worst case would be 60 mA per LED module so something near 18 A. It’s fine to use a supply that can deliver way more current than needed, the power supply will only deliver what’s needed and won’t hurt it. Of course voltage is different, it Has to be the same voltage 5 V.
@@GadgetRebootvery cool to know the math part of it. thanks, man. numbers don't lie
Dear Gadget Reboot,
would this whole thing still work if you used the 5V from the arduino? The light may be a bit less intense but it would still work, right?
The limiting factor is the Arduino 5 V won’t have very much current capability so if you take the 5 V that would be coming straight from USB you might be able to take a couple hundred milliamps and if that’s what you want to do to test things, you would have to make sure the LEDs are set for low brightness and maybe even only use so many of them so that the total current doesn’t exceed what Arduino is giving.
Hi Hermann from Germany here. I’m trying to code a sun and moon light animation for my African hedgehog terrarium with these led’s. Some how I can’t figure out how I can switch the four variables to the value I want, send to the Arduino Bord by my pc. I am searching and searching, but I can’t find a tutorial for changing these four variables. For example if I insert a Variable in the led number Variable, Arduino says ‘variable’ was not declared in this scope.
Does this help? forum.arduino.cc/index.php?topic=490504.0
I am just curious to know if I can measure the output voltage of Data pin if I send whitecolors to all the pixel. It will have 24 bits of data and all set to 1. Am I suppose to get any reading in multimeter??. How can I verify that I am receiving any sort of data from data pin, provided I do not have any oscilloscope. Help would be appreciated :)
Once the colour data has been sent once, it does not need to be continually refreshed so you would need to capture the data on its initial transmission to see the last stored information and to know what colour it is. The data line can be dormant and the LEDs will retain their last color.
Would this same hookup work with a 32x8 addressable LED panel?, it also has the three connection's in.
It has been driving me crazy trying to find instructions to learn and follow from.
Is there a voltage rating for the capacitor.?
I use 10 V rating for this.
Nice video. Really answers how these work, thanks for great content :)
Can you make a video on the topic: winking to music with led sw2812-8 using arduino uno ??
i have a question... its probably stupid but i am just kind of confused because i watched many vids about it and am just want to be have a clear answer... if i have 288 lights do i just need a 5V dc with a high enough Amperage like a 5V 10a ? is that even possible or would that not work?
For 288 lights if they all happened to draw the current that mine did which is around 33 mA each, it would need a power supply that can handle providing 9.5 A for the lights alone, and usually it’s recommended to only use 80% of the power supply rated current to allow overhead so maybe at least a 12 amp 5 V power supply would be recommended, but that’s still assuming the LEDs only draw 33 mA when fully white. If you already have the lights you could test how much current they actually draw when they are on fully bright white.
Then assuming they are all connected in series with each other, with that much current you may need to run extra 5 V and ground wires and attach them along the strip periodically or else the ones toward the end are going to start getting dim because they are all trying to draw current from a single set of lower power connections along the strip itself, which aren’t rated for that kind of current so it will just start limiting itself unless you put another set of power connections and then it will draw from there.
And on that note, the power wires should be rated to handle all of that current so nothing overheats or catches fire.
@@GadgetReboot thank you very much that cleared a lot of things up :)
Why can't we connect the 5v power supply to both the Arduino and led strip?
Arduino can run off of the external power supply but the LED strip with that many LEDs can’t run off of Arduino‘s on 5 V power supply because there’s not enough current.
@@GadgetRebootThank you
What is the difference between neopixles and LEDs??
If what you said at the beginning then these are NOT addressable individually. I thought that the 2812B were addressable?
the full stream has to be sent at least up to the target led and within the stream they are individually addressable
Hi I have a question that I just wire all the stuff like you and but I place the arduino far away from the light so the wire also get longer, I find out that not a voltage drop, I checked and the problem is the data pin sinal from arduino to the WS2812B and do we have any way to fix that data signal drop? Thank youu
Did you delete a video about WS2812b ? I could have sworn I watched one here a week or so ago. Glad you like the FastLED Lib.
No this is the first one I did aside from getting the pixels in a mail bag a couple of months ago.
@@GadgetReboot , Strange. I wonder who that was? Oh yeah, Simple Electronics. That's who did it.
Does it need a controller to work. I use DC 5v. But not worked . Only the first bulb was lighted up. It was green. Why is that
In this set up, the Arduino is the controller and yes a controller is needed. The first light may have received random noise on its data input and configured an RGB pattern but there would not be properly structured data to pass on to the other lights so only the first one may light up randomly like that.
The other lights have their data inputs connected to the data output of the previous light so it’s held in a constant state and isn’t impacted by random noise. The first light needs to be hooked up to a controller so if it’s left floating it can have random input levels.
Ok thank you. So it will working properly after connecting to a controller.
How many* A*does it need to light up the strip brightly ? 6a is enough to light up 2m or 1.30m long strip with DC5v
It depends how many LEDs there are per meter because you can get them close together or spaced more apart, and it also would depend on specific LEDs.
The general rule is to expect a worst-case of 0.060A for each LED being fully bright white so multiply that by how many actual LEDs you have on the strip.
But that’s only worst case, for my specific lights they only actually use a little more than half of that.
I got a led strip from Ali Express. It was white pcb 2m 144 ip67 . I want 1.50m From that. DC5V WS2812B
How can I add the Fast LED library to be used with DMX shield. I have not been able to find a DMX library that actually works,
Thanks for the video and descripton. What about if I use 3 separate parts of same LED strip. Circuits is ok but what will change for the code?
Do you mean keeping one single strip but trying to access three different sections to run different control code on the one strip with just one data input?
Or three separate LED strips with three data inputs coming from the same Arduino?
@Gadget Reboot 3 separate strip with 3 data inputs on same Arduino. And I have 12v Led Strips. What should I use between 12v power and led12v input. Thanks...
Any tips for the rgbw strips?
Would you be willing to make a custom order for one of these? I am a keyboard player and would love one to give audio visualization to my performances. Also a coder as well so I could modify the code to my liking. Just not much of an electrical engineer
I want to buy this kit
Is this kit is available in market
i want to power over 130 of them leds i have got a 10amp power supply. i also have the same omhs r (220) and fu (1000) would it still work with there higher amps.(10amps) ???(im a noob so dumb it down for me thanks )
The main thing in the calculation of current required for the number of LEDs is take the power supply current 10 A and divide by the amount of current needed for each LED, and that result will tell you how many LEDs you should be able to run from 10 A with that amount of current per LED needed.
So for my specific LEDs, if I round up it took 35 mA per LED to be on full brightness white. 10A / 0.035A = 285 LEDs I could power.
For the worst case if you don’t know how much current each of your LEDs will need, these take a worst case of 60 mA per LED. 10A / 0.060A = 166 LEDs.
Of course accounting for overhead if other things are being powered from the same power supply and also I believe it is generally accepted that a power supply should only be run up to 80% of its rating to keep things unburdened.
So multiply those figures by 80% And we get 132 LEDs if it takes a full 60 mA per LED, but probably you can run more, realistically The LEDs don’t draw that much just like mine were only drawing about half of that .
Of course you can also just simply try it out turning LEDs on gradually at full brightness white and see if there is a point where they start going dim and then there might be some power delivery issues either in the power supply itself or in the wiring maybe thicker wires are needed or multiple sets of power connected along the strip, it can get in depth with a bunch of LEDs and current.
What kind of power supply did you use? I am working on a project where I need to power 90 of the same neopixels. Can you just cut the cable of an adapter and then connect it to the LED? (Assuming 5V adaptor 4A)
The bench power supply I was using is like this one, random link from a web search: www.itm.com/product/instek-gpc1850d-triple-output-dc-power-supply-18v-5a-x2-fixed-5v-3a-x-1?gclid=EAIaIQobChMIrPiTvtS_4AIVBwNpCh14BQA2EAkYCiABEgLNlPD_BwE
On mine at least, I have two variable outputs that I set for 5 V and there’s a switch where I can put them in parallel so they share current and I can get up to 6 A out of it.
If you have an adaptor that does 5 V DC up to 4 A, then yeah cutting off the connecter and connecting it up to the LED strip should be fine.
So I think mine wanted a maximum of around 2 A for 60 of those LEDs and if yours draw the same current then 4 A should be a lot of extra power to do the job for 90. I would start with the brightness lower and gradually bring everything up to full white full bright, and make sure it can gradually handle it.
There’s another thing that you may run into, I’m not sure if 90 pixels would exploit this but you can only really run so many pixels in a row with the one power connection on the end before it starts getting dim along the way because of power losses so you might want to research what they call injecting power at multiple locations through the string of lights. I haven’t done it myself but apparently you just take an extra set of 5V and ground wires and connect them up somewhere later along The strip and supposedly power will be consumed from the most readily available injection point and everything should stay consistent along the strip.
@@GadgetReboot Just see your answer. Thank you so much man. Great videos btw. Keep up the good work!!
Would you be available to help with a project ? Probably very simple.
hey, is this capacitor really needed? If i don't use capacitor, it doesn't work right?
It's recommended because when the LEDs go on and off fast or change color fast and have drastically different current demands, power supplies can be slow to react and provide that power so the capacitor temporarily helps supply power more instantaneously until the power supply is ready. Also if there's any sudden power line spikes, a capacitor helps absorb that and keep everything smooth. Things may "work" without the capacitor but depending what kind of pattern you run, it may all dim out unexpectedly or flicker as the LED controllers struggle with the power supply's fluctuations.
when you go to code led strips or rings, I get that first set of brackets are used for color but what are the second set of brackets used for?
Can you paste the specific line of code?
@@GadgetReboot the code would be like
// Do a quick test/demo to show that things are working
for { (int i=0; i
It looks like there’s a lot of things missing there, those sets of numbers in the brackets look like they need some other function in front of them to pass those numbers into or something, and also those braces just after “For” don’t look like they belong there so I have no idea what that is. I’m sure it would not compile.
Gadget Reboot do you put leds [0] CRGB to get the color to show up on a led ring or strip?
This will set the first led (led 0) on the strip or ring to green full brightness, red and blue off, then send the command out through the library to activate it. More info here github.com/FastLED/FastLED/wiki/Pixel-reference
leds[0] = CRGB(0, 255, 0);
// Show the leds
FastLED.show();
Question? Can I use 1 resistor to power 2 strips
it should work to send the same data off of one resistor to two strips and have them behave the same.
@@GadgetReboot I was thinking a Y split but I'm afraid of that signal going in to one another like you said in the video would that happen
The resistor should absorb any signal reflections that come back from either side of the split and the far ends of the split are just receiving and they don’t really transmit back, it’s valid to have one signal going to multiple destinations, just not multiple sources trying to drive into one recipient.
@@GadgetReboot ty so much
@@GadgetReboot sorry one more question what type of resistor should I use instead of the 330 to run 2
how to calculate this transistor
Love this video. Very helpful. Would you be open to help me with a custom code with buttons to change the effects? Would be willing to pay for help.
Does my Capacitor have to be bigger if i am using more LEDs:
I am using about 900 WS2815 LEDs. These take 12V.
Hi. Nice Video but i have a problem. Wenn I going to upload my code to the arduino it says: "No hardware SPI pins defined. All SPI access will default to bitbanged output" and abort the upload. Can you help me with that? (My englisch is not so good. i now that ^^) (I want to upload the code to an attiny85)
hi, can I borrow your chaser lights code? thanks
Of course
@@GadgetReboot can you post it here? thank you
It’s on Github
github.com/GadgetReboot/Arduino/blob/master/Uno/NeoPixel/Chaser.ino
@@GadgetReboot Thank you, but I like the chaser mode and other effects on the first ,imute on your video. Can I have that code? Thanks so much
I can't remember all the demos I ran now but if it's one of the fancy looking things, it either came from the included examples in the FastLED library or the Adafruit Neopixel library so you can look through those
github.com/FastLED/FastLED/tree/master/examples
github.com/adafruit/Adafruit_NeoPixel/tree/master/examples
Thanks a lot, for your time 🙏🏻
Hi!I have power supply (5 volts,12 ampers). Which resistor I have to connect to this led strip (1 meter,60 leds)?
For the series resistor on the data line, since it is meant to impedance match and absorb reflections, different set ups and different lengths of wire make every situation unique but generally between 200 and 600 ohms seems to be adequate. It’s best to have an oscilloscope to actually see if voltage spikes have been attenuated.
I have 560 ohms resistor so that should be enough.I am worried that 12 amps is too much for this led strip.
Assuming the LED strip is WS 2812, the resistor that we add in line with the data pin is not the same as a current limit resistor for a normal LED. These take care of their own current limiting.
The resistor we put in series with the data on this is just to keep signal reflections from causing voltage spikes, it’s a different situation than a current limit resistor.
So in this case the LED strip will just take as much current as it needs without harm and the individual LEDs are already protected.
mine led has G,R,B,+12v i think they are not good for this right?
instead of powering the strip from a 5 V supply it can still be powered from a different 12 V supply and connect the ground to the Arduino, and in the software the order of red green and blue can be configured so it matches.
great video, thanks!
is it possible to connect two neolights with same arduino code. and arduino???
Do you mean two completely separate data outputs rather than chaining them all as one strip? I haven’t tried that but I think it would work. The pixels don’t need to be constantly refreshed they just get written to whenever it’s time for a change and then they maintain on their own so we can alternate different data outputs.
is it better to connect two led strips in separate output points or is it possible to connect them to the same output port of arduino??
do they both get enough voltage if i connect two led strips in parallely with the output
It’s easier to connect them to the same output, they are intended to be connected in series and you just change the code to say how many LEDs are on that output.
When connecting the data in series between two strips and then connecting the power in parallel, the power source has to be able to deliver enough current to power all the LEDs. It’s not recommended to run very many directly from Arduino 5 V, a separate power supply is recommended and it is safest to have one that can deliver 60 mA for each LED. So however many pixels are going to be powered, multiply by 0.06A and that’s how many amps the power supply should be capable of.
Very nice tutorial
Great tutorial!
I take it that the CAP is built into the led, so it is not a user add on passive component? OK, I guess the CAP is something that I must add myself, according to later in the video.
The math is great explained
Very good sir
Thanks
Somebody tell me how to control the WS2812 Neopixels without the need of adruino please! Possible with USB?
The most common thing I see are those wireless remote control units which you can see if you search Amazon for something like LED controller.
my setup is 4 pins... VCC, Dat, CLk, GND
ok but i have only 1 and i want to know how to use it
im gonna use this...
Is there anyone who can help with me with programming a WS2812B LED Strip Light? It’s a for a class and I am having a really hard time keeping up and understanding. I need help understanding and maybe I can understand if it’s dumbed down a lot. I just need it to work so I can graduate from my university. Any advice will help. Thanks.
Thank you
If you want to use Art-Net 3 or sACN E1.31. Here is open source code for the Orange Pi Zero -> www.orangepi-dmx.org
Thanks. I remember looking at Art Net a while ago. I should start doing some Pi experiments.
Nice 🇫🇷
Thanks! 🇫🇮
Hi! sorry - Chaser.ino not working good... and NeoPixel_Basics.ino too...
Math! Damn!