I currently have a project I'm working on using a Raspberry Pi, connected via I2C to a GPIO extender (MCP23017), which is using a Transistor (TIP120) to control a Solenoid Valve and a DC Motor in parallel. Everything works just fine until I power the motor, which only intermittently causes the GPIO extender to reset. Diagram as follows:
The microcontroller and the motors are on separate power supplies, connected only via the ground rail. I'm sure I'm missing something simple, a diode somewhere maybe, but I have been unable to figure out exactly why the reset is happening. It works perfectly fine without the motors connected.