Topics/Displays/4″ 7-Segment LED Display with 74HC595
SPIDIGITALbeginner

4″ 7-Segment LED Display with 74HC595

A 100 mm digit with its own shift register on the back. Five wires from your board, a 12 V supply for the segments, and modules that plug into each other to make longer numbers.

4″ 7-Segment LED Display with 74HC595

Specifications

Digit height4 inch (about 100 mm), one digit per module
Display typeCommon anode, as printed on the back. A 1 in the byte lights a segment; the board deals with the polarity
Segment supply12 V from its own supply, on the pins printed 12V. It passes straight across the board to the next module
Logic supply3.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 board5 wires: GND, 3V3/5V, DATAIN (SER), LATCH (RCLK), CLOCK (SRCLK)
DriverOne 74HC595 8-bit shift register per module, with a driver stage between it and the 12 V segments
Segment mapBit 0 is segment A through to bit 6 segment G, and bit 7 is the decimal point. Sent MSBFIRST
ChainingDATAOUT (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
HeadersLoose 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.

One 4-inch display module lit up showing a figure 8 in red on a dark red panel, with two ribbons of jumper wire leaving its right-hand edge and running to a black Arduino Uno compatible board at the right of the frame.
One module, five wires, and a 12 V supply off the edge of the picture. The digit is about 100 mm tall.

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.

The back of the display module: white silkscreen on black, reading lonely binary and 4 inch COMMON ANODE 7-SEGMENT DISPLAY, with IN at the top left and OUT at the top right, a two-pin GND and 12V header on each side, a five-pin header printed GND, 3V3/5V, DATAIN (SER), LATCH (RCLK), CLOCK (SRCLK) on the left and the same five with (QH) DATAOUT on the right, an outline of the digit with its segments lettered A to G and DP, and a boxed warning reading DO NOT APPLY VOLTAGE DIRECTLY TO SEGMENTS.
The IN edge, left, is the one your board's wires go to. Everything on it appears again on the OUT edge for the next module — only DATAIN becomes DATAOUT.
HeaderPins
Power, two pinsGND, 12V
Signals, five pinsGND, 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

A wiring diagram: an Arduino Uno on the left with coloured wires running to the display module's back on the right, 12V and GND to the two-pin header, 5V and GND to the five-pin header, and D8, D11 and D12 to DATAIN, LATCH and CLOCK.
The demo sketch's pins. Any three digital outputs will do; these are the three the code ships with.
  1. 12V and the GND beside it to a 12 V supply.
  2. 3V3/5V to your board's 3.3 V or 5 V pin, and the GND beside it to your board's ground.
  3. 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.

Two display modules laid back-side-up and touching edge to edge, with short black header blocks bridging the five-pin signal rows and the two-pin 12 V rows across the seam, and a ribbon of jumper wires entering the left-hand module's IN edge.
The join carries everything: data, clock, latch, the logic rail and the 12 V. Only the left-hand module here has wires to a board.

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.

The 4″ 7-segment handbook

11 articles · about 50 minutes

This page is the reference: what the part is, what it is made of, and the questions people arrive already asking. The handbook is the walk — the same part in the order somebody actually meets it.

One digit, two supplies

2 articles

A digit is eight separate lights with letters for names, and at this size they need a rail your board does not have.

The board in your hand

2 articles

Both long edges carry the same seven connections, one marked IN and one marked OUT, and the headers are in the bag rather than on the board.

Three wires, eight outputs

2 articles

The shift register is the whole trick. Bits go in one at a time on a clock, and a second clock decides the moment they become light.

More than one digit

2 articles

Modules plug into each other and keep the same three wires. Which one shows the tens is the part that surprises everybody.

Two builds and a check

3 articles

Counting to 99 on two modules, showing any number you like, and what to measure when the digit stays dark.

Edit this page — content/modules/4-inch-7-segment.mdx

Community

Questions about this product

See what other owners have asked, and read their solutions.

Ask a question ↗

4″ 7-Segment LED Display with 74HC595

Loading discussions…

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Modules and blocks on the forum