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…
Might want to check my project out: http://arduino.cc/forum/index.php/topic,71211.msg530649.html#msg530649
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.