I/O pin power output

Hey I’m just wondering what the deal is with the power output of the GPIO pins is. I would think that they would run at 5v logic levels or even maybe 3.3 volts but when I test it with a multimeter it seems to be putting out neither. I don’t know exactly but I think it was just around 2 and a half volts. I seems odd to me to have such low level outputs, I feel like it would cause problems in pretty standard 5v logic level circuits and stuff like.

I would think that they would run at 5v logic levels

When configured as an output and a HIGH value is written a pin will be at 5 volts.

Can you say a bit more about how you were measuring the voltage? It should swing from 0 to 5V when you go from digitalWrite(pin, LOW) to digitalWrite(pin, HIGH). Can you post the sketch code that you used to set up the pin(s)?

To get a valid logic voltage from a I/O pin you must first setup the pin to be an output pin via the pinMode command:

pinMode(pin#, OUTPUT); // sets the digital pin as output

Then you will get valid logic voltage reading as follows:

digitalWrite(pin#, HIGH); // output will measure +5vdc, limit current draw to 20-30 ma max

digitalWrite(pin#, LOW); // output will measure 0vdc, limit current draw to 20-30 ma max

If you just load and run the blink sketch and measure voltage between pin 13 and ground you will see the voltage toggling between +5vdc and 0vdc at a one second rate.