Using 16-segment displays

Hi everyone,

Could someone please give me some information about how to use 16-segment led displays with an arduino?

I have searched everywere, but everybody seems to talk about the MAX6955 or 6954. Both of the chips aren't sold in my country (belgium), I can buy one in the UK but it rather expensive and it is in SSOP format (so I can't use it).

Has anyone else an idea?


Common anode? Use two current-sink shift registers, let each drive 8 segments.
TPIC6C595, TPIC6B595

Need a current limit resistor per segment as well.
(Vs - Vf)/current = resistor
Assuming Vs = 5V, Vf = 2.2V, 20mA/segment:
(5V - 2.2)/.02A = 140 ohm, use standard 150 ohm resistor.

Hello jensvde: 16 segment is 2 8 segment display, that can drive 2 different letters I believe?

You can drive them directly from 2 8-bit ports with arduino just issuing number bytes to them. How ever this need MEGA board as you need 2*8-bit registers to operate them. Better advice is to use already mentioned 8-segmenet display controllers and control them with just 4 bits. Now you can control 2 displays with 8 bits in single port is way better for codewise too as you need to send 4 bits in byte to each controller and they display numbers as they are. first one is controlled via numbers 0-9 and the second gets trickier as it uses way bigger numbers to present 1. 1 would be B00010000; for the second monitor. 2 would be B00100000.

When you send one to both displays you would send: B00010001 which provides both displays the number 1.

See the reason for twin controllers?

Here are a few posts I wrote on driving 14 and 16 segment common-cathode displays:

Photos attached: