LOW isn't very low, is my arduino fried?

I've noticed when I take my outputs low, PWM or not, the lowest they go is about .87 volts. Is this normal or should they really go to 0 or much closer than where it is. I can't seem to signal a transistor because even that voltage it triggering it high. Don't recall if that's normal. I just have one arduino that I've abused through a number of projects and I'm wondering if I've done it in.

From the ATmega328 datasheet: max Voutput low = 0.9V.

So It's within spec and thus OK. Thanks for the quick reply. I'll just have to find another transistor with a higher base threshold

How about a pull-down resistor?

Which Arduino is it? Running this sketch:

void setup ()
  pinMode (7, OUTPUT);
  digitalWrite (7, LOW);
  }  // end of setup

void loop () { }

I measure 3.8 mV on pin 7. That's a lot lower than you are getting.

at 0.87V, must be sinking way more than 20mA:

  1. Although each I/O port can sink more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed: If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test condition.

Dead pin, or maybe you forgot pinMode (outputPin, OUTPUT); in setup?

Putting this in setup before everything. Delay is to give time for measuring

pinMode (7, OUTPUT);
digitalWrite (7, LOW);

Nothing on the board but a voltmeter between ground and pin 7 I measure .815 volts. Two other things to note, all pwm pins will go high or low (5v to ~.85 volts) through code but PWM #3. It stays low. Also, with this test code above, the atmega chip gets warm to the touch. Me thinks I've managed to lightly toast it. Strange it sorta works. Board is a Arduino Duemilanove ATmega328 tinker.it

May replace with a ruggeduino for prototyping if the consensus is toast. Thoughts on repair? just new chip? It will connect and take new programs just fine.

Warm chip typically indicates a fried output. 0.815V not a very good low when a transistor can start turning on with >0.7V. Might be okay for digital connections to other HC family of devices.

Thoughts on repair? just new chip? It will connect and take new programs just fine.

Yea, get and pop a new chip into it and see if you get a better low voltage reading. My money is on you have rode that chip too hard and put it away wet too many times. Plus it never is a bad idea to have a spare chip or two around.


Just to close out this thread, my chip was indeed fried. Since it was my one duino I had to do some shopping. First I got a ruggeduino, then built the chip burner from the adafruit tutorial on a proto shield. Tested my high and low on the ruggeduino (4.87 volts and true 0 volts). Bought 4 blank atmega chips for spares. Retested my low on the bad arduino (still .87 volts and toasty). Burnt a new chip, popped it in, and I get 4.97 volt highs, and 3.7mV lows. Only down side is I lost my really tiny space heater. :grin: Thanks for all the help. back to my projects!! 8)