user53224: I want to turn on a pump that is running 12V and draws a current of max 1.7A with my Arduino Uno.
To do this, I bought the RFP30N06LE MOSFET and followed these instructions to wire it all up.
I connected the red wire from the pump to VIN of the Arduino and plugged a 12V 2A power brick into the Arduino. However, when I put the output pin to HIGH, the pump only pumps weakly and the MOSFET gets very hot.
When I connect the pump straight to VIN and GND, it works as expected, so the Arduino is able to provide the required current. I'm thinking that there is something to the MOSFET that I am not understanding correctly. I measured VGS at 4.5V, so the MOSFET should be able to handle the current. Is there anything I am missing?
This is the wiring:

This is the (very simple) sketch I'm using to test it all:
#define PIN_PUMP_ON 7

void setup() {
  pinMode(PIN_PUMP_ON, OUTPUT);
}

void loop() {
  digitalWrite(PIN_PUMP_ON, HIGH);
  delay(1000);
}


user50469: Rewire the motor power so that it is not using any Arduino Power or GND pins.  Only connect the MOSFET gate to an Arduino pin using a suitable resistor.  The MOSFET drain needs to go directly to your power supply ground.  This way you're not cooking your Arduino.  A relay instead of the MOSFET would prevent the MOSFET resistance from reducing the power of your motor.
The 3 big pins under the Arduino's power connector (2 GND and 1 +V) can be used to power your motor, just solder directly to them for Motor +V and GND for MOSFET drain.  This bypasses the Arduino's diode.

user42539: Vin is only rated to supply at most 1A due to the reverse polarity protection diode in series from the barrel jack to the Vin pin.  You try and draw 1.7A thru that and you may smoke it. 
The Vin header is also only rated for 1A.
Connect the motor to the supply directly. The Arduino Gnd must also connect to the supply.
R2 limits Arduino IO pin current to a safe level. R1 keeps the MOSFET off while the Arduino boots up. Diode dissipates motor generated current when the MOSFET goes from On to Off. The RFP30N06LE looks to be rated for full turn on with Vgs of 5V, and Rds of 47milliohm, that part should be ok to use.
Powering the Arduino from the same source as the motor may cause issues. If you can power the Arduino from USB or a seperate battery pack and not the same 12V that powers the motor, that will probably yield better results, especially if the 12V droops at all under heavy loads from the motor. That could cause Arduino resets.

simulate this circuit – Schematic created using CircuitLab

53224: <p>I want to turn on a pump that is running 12V and draws a current of max 1.7A with my Arduino Uno.</p>

<p>To do this, I bought the RFP30N06LE MOSFET and followed <a href="http://bildr.org/2012/03/rfp30n06le-arduino/" rel="nofollow noreferrer">these</a> instructions to wire it all up.</p>

<p>I connected the red wire from the pump to VIN of the Arduino and plugged a 12V 2A power brick into the Arduino. However, when I put the output pin to HIGH, the pump only pumps weakly and the MOSFET gets very hot.</p>

<p>When I connect the pump straight to VIN and GND, it works as expected, so the Arduino is able to provide the required current. I'm thinking that there is something to the MOSFET that I am not understanding correctly. I measured VGS at 4.5V, so the MOSFET should be able to handle the current. Is there anything I am missing?</p>

<p>This is the wiring:
<a href="https://i.stack.imgur.com/wx7Pq.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/wx7Pq.png" alt="enter image description here"></a></p>

<p>This is the (very simple) sketch I'm using to test it all:</p>

<pre><code>#define PIN_PUMP_ON 7

void setup() {
  pinMode(PIN_PUMP_ON, OUTPUT);
}

void loop() {
  digitalWrite(PIN_PUMP_ON, HIGH);
  delay(1000);
}
</code></pre>
 50469: <p>Rewire the motor power so that it is not using any Arduino Power or GND pins.  Only connect the MOSFET gate to an Arduino pin using a suitable resistor.  The MOSFET drain needs to go directly to your power supply ground.  This way you're not cooking your Arduino.  A relay instead of the MOSFET would prevent the MOSFET resistance from reducing the power of your motor.</p>

<p>The 3 big pins under the Arduino's power connector (2 GND and 1 +V) can be used to power your motor, just solder directly to them for Motor +V and GND for MOSFET drain.  This bypasses the Arduino's diode.</p>
 42539: <p>Vin is only rated to supply at most 1A due to the reverse polarity protection diode in series from the barrel jack to the Vin pin.  You try and draw 1.7A thru that and you may smoke it. 
The Vin header is also only rated for 1A.</p>

<p>Connect the motor to the supply directly. The Arduino Gnd must also connect to the supply.
R2 limits Arduino IO pin current to a safe level. R1 keeps the MOSFET off while the Arduino boots up. Diode dissipates motor generated current when the MOSFET goes from On to Off. The RFP30N06LE looks to be rated for full turn on with Vgs of 5V, and Rds of 47milliohm, that part should be ok to use.</p>

<p>Powering the Arduino from the same source as the motor may cause issues. If you can power the Arduino from USB or a seperate battery pack and not the same 12V that powers the motor, that will probably yield better results, especially if the 12V droops at all under heavy loads from the motor. That could cause Arduino resets.</p>



<p><img src="https://i.stack.imgur.com/tM1Vh.png" alt="schematic"></p>



<p><sup><a href="/plugins/schematics?image=http%3a%2f%2fi.stack.imgur.com%2ftM1Vh.png">simulate this circuit</a> &ndash; Schematic created using <a href="https://www.circuitlab.com/" rel="nofollow">CircuitLab</a></sup></p>
