Q:

TIP120 Transistor + Solenoid Failing Randomly

I am using TIP120 transistors (controlled by 74HC595 shift registers) to control 12VDC, normally closed solenoid valves. Everything is working in short-time tests however when left overnight, some solenoids will open by themselves. The shift register is locked overnight with all pins low, and all the solenoids should remain unpowered - however, some are getting power and opening during this time. I suspect a hardware issue since this occurs both when the control program is running and when it's not. Could this be an issue with the TIP120s closing their circuits after prolonged charge on the collector? Should I perhaps be using MOSFETs in this circuit instead?
Please see the full schematic and a simplified, close up schematic below as well as images of the front and back of my perfboard.
Here are the specs for the two types of solenoids I am using. Both are showing the same behaviour. https://www.canadarobotix.com/products/1642?variant=14423744086065 , https://www.canadarobotix.com/products/1643?variant=14423744118833

A:

I don't see any decoupling capacitors on your ICs on the veroboard. PSU noise could be causing false outputs from your logic. Try putting 100nF capacitors from ground supply pin to power supply pin on each IC. Keep the leads as short as possible, put them on the copper side of the board if this helps you to meet this objective.
Without these capacitors the supply voltage at the IC pins can drop to a level where the behaviour of the ICs is non deterministic over very short timescales. The faster the logic family the worse the problem gets.

