LED project feasibility

Hi, I'm making a coffee table and I'd like to incorporate LED strip lighting. I'm very much a beginner with electronics and programming. I could use analog LED strips which would be an easier option. However, I'd like to explore the possibility of using digital LED strips and having some colour changing effects. After a small amount of research I've realised that, for a beginner at least, there's quite a lot to learn. Even just looking at the list of all the different Arduino boards, I don't really know where to begin. So I'll try to explain my goals in as much detail as I can, and hopefully someone can tell me if it's feasible and suitable as a beginner project and perhaps point me in the right direction.

  • RGBW LED strips although RGB will suffice if necessary.
  • 6 seperate strips powered from the same source. 1 strip roughly 2 metres long. 5 strips roughly 800mm long.
  • Everything powered by a 5V Power bank.
  • Controlled by a smartphone app using bluetooth.

I'm guessing I'll need to do some soldering, learn a bit about programming and building circuits. This is a school project so ideally I'd like to have it all working in a few weeks time.

I know there's video tutorials for doing things like this on Youtube and I'm happy to follow tutorials if that's the best approach. Just wanted to make sure that the specifics of my project are realistic.

Any help appreciated, cheers!

Sorry, but I don't think that's realistic. It might take a more Arduino experienced person a few weeks, but would probably take considerably longer than that for a beginner. In practice, a beginner would likely fail and give up, losing their self-confidence, if they tried this as their first project.

This is what I would suggest to simplify things down to a more realistic project for a beginner:

Use ws2812b led strips. That way you won't need to build driver circuits for the led strips. If you get the 30 LEDs per metre (rather than the 60 or 144 LEDs per metre) strips, it will greatly reduce the power requirements.

Stay away from patterns and animations for your deadline. Have all the LEDs show the same colour/brightness. You can modify the project later to include all those cool things.

Use couple of potentiometers (pots) to control the colour & brightness. Leave bluetooth and so on as an enhancement to work on after the deadline.

A Nano3 will be a suitable basic Arduino for this project. Do not route power for the strips through the Nano. Power the Nano with a separate pair of wires from the power source.

Don't forget the ~330R resistor on the data line to the strip and a large (e.g. 1000uF+) electrolytic cap across the power lines to the strip.

Use good quality thick wires to take power to the start of each strip separately. A single data line can be chained through all the strips.

Power supply: power packs won't last long and may not deliver enough current. Use a 5V high current mains psu. You are powering 180 LEDs, which will require up to 11A, so your power supply should be at least 12A for safety.

Hey PaulRB thanks so much for your helpful reply and suggestions.

The project is reasonably flexible but one thing that I don't really want to change is the power supply, so the rest of the project may have to revolve around that. I really want to avoid running off mains power so I think a power bank is my best option. I've got a 20,000mAh power bank and I tested how long it'd power a 3m 5050 analog LED strip. It was on a cyan colour. I should've put it on white really, but it powered it for around 8 hours. Not as long as I'd hoped but it is what it is. I'll probably design the coffee table so that the power bank can be recharged without removing it from it's compartment in the table. That way the LEDs can kind of be mains powered by micro USB cable and also capable of portable power.

Do the WS2812b strips have significantly higher power consumption than the average 5050 analog strip?

As far as bluetooth goes, I bought a little bluetooth controller that works with the analog LEDs. It plugs into the RGB+ and has a USB connector on the other end so the lights can be controlled with an Android app. I don't think this would work with the digital LEDs though because they have different pins. No RGB. Is it more challenging to get bluetooth functionality with digital strips?

The power source and bluetooth functionality are the 2 things I can't really compromise on but I think everything else is more flexible. I can go without animations. I can use less strips if necessary. The minimum amount of strips required is the 2m strip. I could go without the 5x 800mm strips but it would be great to have them if my power bank and noobyness will allow it.

"You are powering 180 LEDs, which will require up to 11A, so your power supply should be at least 12A for safety." My power bank has max 3.4A output so it sounds like I'll definitely have to reduce the number of LEDs. What can go wrong in terms of safety? It seems to handle powering the 90 LEDs on the 3m strip.

If my power bank limits me to only having one 2m strip then so be it. Would be great to have it digital with bluetooth and the potential for animations later. That might be a realistic target?

Most digital strips need a 5V supply. There are some that need 12V, but with those, you can't control each led, only groups of 3 LEDs.

For 5V digital strips, the current depends not on the length of strip but the number of LEDs on it. Each led can use up to 60mA on full brightness white. The primary colours (red, green, blue) will only need one third as much current, the secondary colours (yellow, cyan, magenta) need two thirds as much. Dim the LEDs to 50% and you halve the current again. Flash them in a pattern where they are only on for 33% of the time and you cut the current to one third and so on. There is an overhead for using the digital LEDs, but it's only 1~2mA per led, iirc. But it's there all the time, even when the led is "off".

Analog RGB strips, the "average" 5050 ones, require a 12V supply. But it sounds like your strip is a 5V analog strip, which is a little unusual. Is this the strip you want to use in the final project? Can you post a link to whatever technical data you have?

A 5V analog strip is going to have pretty much the same power requirement as a digital one, assuming the same number of LEDs. Up to 60mA per led.

With a budget of 3.4A, you can run 3.4/0.060 = 56 LEDs. So your 2m strip of 60 is slightly over budget, on full brightness white. On cyan, each led could have been drawing 40mA, so your 3m strip would also be slightly over budget. If you go over the max current of the power pack, the voltage will probably begin to drop a little, causing all the LEDs to be a little dimmer than they should, which might not be immediately noticeable. You also risk the power pack overheating and potentially causing a fire! I'm serious, I don't want your house to burn down. But as you are only slightly over the current limit, perhaps the overheating was not too bad. But you risk shortening the life of the power pack.

