4x7 segment display help

I bought a starter kit off ebay and in it got a 4x7 segment digit display. it says KEM-5643AS on the side and has 2 rows of 6 pins underneath. I cant seem to find out any info on how to use it and was wondering in anyone can help me?

thanks in advance


Did you get a datasheet for the display? If not, we'll have to do some qualified guessing on how to hook it up.

The pin-out seems to be quite standard for these 4x7's and judging by datasheets from other manufacturers (http://www.rcscomponents.kiev.ua/modules/Asers_Shop/images/datasheets/GNQ-5643Ax-Bx.pdf) you have a bright red common cathode display. You can drive this directly from the Arduino but it will keep the Arduino quite busy since you will need to do the multiplexing in software.

To do this you should hook up each of the display pins 11, 7, 4, 2, 1, 10, 5 (and optionally 3) through current limiting resistors to digital outputs on the arduino. These pins are the "segment pins" or anode pins for the 7 segments (plus decimal point and colon between digit 2 and 3). Check the datasheet to see which pin goes to which segment. I don't know the exact characteristics of your display but I think 330 Ohms would be a pretty safe value for the resistors.

Pins 12, 9, 8, 6 can be connected directly to output pins. These are the common cathode pins or "digit pins". Each pin corresponds to a digit. These pins should be held HIGH when you're not displaying the particular digit.

When you pull a combination of the segment pins HIGH and pull one of the four digit pins LOW a single character will be displayed matching the combination of the segment pins and digit pins. To display four digits you will have to constantly "blink" the digits by lighting them one at a time over and over again so that they will appear to be lit up simultaneously and constantly.

I don't know if any of my gibberish makes any sense but it isn't all that easy. I was fiddling around with a 4x7 myself not long ago so I can provide an example if you want but you might want to give it a go on your own first.

For a real scenario, you would probably use some kind of LED matrix driver

I've hooked this circuit up and it does work but I have a question. How is it possible that one can hook the common anode directly to an output pin? The datasheet says that the current is 20mA per segment. Lighting up every segment in a single digit would draw about 160mA. I thought the Arduino output pins could only sink or source about 40mA.

perhof: Pins 12, 9, 8, 6 can be connected directly to output pins.

No! As Unclerojelio has already figured out, that would overload the Arduino pins and possibly damage them. With 330R series resistors, the current is probably around 10mA per segment, so a full digit could be as much as 80mA, too much for an Aruino output top sink.

You could change to 680R series resistors, limiting the current per digit to around 40mA, but its still on the limit (always best to stay well away from those) and won't be very bright once combined with a 1:4 multiplexing strategy.

For a brighter display, use 4 NPN transistors (e.g. BC337) between the common cathode connections and Gnd. Use a 4K7 resistor between the NPN bases and the Arduino outputs. Then you could even reduce your series resistors from 330R to 220R for a much brighter display.