12 of 14 segment display common anode with Nano

I want to run 12 of 14-segment single display common anode with Nano. I have s HT16K33, but I don't know how to wire or connect them to the Nano. Someone said it will not work with the common anode, so only use the common cathode. Can we use HT16K33 with the common anode 14-segment single display? if not, which driver should we use? Also, someone said it will not work with Nano because it is not fast enough. Use ESP32.

You are not the first to ask this question. It has been discussed a lot over in the LEDS and Multiplexing forum.

I have already read this but I still dont understand what they said or give the answer.

I don't think it would work for a 14-segment display. The basic idea is that instead of the HT16K33 driving up to 16 segments of a single display at a time, it can instead drive a single segment of up to 16 displays. Unfortunately this limits you to an eight-segment display, unless the 14-segment display you are using splits the segments out to two isolated anode connections, with no more than eights segments per anode connection.

A single HT16K33 could not drive twelve common-cathode displays either.

The HT16K33 does the display multiplexing, all the Nano needs to do is send it the data to display, I don't see any speed problem.

1 Like

Is it not a 18 seg?

Oh, I see the 15 now.

I have 12 of 14-segment single display common anode. See the picture.

I want to run 12 of them. I have Google and still no luck. Someone said we can not use HT16K33 with common anode LED segment. So I am very confused.

You can not use your 14 segment common anode with the the HT16K33.
You could use it for 7 segments. But if you just would need 7 segments you could use a more appropriate 7 segment driver IC for common anode LEDs also.

Supply a link to the data sheet or say what part number appears on the display devices. You could be lucky that there are two separate anodes per device, with around half of the segments allocated to each.

Anyway, if nothing else, there will definitely be a method of driving these without special driver chips but instead using do-it-yourself multiplexing, maybe making two groups of 6 displays. There, apart from a stack of resistors, you'd need a total of four 8 bit shift registers. There may, of course, be other ways of doing this.

EDIT

This is incorrect. For the persistence of vision effect which is the basis of a multiplexing solution, only a few hundred Hz is required to eliminate any noticeable flicker. Any Arduino should manage that.

I have an idea, it might work but it might not be a great idea.

SAA1064

This chip can control common anode displays. It has 16 segment pins, so it can drive 14-segment displays.

Unfortunately it has only 2 digit control pins, so each chip can only drive 2x 14-segment displays. This means that 6 of these chips would be needed for 12 digits.

The chip has i2c interface but only 4 different addresses can be set, so this is another problem to solve. If 6 Nano pins were used to control the address of each chip, this could solve that problem.

The third problem is that this chip is no longer manufactured in DIP package and so difficult to find and expensive.

My other suggestion would be DM13A.

Only one chip would be needed for all 12 displays.

12 Nano output pins and 12 small transistors would be needed to control the common anodes of each display.

3 more Nano pins would be needed to control the DM13A, using 15 Nano pins in total.

If this is too many Nano pins, a second DM13A chip could be used and this would mean 6 fewer Nano pins would be needed.

Or if a total of 3 DM13A were used, 7 Nano pins would be needed.

Using more DM13A chips would have the additional advantage of making the display brighter.

The code for the Nano will be more difficult with this chip because it will be necessary for the Nano to control the multiplexing.

When you don't need the decimal point you can take a look at HT16D35.

For my TM16xx library I added support for the TM1640 with 14seg+DP CA displays.

I also added support for the QYF-0231 module with HT16K33 that is pictured above (4 digits 14-segment HT16K33 (VK16H33) Backpack, 0.54" 14SEG+DP LED, no buttons, I2C default address 0x70). If I remember well that display is CA.

Where can we buy HT16D35?

  • directly from Holtek
  • Alibaba
  • LCSC