# Reverse engineering LED display help needed. Where to look?

**URL:** <https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463>\
**Category:** General Guidance\
**Created:** [March 4, 2024, 1:59pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463 "2024-03-04T13:59:02Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![bbrinkley007](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/bbrinkley007/32/1049498_2.png) [@bbrinkley007](https://forum.arduino.cc/u/bbrinkley007)\
**Post date:** [March 4, 2024, 1:59pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/1 "2024-03-04T13:59:02Z")

</div>

I'm interested in seeing if anyone has knowledge/experience with the pinouts on this 6" 7 segment LED display board. I could use it for a project if I could figure out whether it used a standardized library that might be available. These are out of some sort of lotto machines used in a gas station. On ebay at the moment and would be perfect for a project I have.

[Link to LED auction](https://www.ebay.com/itm/386164506860)

---

<div class="post-metadata">

**Author:** ![Coding\_Badly](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@Coding\_Badly](https://forum.arduino.cc/u/Coding_Badly)\
**Post date:** [March 4, 2024, 2:27pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/2 "2024-03-04T14:27:57Z")

</div>

Do you have possession of one?

---

<div class="post-metadata">

**Author:** ![bbrinkley007](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/bbrinkley007/32/1049498_2.png) [@bbrinkley007](https://forum.arduino.cc/u/bbrinkley007)\
**Post date:** [March 4, 2024, 2:33pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/3 "2024-03-04T14:33:10Z")

</div>

One is shipping, but I haven't received it yet.

---

<div class="post-metadata">

**Author:** ![Coding\_Badly](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@Coding\_Badly](https://forum.arduino.cc/u/Coding_Badly)\
**Post date:** [March 4, 2024, 3:55pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/4 "2024-03-04T15:55:08Z")

</div>

The printing on the three chips is important. That is very likely the key to your success. Try to get the vendor to provide a high resolution picture of them.

Or be patient.

---

<div class="post-metadata">

**Author:** ![JohnLincoln](https://avatars.discourse-cdn.com/v4/letter/j/7ba0ec/32.png) [@JohnLincoln](https://forum.arduino.cc/u/JohnLincoln)\
**Post date:** [March 4, 2024, 4:14pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/5 "2024-03-04T16:14:28Z")

</div>

Looks like the seller has caught the connector with a soldering iron or something on the one in the photo.

 ![7 Segment Display Board Connector](https://europe1.discourse-cdn.com/arduino/original/4X/c/1/9/c1943ff5a20045a4b640031d608028b624a5d774.jpeg)

At least the pins are clearly labeled.

It looks as though you need a 5V logic supply, and a 12V supply to light the LEDS.

Large displays often have multiple LEDs in series for each segment, so the higher supply voltage is required.

---

<div class="post-metadata">

**Author:** ![gilshultz](https://avatars.discourse-cdn.com/v4/letter/g/67e7ee/32.png) [@gilshultz](https://forum.arduino.cc/u/gilshultz)\
**Post date:** [March 4, 2024, 5:13pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/6 "2024-03-04T17:13:04Z")

</div>

The first thing I would do is ask for a schematic for the display board. The next thing is find out what displays are being used and get a data sheet for them. Then find out what other parts are on the board and get data sheets for them. Armed with this you can proceed to reverse engineer the module.

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [March 4, 2024, 10:22pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/7 "2024-03-04T22:22:42Z")

</div>

Probably tpic6b595 drivers, one per digit.

Very easy to control, you won't need a library.

---

<div class="post-metadata">

**Author:** ![bbrinkley007](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/bbrinkley007/32/1049498_2.png) [@bbrinkley007](https://forum.arduino.cc/u/bbrinkley007)\
**Post date:** [March 6, 2024, 3:32pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/8 "2024-03-06T15:32:00Z")

</div>

As soon as it arrives, may I pick your brain on how?

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [March 6, 2024, 5:43pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/9 "2024-03-06T17:43:18Z")

</div>

> [@bbrinkley007](#):
>
> may I pick your brain

Who's brain? Not clear who you were responding to! If you quote a few words of the person you are responding to, that really helps.

---

<div class="post-metadata">

**Author:** ![xfpd](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/xfpd/32/1120236_2.png) [@xfpd](https://forum.arduino.cc/u/xfpd)\
**Post date:** [March 7, 2024, 2:42am UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/10 "2024-03-07T02:42:44Z")

</div>

> [@JohnLincoln](#):
>
> something

Potting/RTV/whitesilicon - keeps the connector from shaking loose.

---

<div class="post-metadata">

**Author:** ![JohnLincoln](https://avatars.discourse-cdn.com/v4/letter/j/7ba0ec/32.png) [@JohnLincoln](https://forum.arduino.cc/u/JohnLincoln)\
**Post date:** [March 7, 2024, 7:31am UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/11 "2024-03-07T07:31:37Z")

</div>

> [@xfpd](#):
>
> Potting/RTV/whitesilicon - keeps the connector from shaking loose.

Ah, yes I see that now.

I'd have removed it before taking the photo though.

---

<div class="post-metadata">

**Author:** ![bbrinkley007](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/bbrinkley007/32/1049498_2.png) [@bbrinkley007](https://forum.arduino.cc/u/bbrinkley007)\
**Post date:** [March 7, 2024, 2:38pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/12 "2024-03-07T14:38:47Z")

</div>

> [@PaulRB](#):
>
> > [@bbrinkley007](#):
> >
> > may I pick your brain
> 
> Who's brain? Not clear who you were responding to! If you quote a few words of the person you are responding to, that really helps.

Sorry for the confusion. This forum works a little differently than I am accustomed to. I thought clicking "Reply" on the actual thread comment would respond specifically to that comment.

I was referring to Picking PaulRB's brain since he seemed to indicate some familiarity with the most likely chipset being used and how to control.

---

<div class="post-metadata">

**Author:** ![bbrinkley007](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/bbrinkley007/32/1049498_2.png) [@bbrinkley007](https://forum.arduino.cc/u/bbrinkley007)\
**Post date:** [March 7, 2024, 2:46pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/13 "2024-03-07T14:46:21Z")

</div>

Actually, I think you are spot on. The datasheet on the tpic6b595 chip shows the same inputs as the board connector shown in a screenshot above with the exception of the 12v pins added on this unit.

I'm really very new to programming for Arduino and have only used the LCDI2C for displaying information on my project. Can you, or anyone here, post an example project that utilizes a seven digit led display like this? I will continue to research myself, but appreciate the assist if anyone can save me time. Thanks!

---

<div class="post-metadata">

**Author:** ![Coding\_Badly](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@Coding\_Badly](https://forum.arduino.cc/u/Coding_Badly)\
**Post date:** [March 7, 2024, 2:58pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/14 "2024-03-07T14:58:56Z")

</div>

> [@bbrinkley007](#):
>
> I thought clicking "Reply" on the actual thread comment would respond specifically to that comment.

It does. Unfortunately, there is no visual indicator.

(I have strong personal opinions on that choice. The opinion includes inappropriate language and "bug".)

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [March 7, 2024, 6:41pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/15 "2024-03-07T18:41:36Z")

</div>

> [@bbrinkley007](#):
>
> I think you are spot on

Me too, but still only an educated guess. When the item arrives, hopefully you can confirm by reading the markings on the chips.

If we are correct, to control those chips, we can use standard Arduino shiftOut() function, sending 1 byte per digit/chip. The bits in each byte will control which of the segments (A-F) get lit.

Something like

```arduino
const byte SERpin = 2;
const byte SRCKpin = 3;
const byte RCKpin = 4;
const byte Gpin = 9;

void setup() {
  pinMode(SERpin, OUTPUT);
  pinMode(SRCKpin, OUTPUT);
  pinMode(RCKpin, OUTPUT);
  pinMode(Gpin, OUTPUT);

  analogWrite(Gpin, 255);

  digitalWrite(RCKpin, LOW);
  shiftOut(SERpin, SRCKpin, MSBFIRST, 0b11111111);
  shiftOut(SERpin, SRCKpin, MSBFIRST, 0b11111111);
  shiftOut(SERpin, SRCKpin, MSBFIRST, 0b11111111);
  digitalWrite(RCKpin, HIGH);
}

void loop() {
}

```

---

<div class="post-metadata">

**Author:** ![bbrinkley007](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/bbrinkley007/32/1049498_2.png) [@bbrinkley007](https://forum.arduino.cc/u/bbrinkley007)\
**Post date:** [March 8, 2024, 8:31pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/16 "2024-03-08T20:31:13Z")

</div>

> [@PaulRB](#):
>
> Me too, but still only an educated guess. When the item arrives, hopefully you can confirm by reading the markings on the chips.

[TI Chip](https://photos.app.goo.gl/V7eH9hxTdJnKZeuQ6)

You were correct.

I tried your code but it didn't do anything. I searched and found an old thread [Troubleshooting TPIC6B595N](https://forum.arduino.cc/t/trouble-shooting-tpic6b595n/146799) that had code I loaded and now can verify that all segments light up (it lights everything and then turns off and repeats). To know I have a working display is fantastic news, but I am still only at the beginning of learning how to make this function as a simple countdown timer.

I am still looking for any links to tutorials or reading material on using shift registers that might help me along the way.

Thanks for your spot on advice so far.

---

<div class="post-metadata">

**Author:** ![dougp](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/dougp/32/238908_2.png) [@dougp](https://forum.arduino.cc/u/dougp)\
**Post date:** [March 8, 2024, 8:50pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/17 "2024-03-08T20:50:55Z")

</div>

The shift register part on [WOKWI](https://wokwi.com) has some working examples you can examine.

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [March 8, 2024, 10:16pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/18 "2024-03-08T22:16:11Z")

</div>

> [@bbrinkley007](#):
>
> I tried your code but it didn't do anything

I'd really like to know why.

Should I have put

```arduino
analogWrite(Gpin, 0);

```

?

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [March 8, 2024, 10:40pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/19 "2024-03-08T22:40:15Z")

</div>

> [@bbrinkley007](#):
>
> how to make this function as a simple countdown timer.

The Arduino already has a built-in count-up timer. It's the millis() function. It starts at zero when the arduino is powered up or reset and increases by 1 each millisecond.

To make a countdown timer, you just need to select the time when you want your countdown timer to hit zero. Subtract millis() from that time and you have a countdown timer, the remaining time in milliseconds before that zero time.

The next step is to turn that remaining time in milliseconds into seconds, assuming that's what you want.

After that, turn that remaining seconds time into hundreds, tens and units of seconds digits, using / and %.

Then, for each of those digits, turn the digit value into the pattern of segments A-F for display on a 7-segment display.

Finally, shift out those segment patterns to the driver chips.

One second later, repeat the process.

---

<div class="post-metadata">

**Author:** ![bbrinkley007](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/bbrinkley007/32/1049498_2.png) [@bbrinkley007](https://forum.arduino.cc/u/bbrinkley007)\
**Post date:** [March 8, 2024, 11:20pm UTC](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463/20 "2024-03-08T23:20:17Z")

</div>

> [@PaulRB](#):
>
> ```arduino
> analogWrite(Gpin, 0);
> 
> ```

Yes! 255 everything was off, now all segments are on.

Now I am on to the next step of implementing what I've learned to make a countdown timer. I'm just relieved to see life coming out, with at least the promise of it doing my bidding!

[Next page](https://forum.arduino.cc/t/reverse-engineering-led-display-help-needed-where-to-look/1231463.md?page=2)
