Connecting 2 Seven Segment Displays with the same adress

Hi!
I want to use two 4 Digit Seven Segment Displays(TM1637) to display the same content twice.
Can I just connect them to the same pins?

  • Might be best to use two instances.

If they have the same address. Dronebotworkshop did it with I2C OLED.
2-128x32-oled-displays

You can try to see if they work; else, create two objects from the Library's ClassName and connect the display units using seperate IO lines.

#include <TM1637Display.h>
#define CLK1 4
#define DIO1 5

#define CLK2 6
#define DIO2 7
 
TM1637Display display1(CLK1, DIO1);  //CLK1 = 4, DIO1 = 5
TM1637Display display2(CLK2, DIO2);  //CLK2 = 6, DIO2 = 7

Note that the TM1637 is NOT an I2C device. It uses a clock and data line, but has no address, so you cannot put multiple TM1637s on the same pins.

I've seen claims of success when sharing the clock pin between multiple TM1637s while using separate data pins, but that may not work with all libraries, so best to use separate pins for both.

I've got it to work by using the same pins although it was a bit fiddely.

That's awesome... how did you do it?

No, it's simple.

I think some may have missed something important that was said in the original post:

That's what will happen naturally if you connect 2 displays of almost any type to the same pins.

Getting them to display different content would be awesome. In theory, if the displays had i2c interfaces it could be done, but in practice few displays have a choice of different addresses, so it would be necessary to use an i2c multiplexer.

1 Like

There is the risk that both displays attempting to respond to the data at the same time will damage one or both. I don’t know if the TM1637 is open drain output or not.