As for the Bluetooth requirement: I'm now a bit lost. You say you have a module which controls the strip from an Android app. So why do you need an Arduino at all?

I specifically bought a 5v LED strip so I could power it by USB. I could potentially use this in the final project but I'm happy to buy another strip if there's a better option for my needs. Here's a link to the ebay page but there's not a huge amount of tech data. https://www.ebay.com.au/itm/1M-2M-3M-5V-RGB-LED-Strip-Light-USB-Powered-TV-PC-Back-Mood-Lighting-Xmas-Lamp/323058631162?ssPageName=STRK%3AMEBIDX%3AIT&var=512179498723&_trksid=p2057872.m2749.l2649

I've read a little bit about voltage drop. Tomorrow I'll check to see if the lights get dimmer towards the end of the strip. I'll also try to power them from a different source with a higher current and see if I notice any difference in brightness. I did check the power bank temperature by touch. It remained very cool throughout the whole 8 hours. I'm guessing if there's no heat there's no risk of fire? The LEDs were quite warm. Leaving them in a coil probably didn't help with that. I'll look for a power bank with a higher current output if necessary.

"As for the Bluetooth requirement: I'm now a bit lost. You say you have a module which controls the strip from an Android app. So why do you need an Arduino at all?"

Hmmmm, well if I have a digital LED strip I think I'd need an Arduino to control individual LEDs for animations. The control I have over the analog strip using the bluetooth app is very basic. Just colour change, brightness, on/off. No animation options for a digital LED strip and also the RGB connection means it's not compatible with the digital strips. I don't know a lot about options when it comes to microcontrollers. I had a little look for Bluetooth USB microcontrollers similar to the one I have but for digital strips. Couldn't find any. If they do exist I don't think they'd be programmable. Arduino is the only viable option I've come across to achieve my goal. Here's a link to the bluetooth controller I have https://www.ebay.com.au/itm/Bluetooth-Controller-USB-Cable-for-RGB-LED-Strip-Light-Smart-Phone-Control-Strip/112914227217?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

Little info to go on with that bluetooth controlled strip but I'm willing to bet it's digital rather than analog controlled.

For your "little" project, there are several issues.

  1. proper power supply for all those LEDs. 6 meters or so of LEDs, typical 10-12W/m, makes for 12-15A of current at 5V. That's not a simple powerbank. That's a serious power supply, and not trivial to connect.

  2. then you want to program your Arduino so it can do certain patterns. That's a lot of work: understanding the LEDs, figuring out how to implement a pattern, etc. Really a lot of LEDs that all have to be controlled individually.

  3. next this Arduino has to listen to Bluetooth communication - while it's also dealing with the LEDs. By the time you're at this stage, you'll probably implement this part in a jiffy.

  4. finally you're going to need to write an app for your phone to actually control the whole thing. That's a whole different ballgame. Different platform, different programming language, and getting two things to talk to one another is not easy (main problem: if a command doesn't come through, which of the two is at fault?)

All in all a huge project.

I would start simple: Arduino nano + 1 RGB LED.

Wire (first on breadboard) and then code.

+++

Then think about coffee table design - do you need 50 LEDs? Is the pattern going to be seen when the table is full of coffee cups? The sight is going to be at some 45 degrees with the table surface - this perspective modifies the LEDs pattern and the animation.

Would then be acceptable to use 4-5 RGB LED (commanded by an Arduino Nano or similar)+ 1-3 high bright LEDs? Or to use fiber optic to simplify the overall circuitry?

I think that if you switch out your current Bluetooth controller in favour of something Arduino-based, then in the few weeks you have before your deadline, you will be lucky to get back to where you are now. With more time, and as your experience grows, more cool stuff will become possible. But in the short term, it will seem like a lot of work to achieve what you can do today.

Thanks for all the feedback. You've helped me establish some fundamental things. I now know I won't be able to power 6m of LEDs with a power bank. I'll experiment with the power bank and the 3m LED strip to establish voltage drop. My power bank has "Output Overcurrent Protection - Automatically monitors output current to protect the device and shuts off when current exceeds the maximum limit." So I don't think there's any risk of overheating. I'll also look into limiting the max brightness of LEDs with Arduino.

I would really like to learn how to control LEDs with Arduino and incorporate Bluetooth control. Not just for this project but for others in the future. So I'll continue to research and learn. There's LED Arduino Bluetooth apps available for Android that people have developed so I won't need to code software. I think there's also LED animations people have coded that I could download, use, modify and learn from. Anyway, if I don't manage to have it working in time for this project, that's ok. I can always revert back to the analog strip.

I'll take a look at the Nano and WS2812b.

Cheers!

If you have 30 LED/m strips, that's up to 60 mA per LED (20 mA for each red, green and blue), or up to 1.8A per meter with those LEDs at full brightness. That's probably about the limit of your power bank.

Another possibility is to use WiFi instead of Bluetooth. You could use a Wemos Mini and the Blynk app on your phone.
s-l225 (5).jpg

s-l225 (5).jpg

I discovered a really helpful website and company for beginners like me called Adafruit. They have a great guide that covers a lot of the basic stuff in a clear and easy to understand way. The Magic of NeoPixels | Adafruit NeoPixel Überguide | Adafruit Learning System

They also have some great advice for reducing power consumption Overview | Sipping Power With NeoPixels | Adafruit Learning System

They sell "Skinny Mini" LED strips that aren't as bright as the standard size but only use about 60% of the power consumption.

Thanks PaulRB for the WiFi and Blynk suggestion. Will look into that.