Specifications
| Digit height | 4 inch (about 100 mm), one digit per module |
|---|---|
| Display type | Common anode, as printed on the back. A 1 in the byte lights a segment; the board deals with the polarity |
| Segment supply | 12 V from its own supply, on the pins printed 12V. It passes straight across the board to the next module |
| Logic supply | 3.3 V or 5 V on the pin printed 3V3/5V, so the same wiring works from an ESP32 or an Uno |
| Wires to your board | 5 wires: GND, 3V3/5V, DATAIN (SER), LATCH (RCLK), CLOCK (SRCLK) |
| Driver | One 74HC595 8-bit shift register per module, with a driver stage between it and the 12 V segments |
| Segment map | Bit 0 is segment A through to bit 6 segment G, and bit 7 is the decimal point. Sent MSBFIRST |
| Chaining | DATAOUT (QH) of one module to DATAIN (SER) of the next. Clock, latch, the logic rail, the 12 V and ground all carry on across the join |
| Headers | Loose in the bag. Both edges are bare through-holes and have to be soldered before anything is plugged into them |
What it is
A single 4-inch digit with its driver board behind it. The driver is a 74HC595 shift register: three ordinary output pins on your board become eight outputs on the module, one per segment, and the same three pins drive as many modules as you plug together.
The digit needs 12 V. The shift register needs 3.3 V or 5 V. Those are two different supplies and the board takes them on two different headers, which is the single most important thing about wiring it.

The two edges
Both long edges carry the same seven connections. One is printed IN and one OUT, with a row of chevrons between them showing which way data travels.

| Header | Pins |
|---|---|
| Power, two pins | GND, 12V |
| Signals, five pins | GND, 3V3/5V, DATAIN (SER), LATCH (RCLK), CLOCK (SRCLK) |
The ten bare pads along the top and bottom edges are not yours to wire. They are the display's own segment pins, and the box printed beside them says what happens if you feed one directly.
Wiring

- 12V and the GND beside it to a 12 V supply.
- 3V3/5V to your board's 3.3 V or 5 V pin, and the GND beside it to your board's ground.
- DATAIN (SER), LATCH (RCLK) and CLOCK (SRCLK) to any three digital outputs.
The 12 V supply's ground and your board's ground have to be the same wire. Two separate grounds is the fault that half works.
Chaining
Plug the OUT edge of one module into the IN edge of the next. The modules butt up against each other, so the digits sit at their natural spacing with no gap.

Everything except the data line is shared, so one latch pulse updates the whole chain at once and one 12 V supply feeds all of it. Data is the exception: it goes out of a module on DATAOUT and into the next on DATAIN, and never back.
Before you plug anything in
The headers come loose in the bag. Both edges are bare through-holes and have to be soldered — a jumper pressed into an unsoldered hole is a contact whose resistance changes every time the wire moves, which shows up as wrong segments, a module that works sometimes, or a chain where only the first one lights.
Where to start
The handbook below goes in order: what a digit is made of, why it needs a second supply, what is printed on the board, how the shift register works, how a chain works, and two builds. If you have the box open now, solder the headers first, then wire the two supplies.
When it doesn’t work
- Nothing lights at all.
- Check the 12 V before anything else. Black probe on your board's GND, red probe on the module's 12V pin: it should read 12 V. If it reads zero, either the supply is not connected or the supply's ground and your board's ground are not the same wire. The shift register goes on accepting bytes perfectly happily with no segment supply behind it, so a dark display tells you nothing about your code.
- Can I run it from the Arduino's 5 V pin?
- No. A 4-inch bar is several LED dice in series inside one piece of plastic, and their forward voltages add up to more than 5 V, so the bar does not glow faintly — it does nothing. That is why the board has a separate 12 V input. The 3V3/5V pin is for the shift register only and draws almost nothing.
- Only the first module works.
- The chain is broken at the join. Data leaves a module on DATAOUT and enters the next one on DATAIN; it never goes back to your board. Check that the OUT edge of the first module really is connected to the IN edge of the second, and that the joint is soldered rather than pressed together.
- The two digits are the wrong way round.
- The byte you send first travels furthest. Each byte after it pushes the earlier ones one module further down the chain, so the last byte sent stays in the module your wires go to — which is the right-hand one when the digits are facing you. Fill the array so buf[0] is the leftmost digit.
- The segments light, but the shapes are wrong.
- Two candidates. If the pattern is steady and wrong, try the other bit order — LSBFIRST instead of MSBFIRST turns every byte into a different valid-looking one. If it changes when you nudge the bench, it is a connection: a jumper held in an unsoldered hole is a contact whose resistance moves, and the bits it drops read as zeros.
- Do I need a resistor?
- Not for anything you wire. The current-limiting is on the module, between the shift register and the segments. The warning printed on the back is about the ten bare pads along the long edges, which are the display's own segment pins — put a voltage on one of those directly and that segment is gone.
- How many can I chain?
- There is no limit in the protocol: every module you add is one more shiftOut call before the same single latch pulse. The practical limits are the 12 V supply's current, which all of them share through the join, and the length of the wires between your board and the first module.