A custom 7-segment display module PCB with 74HC595 shift register interface.
Here’s a quick video of the module in action:
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!
Here’s a summary of how the bits in the shift register are mapped to LED segments:
|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|
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|
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
- 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