Well it shouldn’t source or sink more than ~15mA if you don’t go lower than 270Ω.
But with transistor drivers on the digit pins it might work for more boards. I could suggest that in my readme.
Well it shouldn’t source or sink more than ~15mA if you don’t go lower than 270Ω.
But with transistor drivers on the digit pins it might work for more boards. I could suggest that in my readme.
Incorrect. The current from each digit segment that is on adds, and must be conducted by the digit driver.
Evidently you still do not understand the most serious problem with your design.
This is how any other 7-segment controller library that doesn’t use driver chips tells you to wire it.
Not sure what the difference is. Just use the correct board and it’ll be fine : )
Only the bad ones.
You said yourself that Arduino pins have an absolute max current of 40mA and yet that's exactly what your design exceeds. If you use transistors to drive the digit commons, that problem can be avoided but your readme makes no mention of that, and so beginners will assume there is no problem.
That’s per pin.
Each pin won’t output more than 15mA (that’s assuming a low voltage drop across the segment led).
15mA x 8 = 120mA. That’s below the total max output current of 200mA.
That’s even how SevSeg tells you to wire it. Are you calling SevSeg bad? I think it’s a great library!
My design doesn’t exceed 40mA per pin. It stays well below that.
Let’s do the math.
A red led has one of the lowest voltage drops, typically about 1.7-2.2V. Let’s go with 1.7V so we see the absolute max current that this will push through.
5V (supply voltage) - 1.7V (voltage drop) = 3.3V / 270Ω = ~0.012A (12mA).
That’s below 20mA and well below 40mA.
Now, let’s assume that you somehow have a red LED with only 1V voltage drop, which probably will not happen. But let’s do the math anyway. 5V - 1V = 4V / 270Ω = ~0.014A (14mA).
So… we definitely are not exceeding the output current for a single pin. Let’s check the total output current, assuming all segments are on. I’m going to do this again assuming the unrealistic 1V voltage drop across the LED, which yielded 14mA. 0.014 x 8 = 0.112A (112 mA). That is comfortably below the 200mA limit.
Not true as only one digit is active at a time.
The digit contains up to 7 segment (digit "8"), that illuminates at the same time. So you need to multiple your results by seven.
12mA * 7 = 84 mA
The figure above is a current, that sinks each a digit pins (i.e. D1 D2 D3 D4)
I wasn't. But I have just checked SevSeg readme and I may have to change my mind. There is no warning there about avoiding the exact mistake you have made.
Sounds like you haven't figured it out yet. @jremington told you exactly what it is in post #19.
And where does that current flow to (in case of common cathode displays) or from (in case of common anode)?
The current flows from one digital pin, through the display and resistor, to another digital pin. However, it is spread out from pin to pin, so the current for each pin still stays under 20mA.
Exactly! And that total current you just calculated is still below the limit of 200mA!
Figured what out? If you’ve found a problem, please explain it.
Exactly. But each segment has its own digital pin. It isn’t 84mA flowing from one pin.
Is that true for all the pins involved?
Think about the left digit of your display, displaying "8" and lighting the DP. How many Arduino pins are involved in achieving that? How much current flows from or to each of those pins?
It seems you don't know how to read schematics.
Below is a diagram of a single digit.
Each segment has its own anode—pins A, B, C... G. But all they share a common cathode—for example, D1. This means the total current in pin D1 will be equal to the sum of the currents in all segments.
So
Is this really so hard to understand?
Would be 9 pins. 12-14mA per segment… but agin spread out through 9 pins. Wouldn’t each pin only ever see that ~13mA?
Unless your talking about that flowing back into the pins the digit pins are connected to?
No, but you guys keep explaining it like that’s coming from the segment pins so it’s hard to follow.
So what would be the solution? Using resistors on the digit pins?
PS: Of course I know how to read schematics. I’ve studied electronics (not coding) as a hobby for about a year and know the basics.
see the diagram in #19
Are you thinking about common anode or common cathode displays? (The problem occurs with either type.)
With common anode display, the 13mA current is flowing out from each of the segment pins, through the resistors and segments, and 8x13mA is flowing into the digit pin.
With common cathode display, the 8x13mA current is flowing out from the digit pin, through the resistors and segments, and 13mA is flowing into each of the segment pins.
Either way, one of those pins is exceeding 40mA.