7 segment shift register backpack

I am trying to make a PCB to solder my 2.3" 7 segment displays onto.

The PCB holds a 74HC595 shift register and a ULN2803A to drive the display.

The idea is that I can have multiple of these PCB's, and just put them after each other in a long line. And add more without really doing anything to the hardware.

My problem is now that I don't have that great experience with making PCB's, and first time ever I am going to try shift registers, so I would be happy if someone would take a look over what I have made, and maybe spot an error.

I know the schematic is a big messy, but still learning how to do it better.

Should have used a 0.1" grid... :smiley:

Put some decoupling capacitors on the shift register.
http://www.thebox.myzen.co.uk/Tutorial/De-coupling.html

Grumpy_Mike:
Put some decoupling capacitors on the shift register.
De-coupling

Been over that page, trying to figure out what to do...

Added a 0.1uF as close to the vcc pin as possible. But where should there be others? Guess there should be more than just one since you said capacitors?

I would put a place for a 10uF capacitor on each board where the power goes in. However you will probably not have to fit one on every board just one on the first in the chain and the last.

Grumpy_Mike:
I would put a place for a 10uF capacitor on each board where the power goes in. However you will probably not have to fit one on every board just one on the first in the chain and the last.

Might add one to each... Just because I order them 10ps at a time. :smiley:

What about the connections? Can you see anything wrong there? Been over it multiple times, think I got it right...

Updated version.

Added the capacitors, removed the dc connector, and added an RJ45 connector instead. (connector is in the middle of the board, so hopefully the male connector on the wire will be hidden behind the display)

Is the pinout for the display correct? I've used them the past and it was not the same as yours but then they may have been different displays.

I've attached a portion of my schematic, note that there are two anodes.

The PCB looks OK, quite a few odd angles on traces but that won't break the bank. I seem to recall that the spacing on the rows of pins was not a multiple of .1", maybe not but worth checking.

Also with the schematic, you should at the least add the pin names to the chips, nobody is going to search the data sheets to figure it out, and it's also harder for you to debug. And move the pins so the drawing flows logically, it's very difficult to follow a "real life" pin layout with dozens of parallel and crossed over traces.


Rob

Might want to check my project out: "Large" Seven-Segment/Scoreboard Controller Design (and Questions!) - Other Hardware Development - Arduino Forum

The onboard Arduino and associated components can be left out; focusing on the shift registers you could reduce your board component count to just a single IC, a resistor, and a decoupling cap. STP16C596 and TLC5916 are pin compatible DIP versions of the TLC5925. There are also 8 output ICs like these.

The code to drive it is also available and easily modified for any number of segments that you want to drive.

Haha - glad I'm not the only one complaining to bld about 90 deg angles on tracks.

Graynomad:
Is the pinout for the display correct? I've used them the past and it was not the same as yours but then they may have been different displays.

I've attached a portion of my schematic, note that there are two anodes.

The PCB looks OK, quite a few odd angles on traces but that won't break the bank. I seem to recall that the spacing on the rows of pins was not a multiple of .1", maybe not but worth checking.

Also with the schematic, you should at the least add the pin names to the chips, nobody is going to search the data sheets to figure it out, and it's also harder for you to debug. And move the pins so the drawing flows logically, it's very difficult to follow a "real life" pin layout with dozens of parallel and crossed over traces.

The pinout should be correct, it is mirrored though, because the display goes on the opposite side of the board than the components.

My displays got two anodes too, but they work with just one connected, should both be connected anyways?

Trying to make the schematic better...

Chagrin:
Might want to check my project out: "Large" Seven-Segment/Scoreboard Controller Design (and Questions!) - Other Hardware Development - Arduino Forum

The onboard Arduino and associated components can be left out; focusing on the shift registers you could reduce your board component count to just a single IC, a resistor, and a decoupling cap. STP16C596 and TLC5916 are pin compatible DIP versions of the TLC5925. There are also 8 output ICs like these.

The code to drive it is also available and easily modified for any number of segments that you want to drive.

Maybe going to look at that for a later version. I would like to stick with some components that as many as possible use. :slight_smile:

If it works then one anode should be OK.

Schematic improved. Some further tips for future reference. It's normally more confusing to connect all the VCC and GND pins with wires, your GND goes all over the place and clutters up the layout with a lot with wires that serve no purpose, and for no reason as you can use a GND symbol. C2 could be rotated and placed so no wires cross, C2 could be rotated as humans tend to assume the + is on the top.

A good schematic capture program will allow you to move pins which is a huge positive for making a clear schematic.

As Chagrin mentioned there are chips around that do all this, no need for the 2803 or the resistors.

Your data out and data in, how are you going to physically connect them?


Rob