#178 7-Segment Shift Drive Module
A custom 7-segment LED display module PCB with 74HC595 shift register interface.
Here’s a quick video of the module in action:
Notes
This is my version of project 2 from the KiCad like a Pro course from Tech Explorations.
It is essentially the LED7Segment/ShiftDrive project but as a custom PCB. The PCB includes a single 7-Segment LED, current limiting resistors and 74HC595 shift register.
The PCB design was done with KiCad.
I sent these off for production at OSH Park, and they arrived (in Singapore) a month later (Jan 17th -> Feb 17th). They turned out quite well, certainly no issues with the fab.
After examining the PCBs, I found a few things that could be improved in the design:
- doh! I got the data/latch labels around the wrong way (fixed in 1.1.0)
- pin header label was obscurred by R1 (fixed in 1.1.0)
- the thru-hole pads for the resistors are super-chunky compared to the other component holes. Not a real issue - just looks weird.
- orientation of the 74HC595 should probably be a clearer (like a notch in the footprint outline)
But they work just fine!
Register-Pin Mapping
Here’s a summary of how the bits in the shift register are mapped to LED segments:
| Bit | Segment |
|---|---|
| 0 | A - top horizontal |
| 1 | B - top right vertical |
| 2 | C - bottom right vertical |
| 3 | D - bottom horizontal |
| 4 | E - bottom left vertical |
| 5 | F - top left vertical |
| 6 | G - center horizontal |
| 7 | dp - decimal point |
Test Script
The ShiftDriveModule.ino sketch drives the module with a simple counter from 0-9, with the decimal point lit for even numbers.
The script manipulates the data/latch/clock output directly (no SPI), and assumes the following pin connections:
| Arduino Pin | Module Pin |
|---|---|
| 5V | Vcc |
| GND | GND |
| 3 | DATA |
| 4 | LATCH |
| 5 | CLOCK |

Construction
See the KiCad project for all the details. Here’s the result:



Here are the finished boards. For the one I’ve already soldered I first used male pins (to plug-in to a breadboard), but if I do another I’ll probably use female pin headers instead.

Credits and References
- This ShiftDriveModule project on OSH Park
- LED7Segment/ShiftDrive - breadboard version of the circuit
- KiCad like a Pro - course materials
- KiCad
- gerblook - nice tool for testing a set of gerber files
- OSH Park
- HARDWARE HANGOUT with James “Laen” Neal from OSH Park! - where I first learned of OSH Park
- ..as mentioned on my blog

</img>