I need to build a big 6 digit display using 7 segment displays controlled with an Arduino, but the every display I find uses 5V LEDs like this one:


My doubt is, Arduino output is 5V, and the LED is 5V as well, leaving no room for the current limit resistor.

I also thought to use transistors to get the signal from 5V to 12V so I can have some space for the resistor, but I don't want to build a PCB with 13 NPN transistors just for the Displays (thing that will take a ton of space),

So I was wondering if there is a IC that I can use to change the signal from 5V to 12V in a single component (In short I'm looking for a kind of transistor array that can take 5V signal in to 12V out with at least 13 channels)

If you need more info, just ask...

  • 2
    \$\begingroup\$ The Forward voltage is not 5V, its 7.2V. "Forward Voltage Per Segment:7.2 V" \$\endgroup\$ – Wesley Lee Mar 6 '15 at 0:31

Sorry, but as others have said, the LEDs require 7.2 V not 5 V. There are circuits that could boost the 5 V up to 7 V, but they're much bigger, more expensive and more complicated than just putting in a transistor.

Have you considered using SMT transistors like SOT-23 package to keep things small? There are transistor arrays around like the ULN2802A (DIP package), but I would've thought that the flexibility of placing the SOT23 transistors individually would use less space than being constrained by the ULN2802A's pinout.

Comment in response to OP's comment (I needed more characters than I can put in a "proper" comment):

Remember that BJTs amplify /current/, not /voltage/. So, if your BJT has a gain of 100, then passing a 1mA current from base to emitter will allow 100 mA to pass from collector to emitter. (I'm assuming that you're using NPN here).

They don't need to be Darlington pairs; that's just what happens to be in the package.

Actually, looking at the datasheet, you should be using ULN2803A, not ULN2802A.

The ULN2803A already contains the base current limiting resistors, saving you some components, so you just connect the LEDs (with their current limiting resistors) to the outputs, sinking the current through the transistors, like this:

+12V | Resistor | LED | ULN2803A | GND

Make sure you connect up the "COM" pin of the ULN2803A to +12V to prevent any backwards current flow.

However, I'd still suggest that you could try a bit of SMT soldering. Get some SOT-23 transistors and 0805 resistors, and try soldering them to some veroboard. The technique I use is: 1. Put a blob of solder down for one pad. 2. Position the component over one pad. Hold it down with your fingernail (make sure that ONLY your fingernail is touching the package). You'll need long-ish fingernails for this. You could use tweezers or a small screwdriver to hold it down, but I find using my fingernail gives much more control. 3. Use the soldering iron to re-melt the first pad of solder, so that the component sinks in. At this point, you'll find out if any other part of your finger is touching the component :) 4. Once the first pad/pin is soldered, the others are much easier, as the component is already held in place. Just don't hold the iron on to any pin too long, or the heat will conduct through the component and melt the solder on the first pin.

| improve this answer | |
  • \$\begingroup\$ I'm a university student and in this project we cannot consult with any teacher, and that's why I'm asking this here, SMT is already too small for me to use (because we don't have any machines here to solder that and I still lack the ability to do that by hand) but a DIP package would fit perfectly. But you're saying I can use a Darlington Array to bump up the signal from 5v to 12v? \$\endgroup\$ – Bruno Mar 7 '15 at 15:56

For completeness, you could use a boost-type LED current driver. The right one will generate the current you need by 'boosting' the voltage to the required level. A boost regulator is a 'switching' regulator so would require an inductor and a few more consideration compared to a typical LDO regulator.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.