I am trying to control the speed of 4 motors that run up to 12 volts and the max current is at 4 Amps running through the system. More will be good to have as well. Are there motor shields that can allow this many channels and current, or are there some that can be stacked?
No Arduino board will directly drive a motor. An Arduino can control a motor through a driver.
What type of motors? Brushed, brushless, stepper?
For brushed motors, do the motors rotate in one direction or must they be reversible. If one direction a simple MOSFET driver would be sufficient. If reversibility is required a H-bridge controller would be necessary.
In either case, the driver must be capable of supplying the motor stall current. What is the stall current of the motors? Stall current should be listed in the motor data sheet.
I am using a water pump, I guess brushed motor, and three solenoid valves.
The valves are at 1 Amp and can manage around 700mA and the pump can run from 300mA. Controlling the speed of the pump and turning on and off the valves is the goal.
Right now I have a setup on a breadboard with mosfets that can control all, but I am looking for a possible smaller adapter or daq that can handle it. If not, I will just create a pcb board and solder the components and attach it to the arduino.