Using 74HC595 for both low and high side switching

I have a circuit, where i control six 7 segment digits. Segments are controlled by 74HC595 + ULN2803, digits are controlled by 74HC595 + 2N2222 + pnp transistor for high side switching. My program just turns everything on on boot, but when i turn it on, all segments lights on, and after 1 sec goes dark. 74HC595 starts getting really hot…

here is the piece of code:

digitalWrite(slatchPin, LOW);
shiftOut(sdataPin, sclockPin, MSBFIRST, B11111111);
digitalWrite(slatchPin, HIGH);
// segmentai
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B11111111);
digitalWrite(latchPin, HIGH);

Is there something wrong in my schematic? Or should i look for soldering errors?

R20 to R25 are "4.7". What does that mean?

I have added some more comments to schematic. R15 to R20 i have used 1k resistors. Should i remove these and try then?

http://postimg.org/image/u1soaz7fb/ |462x500

No do not remove them. Why does it say 4.7 on the schematic then? If they are 1K then there is nothing to make that top shift register hot and I suspect it is not actually wired like the schematic. I would also add decoupling capacitors on each chip.

There was a mistake in value for these resistors in schematic, i have actually soldered 1k resistors...

Soldering looks to be correct, there are no shorts in pcb.. yet when i turn it on, all segments and digits lights on and then turns off.. 15secs and 74hc595 is so hot that you can burn your finger.. :(

OK, so outputs on the 74HC595s go only to 1k resistors and an antiquated ULN2803.

The only way they can overheat is if you have miswired them, such as by exchanging Vcc and ground. Since you are sufficiently careless as not to specify in your description which is overheating, I would be presuming that your wiring is equally so.

I think i may have found a problem... I have soldered 7812 voltage regulator instead of 7805.. i will verify if this will fix it

Replaced voltage regulator with correct one and no more overheating. Now the rest of the fix will be in the code, to get it working..

Thanks everyone!