LEDs without the use of current limiting resistors

Boffin1:

That does not mean that you can't get away with not using that approach occasionally. Using that approach, however for a reliable solution is dangerous.

Right, and the whole point of Arduino is to simplfy things for beginners, no direct port manipulation for example, so lets stick to the basics on the hardware side when newbies are asking if a resistor is required for an LED.

Now I know what the ugly stepchild feels like. Lets hide him in the closet when company comes to visit. sigh.

So, the next time someone specifically asks:
"LEDs without the use of current limiting resistors"
And gives a very specific example, we are supposed to tell them that its impossible to do that, and they should never think such dangerous thoughts?

Hippynerd:

Boffin1:

That does not mean that you can't get away with not using that approach occasionally. Using that approach, however for a reliable solution is dangerous.

Right, and the whole point of Arduino is to simplfy things for beginners, no direct port manipulation for example, so lets stick to the basics on the hardware side when newbies are asking if a resistor is required for an LED.

Now I know what the ugly stepchild feels like. Lets hide him in the closet when company comes to visit. sigh.

So, the next time someone specifically asks:
"LEDs without the use of current limiting resistors"
And gives a very specific example, we are supposed to tell them that its impossible to do that, and they should never think such dangerous thoughts?

You sir are free to do whatever you wish to your arduino on your projects. However if you post information to people asking for help, some people will probably continue to warn against poor advice that sometimes get posted around here.

So unless your looking for some kind of validation for your methods and advice I don't see where you have a valid complaint to share with us.

Lefty

lets stick to the basics

Essentially you are saying that some members are too stupid to understand the truth so we should tell them falsehood for their own good.

dhenry:

lets stick to the basics

Essentially you are saying that some members are too stupid to understand the truth so we should tell them falsehood for their own good.

No we are not saying that and well you know it.

retrolefty:

Hippynerd:

Boffin1:

That does not mean that you can't get away with not using that approach occasionally. Using that approach, however for a reliable solution is dangerous.

Right, and the whole point of Arduino is to simplfy things for beginners, no direct port manipulation for example, so lets stick to the basics on the hardware side when newbies are asking if a resistor is required for an LED.

Now I know what the ugly stepchild feels like. Lets hide him in the closet when company comes to visit. sigh.

So, the next time someone specifically asks:
"LEDs without the use of current limiting resistors"
And gives a very specific example, we are supposed to tell them that its impossible to do that, and they should never think such dangerous thoughts?

You sir are free to do whatever you wish to your arduino on your projects. However if you post information to people asking for help, some people will probably continue to warn against poor advice that sometimes get posted around here.

So unless your looking for some kind of validation for your methods and advice I don't see where you have a valid complaint to share with us.

Lefty

Im not looking for validation here buddy. Answer the question, what are you suppose to tell someone that asks a valid question, and provides a documented example.

I think the best answer to the question is, yes, that is possible under certain circumstances.
It may be that they need the display to fit in a tiny space, but it only needs to work for 3 days and never used again.

Also, I cant take credit for the design, I just found it on the interwebs, and built one. I can only take credit for experimenting with it, talking to people about it.

Sincerly, Danger McGee.

Answer the question, what are you suppose to tell someone that asks a valid question, and provides a documented example

You tell them the truth. That it is a crap design made by someone who didn't understand what they were doing or understand the damage it is causing.

You point them at your own web site where you did experiments and prove you are drawing current that is over five times the level that the data sheet says damages the arduino.

In the Internet age on the web documents are not worth the paper they are written on. Which you might say includes my site. So do your own experiment and see for yourself.
If you disagree with the results then publish your findings.

showing some tests is one way, but calling it a crap design by someone that doesnt understand what they are doing is totally subjective, thats just your feelings, not the truth.

The truth seems to be that you may reduce the lifespan of some or all of the parts. If you dont protect your LEDs with resistors or some form of current limiting device, they will probably fail sooner than if you had.

Findings posted. testing ongoing.

I dont absolutely disagree with you, i disagree that things are as absolute as you say.

Hippynerd:
showing some tests is one way, but calling it a crap design by someone that doesnt understand what they are doing is totally subjective, thats just your feelings, not the truth.

The truth seems to be that you may reduce the lifespan of some or all of the parts. If you dont protect your LEDs with resistors or some form of current limiting device, they will probably fail sooner than if you had.

Why willingly reduce the lifespan of components if it could easily and cheaply avoided?
It makes absolutely no sense to me. Datasheets do not lie. There is reason they are only rated at 20-40ma.

Avoiding failure also means avoiding messy rework. Especially LEDs in a cube, with leads formed around other leads, or perhaps inaccessible.

but calling it a crap design by someone that doesnt understand what they are doing is totally subjective, thats just your feelings, not the truth.

The original post, oh what a long time ago it was, asked what assumptions the original designer had made. He asked if it was some consideration over the total thermal energy or something. When you looked at it there was no such consideration, in fact all that had happened was he had looked at the piceved brightness of the LEDs for differing pulse widths. I consider that a crap way to design anything. It shows no understanding of what is actually going on. It is common to see such crap designs at places like instructables. It is a result of either ignorance or a missunderstanding about peak verses continuous current.
Now you might want to replace the word crap with some more politically correct phrase like differently correct but that is up to you. I feel there is little subjectivity with the words I used.

Hey Hippynerd,

I like your your profile " Damnit Jim, Im a technician, not a engineer! "

Grumpy_Mike:
... differently correct ...

I like that phrase. I'm going to start using it.

Hippynerd:
And gives a very specific example, we are supposed to tell them that its impossible to do that, and they should never think such dangerous thoughts?

No, we tell him to read the datasheet.

Except he won't have it, therefore we err on the side of not killing his components.

