5
\$\begingroup\$

Can anyone recommend a cheap ( less than $4 ) driver chip capable of driving a 4 digit, 7 segment display with the center colon? I'm very familiar with the likes of the MAX7219 and similar but they are WAY too expensive for my project. Also, the chip MUST be a DIP package.

Thoughts?

\$\endgroup\$
2
  • \$\begingroup\$ To make a specific recommendation it would be useful to know how much current you need to drive each segment with and what the 'driver' will be interfacing to. \$\endgroup\$
    – Matt B
    Dec 10, 2013 at 4:29
  • \$\begingroup\$ < 20mA and AVR for the controller. It's just for a basic indication type display. \$\endgroup\$
    – Adam Haile
    Dec 10, 2013 at 12:23

4 Answers 4

10
\$\begingroup\$

The cheapest solution may be a microcontroller programmed for that purpose.

enter image description here

This is all you need: displays, a couple transistors and resistors. Should be possible for about $2. If you really want to control the colon you need a fifth transistor. (If it's always on you can leave it out of the microcontroller's way, and simply connect current-limiting resistors.)
(following Geert's suggestion) If you don't use the decimal point LEDs you can use the "DP" signal to control the colon LEDs. In that case the 4 transistor suffice.

The nice this about this approach is that you can make it an intelligent display which you could control via its UART. Of course if the application is rather simple, like a digital clock, you can put everything in the same microcontroller that drives the display.

\$\endgroup\$
1
  • \$\begingroup\$ If the decimal points aren't used, two of the LEDs could be replaced by the colon LEDs. Makes it only slightly more complex to drive, software-wise. \$\endgroup\$ Dec 18, 2013 at 15:55
5
\$\begingroup\$

You can certainly drive a 4-digit multiplexed display at 20mA per segment with an AVR MCU (I'm thinking ATmega328P), if you don't have the constraints supercat mentioned and if you have 12 output pins to spare (7 for the segments, one for the colon, plus 4 more for multiplexing the digits). You will also be within the overal \$V_{cc}\$ or GND 200mA absolute maximum current for that MCU.

You can also use a BCD to 7-segment driver such as CD4011 (for common-cathode displays) or 74LS47 or 74LS247 (for common-anode displays) to save some pins and take the current load off of the MCU.

To save even more pins, you could use 8-bit shift registers such as the 74HC595. In this case you could use 2 shift registers: 7 pins for the segments, one for the colon, and 4 pins multiplexing the digits.

\$\endgroup\$
4
\$\begingroup\$

Many microcontrollers would be able to drive a 4-digit multiplexed display at moderate brightness without difficulty with the only required external components being current-limiting resistors [probably eight of them]. The only potential difficulty would be one that's common to many microcontroller-based interfaces, which is that they can't necessarily receive data as fast as standalone chips. On the other hand, if the micro doesn't have to do anything other than scan the display and watch for incoming data, it should be able to respond to incoming data fast enough for most purposes.

\$\endgroup\$
1
\$\begingroup\$

https://www.youtube.com/watch?v=8w09Zy8MQrc

that way from this video is way cheaper and simpler and better than other options. And he even gives 2 options.

  1. directly from the MCU , using only 1 resistor per digit. and using from MCU 8 pins + 1 pin/digit.
  2. using HC4017 decoder. this uses only 1 more resistor in parts and save 8 pins from MCU for then using 1 pin + 1 pin/digit. (this chip cost less than 10c/pc usd, and you use only 1 for all digits unlike 74HC595 that will need 1 ic/digit)
\$\endgroup\$

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