1. If it is a 12v DC pump then you could use just a simple BJT transistor. You have to check for the current drawn by the motor. If you are lucky you will find it on its tag. If not measure the resistance using multimeter and 12 divided by that R is the current. If current is around 1 A use TIP122 for higher current use 2n3055. or you could search for the right current rating in digi-key / mouser.
2. If it is 12 volts ac. you could use either a relay or a triac.
You also can use a logic-level mosfet with the gate driven by the uC. An N-channel mosfet connected between load and ground (i.e., low-side) would be the easiest configuration. You will need to give motor current for more specific suggestions.
Hi,
Like you said, there are 1000 ways to do this.
1. You could use a relay.
2. You could use a solid-state relay.
3. You could use a BJT driven by the micro.
4. You could use a logic-level N-channel MOSFET driven directly by the micro in low-side configuration.
5. You could use a power N-channel MOSFET (for high power requirements) driven by a circuit interfaced to the micro driven in low-side configuration.
6. You could use Triac if AC.
7. You could use SCRs if AC.
8. You could use a P-channel MOSFET in high-side configuration.
There are many ways to achieve it. The most reliable option can be chosen once we know the motor rating and how it is driven.