Yes, some LEDs will take more current when pulsed, but that doesn't mean all of them will. We know that some of them definitely won't.

Handing out general "advice" to newbies based on something you managed to do by pure dumb luck is bad. If you can't see that then you're an idiot (so don't be surprised when people call you one in forums).

So, is this a valid way to drive a display of 4 digits, 7 segments common anode?

a 74HC595 conected to the A...G with resistors on every segment to limit the current and a direct pinout from arduino to every digit 1...4?

or should I put a transistor on every digit? I think it is an obvious question but I'm not sure if the output current of every pin on arduino is limited to 40 mA or it is just a limit that it shouldn't reach though security.

PS: In the case of using transistors to drive the digits, should I use resistors too at the gates?

Thanks for all the answers.

smeezekitty:

Hippynerd:
showing some tests is one way, but calling it a crap design by someone that doesnt understand what they are doing is totally subjective, thats just your feelings, not the truth.

The truth seems to be that you may reduce the lifespan of some or all of the parts. If you dont protect your LEDs with resistors or some form of current limiting device, they will probably fail sooner than if you had.

Why willingly reduce the lifespan of components if it could easily and cheaply avoided?
It makes absolutely no sense to me. Datasheets do not lie. There is reason they are only rated at 20-40ma.

it doesnt have make sense to you, thats ok. If someone asked you to build 100 fixtures, that only need to work for 3 days, then never again, and the money for the parts was coming out of you pocket would it make sense?
It isnt really up to you or me, its up to each individual what they want to do, and under some curcumstances that you may never have considered that it could be useful. Like when its not cheaply or easily avoided.

Myownway:
You could use a transistor on common anodes, and resistors on the cathodes.

Fungus, how is building something that someone else designed and built dumb luck. I have repeated the test 3 time, and had the exact same results, its not dumb luck that these cubes havnt failed.

You have convinced me only that you are angry, and want to call me names, that is not a reflection of me, that is your business. I wont resort to calling you names, because that isnt helpful, its counter productive, and just mean.

My being able to do something that you can not do, does not make me an idiot, it just makes you mean. If you want to get on your high horse, and talk about whats bad, then lets talk about calling people names, and justifying other people calling names, is that good or bad fungus?

Mike, I dont remember anything about perceived brightness, it looked to me he was doing a duty cycle calculation. The code in the original post lists mentions a variable called brightness, but I dont see anything about perceived brightness. Myownway does ask "I wonder that this may be related to joule/second = w, but I'm not sure."

I do like the expression differently correct, but I dont see that as appropriate either. "It will work, but it will likely fail sooner than if you use resistors or other current limiting device." states all the important information, without injecting feelings.

Crossroads:
Yes, the rework can be quite difficult in a cube, i've had to replace a couple LEDs in my first cube, and it was pretty difficult, even on a small single color cube. The I have repaired a few spires from this charlieplexed cube, and its actually a lot easier than a single color cube. I think its the lack of gridded wires that makes it easier to get into the LEDs on the spires. Have you looked at any of the pictures that took? Its is way easier to repair a spire before you solder it onto a board, but if one LED is messed up, its not too hard to replace.

boffin: Im glad you like it, you can use it if you like, i dont own any rights to anything, and I really dont care either way.

Hippynerd:
Fungus, how is building something that someone else designed and built dumb luck. I have repeated the test 3 time, and had the exact same results, its not dumb luck that these cubes havnt failed.

Did you use a different source of components each time...? I've got datasheets for LEDs that say they can take 200mA pulses, I've got datasheets for LEDs that say they can only take 35mA pulses. Dumb luck is dumb luck until you try it with the 35mA LEDs.

Hippynerd:
...that is your business

The only problem is that your taking your business and telling noobs that that's the way to do it. You're not paying for their components, don't give them advice that might destroy them.

Hippynerd:
It isnt really up to you or me, its up to each individual what they want to do, and under some curcumstances that you may never have considered that it could be useful. Like when its not cheaply or easily avoided.

Well, OK, so long as you add a disclaimer to all your posts:

"Warning, this exceeds the LEDs specifications and might destroy your LEDs".

Except you don't, do you? Noooo...you brag about how you do it all the time and it's perfectly fine to do so.

OK, enough.
Thread locked

@myownway,
Where you put the resistors and if you use a transistor is all a matter of how you plan to multiplex.

Say you had common anode display:
If you were driving 1 segment on at a time, and multiplexing by cycyling thru all 28 segments, then you could get by with 1 resistor per common anode, with current sourced from an arduino pin and 1 cathode at a time pulled by an arduino pin.
If your multiplexing is going to be by digit, then you would need a PNP transistor sourcing current to the anode, and a resister per segment with the cathode all pulled low at the same time by ardiuno pins. The PNP would control the 20mA x 7 segments when an 8 is displayed at full brightness.
(check your datasheet, 20mA may be too much for your display).

In place of the arduino pins, you could use a TPIC6B595 shift register with open drain outputs. You would shift in the font pattern you wanted and turn on the PNP transistor to turn a digit. Cycle thru the 4 digits that way.
The PNP needs a High to turn off and Low to turn on. You could use a 2nd TPIC6B595 to turn on the PNPs, with pullup resistors to turn them off. Thus 3 IO pins could control the 4 anodes/8 cathodes (if using decimal point).
If you had a Large display, the kind with 3-4 LEDs/segment and that needs 12V, then the PNP base needs to be pulled to 12V to turn it off, and the TPIC6B595 provides the 5V to 12V buffer from Arduino pin to PNP base.

A P-channel MOSFET could be used also. A Logic Level part is needed for sourcing 5V, a standard level part can be used to source 10+V with TPIC6B595 controlling the gate.

If you didn't use the TPIC6B595, then NPN transistor between arduino and 12V transistor is another option for buffering 5V to 12V.