# Possible to drive a ULN2003 driver with a LM3914 Bar graph display

I would like to drive up to 10 LED's of each pin of a LM3914 Bargraph IC. In my toolbox I have a ULN2003 Darlington drive which should fit the bill. The Darlington driver seven open collector darlington pairs with common emitters.

The LM3914 does this also. My premise is to connect the output pins of the LM3914 directly to the ULN2003 (see crude illustration)

Is this going to be possible? or am I going to have to invert the output of the LM3914

LM3914 has open collector output on its pins... When a particular output is active the internal chip transistors will pull the output pin towards ground. But when the output is not active then it remains open and floating.

Thus, when connecting the LM3914's output to the input of other ICs which expecting logical high or low signals, a pull up resistors might be a good idea to avoid random states. Use a cheap 10x resistor network of 10Kilo ohm to pull up all outputs of LM3914 when connecting it to logic gates.

If active high outputs are required from ULN2003, inverters are necessary between LM3914 and ULN2003. Use either hex CMOS inverters or built simple pnp inverter for every channels. If pnps are used, connect the output of LM3914 to the transistor base, link the emitter to Vcc through 10K resistor. Connect the collector of the PNP to ULN2003. In this case, separate pull up resistors will not be required.

• The 3914 will pull low but the 2003 wants a high signal to turn on the output. If I have a pull up resistor will this not have all inputs high when it is turned on. Then when an output is active it will go low turning off the LED when I want it on. – maxum Mar 7 '16 at 1:36
• In that case you need inverters between the LM3914 and the ULN2003. Look for CMOS hex inverter chip. Use the pull up resistors near LM3914 outputs, link into the inverters and connect the outputs of the inverters to ULN2003. – soosai steven Mar 7 '16 at 2:29

To do this without lots of inverters, use one opamp to invert your input voltage and add the full-scale voltage of the LM3914, and start your outputs from the other end. Then "0V" input corresponds to "full scale, all on" on the LM3914, which holds all the ULN2003 outputs off.

As the input voltage increases, the 3914 outputs start turning off and the pull-up resistors (you DO need those) turn your ULN2003 outputs on...

The 3914 doesn't care if you play such tricks on it. There may be tricks you can play with the 3914 reference inputs to simplify the analog input "logic", I haven't followed your links and studied it.

• great solution, I will try this and let you know. – maxum Mar 8 '16 at 3:47
• this works great thx! The only problem is there is a "blip" across all led's on the ULN2003 output at power on. I guess the LM3914 must have all outputs low when it starts? – maxum Mar 13 '16 at 9:35
• Or the analog input takes a little time to settle ...maybe add a capacitor which holds it in the right state until it charges up? That or call it the "LED Test" function :-) – Brian Drummond Mar 13 '16 at 15:17

An inverting NPN collector-follower. Resistor values may vary.

When the LM3914 is on, Q1 is pulled low, which pulls Q2 low through R2. ULN input is pulled high through R3, as Q2 is off.

When the LM3914 is off, Q1 is off, and Q2 is pulled on through R1, turning it on. ULN is pulled low through Q2.

simulate this circuit – Schematic created using CircuitLab