#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