5V heating pad (8.8Ω) connected directly to 5V write pin only getting 0.63V

I connected Sparkfun's heating pad directly to a Nano with this program:

const byte heatPin = 6; // D6 (also PWM pin)

void setup() {
  pinMode(heatPin, OUTPUT); 

void loop() {
  digitalWrite(heatPin, HIGH);
  //analogWrite(heatPin, 255);

From reading around, I think the maximum output current of the i/o pins is 50mA...so if that's the issue, what should be added?

With my DMM, I measured 8.8Ω of the heating pad connected to the Nano. Should I put a resistor in there? The operating current of the heating pad is 600 mA.

V = IR

5/0.6 = R

R = 8.33 Ω...which is already, roughly, the resistance of the setup...

If you have not already damaged your Arduino you will be very lucky. 5v into 8.8 ohms give a current of about 560 mA. The absolute max for an Arduino I/O pin is 40mA and 20mA would be sensible.

At the very least you need a separate power supply for the heater and a transistor acting as a switch between the Arduino and the heater power supply.


Hi, All you need to know about Arduino Pin Currents:


Ok. Thanks. I'll use some sort of transistor circuit.