Creative Commons images are CC BY 2.0

Description: This is the LM3914 Dot/Bar display analog-controlled LED driver that uses an alinear output scale. With this driver all it takes is a single, analog signal to drive a string of 10+ LEDs, which can be configured into either bar mode (where all LEDs below a certain point turn on) or dot mode (with only a single LED on at a time). Hook them up properly, and you can create all sorts of nifty multi-LED displays.

The LM3914 is very easy to apply as an analog meter circuit. A 1.2V full-scale meter requires only 1 resistor and a single 3V to 15V supply in addition to the 10 display LEDs. If the 1 resistor is a pot, it becomes the LED brightness control. The simplified block diagram illustrates this extremely simple external circuitry.


  • Drives LEDs, LCDs or Vacuum Fluorescents
  • Bar or Dot Display Mode Externally Selectable
  • Expandable to Displays of 100 Steps
  • Internal Voltage Reference from 1.2V to 12V
  • Operates with Single Supply of Less than 3V
  • Outputs can Interface with TTL or CMOS Logic


Recommended Products

Customer Comments

  • Wow–a blast from the past… My first electronics project back, maybe 30+ years ago, was building an LED VU Meter with 2 LM3915’s… (same chip with different divider resistor values) I still have it here somewhere, and it still works!

    • A blast from the past indeed. I remember reading through an old 1981 Radio Shack cross reference guide and seeing this item. I was most intrigued by one of the application examples they had where they used this IC to drive the rows and a 4017 decade counter to drive the columns of an LED matrix. The 3914 would be configured in dot mode You’d then feed a clock into the 4017 and an analog signal into the 3914 forming a LED matrix oscilloscope. By cascading more 3914s and 4017s you could increase your resolution. I can’t imagine the quality being great, but I’ve always wanted to build one.

    • A blast from the past indeed! In 1979, I cobbled a flash ADC from an LM3914. It wasn’t a great ADC, but it worked well enough for my 4th year engineering project. Besides, I could actually afford to buy one! I had no idea these parts were still in production.

    • A blast from the past indeed. The LM3914 and the 555 timer were the first ICs I cut my teeth on. Maybe SparkFun will start selling the LM3909 LED flasher next. My bad, that chip is out of production.

  • I was wondering if I could use the PWM output of a microcontroller as the input for these ICs. I am trying to think of some way to drive an array of 10 columns of 20 rows of LEDs, but I want to control each row independently and I was thinking maybe of using something like this PWM Shield for the inputs. Someone tell me if I am way off-base with this, too. I would hate to release any of the magic blue smoke. Thanks!

    • I was wondering if I could use the PWM output of a microcontroller as the input for these ICs

      You would need to filter the output of the PWM pin, otherwise you would just see the display having a dot/bar up to the pin output level (e.g. 5V) that is dimmed according to the ‘analog’ value it’s trying to emulate.

      If you want to control rows and/or columns independently*, have a look at dedicated LED driver chips, shift registers, etc. * google “multiplexing LEDs” plus your choice of microcontroller - usually these problems have long been solved by somebody else before with a good choice of available ICs for the purpose :)

      • That’s good information. Thank you very much for the reply. Heading off to Google, now….

  • You could use one of these to drive a 1 digit display and get 0 to 9 displayed as the analog voltage increases. That would be a pretty cool and easy digital display for a throttle control, temp range etc.. without a microcontroller.

    • I don’t think that would be quite so easy. The chip itself only drives either a single output (actually there’s small regions where two outputs would actually be driven according to where the input is in the region) in dot mode, or all outputs up to and including that selected output in bar mode. A 7-segment display requires multiple segments to be lit up together and they’re not all sequential starting from a certain pin. You could still drive a 7-segment display with this, but you would have to modify the analog input very fast..which pretty much brings it back to needing a microcontroller, at which point there’s better IC options out there :)

      • I realize it drives a single output. Here’s my method. Assuming in dot mode it only drives one line at a time based on the Analog input. You tie all the 7 segment LED legs together that make up a 1 and tie that to the lowest LED input. Then tie all segments that make up a 2 together and tie that to the next LED input. Then when it hits that voltage it sinks current through all those segments lighting up the correct number.

        • Try drawing that out as a schematic, I think you’ll soon spot a problem with that approach :)

Customer Reviews

No reviews yet.