i assembled it and soldered the parts , and everything went fine i aploaded the bootloader on the Arduino (SMD atmega328P) and managed to upload code onto it without problems .
the problems began when i started testing . first , and even before connecting the 12v line , one of the 74HC595 started heating up , only on of them , as the second one worked correctly without any problems . which was very confusing for me . with that , when i measure the supply voltage (the 5v supply voltage) with a multimeter i get 5V , the thing is after connecting it to the circuit , when i measure the voltage between the 5v and gnd lines of the 595 i get 3.8v , which is odd . also when i measure the voltage on the output pins of the 595 i also get 3.8v when it's supposed to be HIGH 5v .
the 595 that was overheating ended up being fried and stopped working all together after a full day of testing . the other one though , continued to work normally without overheating , the only problem with it is the weird 3.8v voltage .
after that i connected the 12v rail to test the L293D ICs , two of them worked correctly without overheating , but the third (IC5) overheated so much , that after a couple of seconds from me wiring the 12v rail in , it got so hot that it burned my finger . it also ended up getting fried while the other two continued to work normally .
All this happened without me connecting the motors . all of those experiments happened without any load what so ever being demanded from the ICs .
You should have stopped before applying 12 volts, you already knew there was a problem. You can only make things worse by ignoring the obvious.
Unfortunately, cannot do much with the limited size photos, cannot see traces well enough to troubleshoot.
Possible plan of action:
Using another board, install the ‘328 with crystal and caps, the two ‘595’s in sockets* and all bypass caps. Apply 5 volts. If you have that odd 3.8 volt level on IC1 or it gets warm, you have a board design error.
Install program in the ‘328. Scope the outputs of the 595’s.
Is it working? If yes, board #1 has a shorted trace on IC1 somewhere. Got back and fix it, replace IC1 and finish testing. Finish board #2 and move on.
sockets are always a very good idea on first article builds.
thank you Watts , i solved the problem by following those steps .
i soldered a second board , and it worked quite well without overheating , the 3.8v problem was gone .
i decided to re-check the first board with a multimeter , i ended up finding that there was connection between VCC(5v) and GND . i unsoldered the 595 that was overheating , and when i placed the electrodes between the VCC and Ground lines of that chip , it also showed a connection . for some reason , that 595 chip had the 5v and GND pins connected with a resistance of 30ohms , now that i know that , i don't understand how it even worked with 3.8 in the first place.