Close

7 Segment Driver board design

A project log for All your base are belong to us clock

A clock that displays the time in any arbitrary base

gorlothGorloth 06/09/2014 at 02:190 Comments

Finally got some time to finish up the layout of the 7-segment display driver boards. The schematic could use some cleaning up so it's not such a tangled nest of traces but I hopefully I'll have some time to do that while I'm waiting for boards and parts to arrive.

Each 7-segment display is about 2 inches tall and will have it's own board for driving the segments. I decided to give each digit its own board instead of combining multiple digits into a board becasue then I'll have greater flexibility and re usability for the boards. I could re-arrange things into two rows of five digits each or I could pop a few digits off to use for other side projects.

The control hardware for the boards themselves is a little suboptimal as the segments I have on hand are common cathode and pretty much all led drivers are setup for common anode, so I had to get a little creative on the design. Each board has two 8 bit shift registers for storing the red and green segment data. The shift registers are setup in a parallel fashion with separate latch enable pins. I choose this over chaining them all in a serial fashion as it makes for a cleaner feeling interface. You can send in new red display data without disrupting what green is set to, and if you want the red and green segments to always be the same you can just tie the two latch pins together instead of needing to double the data output. The shift register outputs are feed into 2:1 multiplexers which are capable of driving the segments and control switching between red or green output. One on the input pins can be used to switch between outputting red segments or green segments, PWMing the line allows for easy mixing of the two colors.

I've thrown the KiCad design files up on github, I think I've got all the needed files and libraries and the like but I'm not entirely sure so I also chucked in the generated gerbers (despite always being annoyed at generated files being in version control, but I figure this way someone can always see what I'm up to)

Discussions