Go Down

Topic: Using 16-segment displays (Read 50 times) previous topic - next topic


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.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.


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?

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131