Max peripheral voltage into 3.3V Arduino GPIO pins?

What's the threshold for voltage into GPIO pins from peripherals to a 3.3V Arduino Pro Mini?

Does it matter whether 3.3V powers VCC versus max 12V to RAW?

Maximum is 3.3 volt. At 4.0 volt it burns. Threshold... the difference between a logic 0 or logic 1... read the specs.

What does the processor data sheet say? Hint see page 258.

Only in terms of how much current that the 3.3V can supply. The poorly heat sinked regulator can supply very little current if the supply is 12V into the Vin pin. If the 3.3V pin is supplied from a regulated 3.3V supply, the current available is the current capability of the supply.

It depends on the actual value of the processor Vcc. The data sheet says this:


If the Arduino is not powered, this means you must not apply a voltage > 0.5 V to any pin other than Vcc or /Reset

1 Like

I can't dispute what's written, but something in my head is wondering if something is being lost in translation here.

In essence this implies that the chip could/would be damaged if it were powered off and any attached peripheral continued to supply a logical high; if that were the case then I'd expect to have personally had a lot of dead chips - and yet I haven't fried even one yet.

Just wondering if anyone can add anything to this?

yet I haven't fried even one yet.

You have evidently been lucky!

There is almost always a serious problem when an unpowered chip is connected to a powered chip and you should avoid doing so at all costs.

The unpowered chip can overload the powered chip output pin, frying the output pin or even destroying the powered chip. More often, the powered chip actually provides power to unpowered one via the input protection diodes, frying the protection diode (damage you might not notice) or in some cases, cause the unpowered device to operate. This is called "phantom" powering.

In the rare situation where you can't or won't avoid connecting unpowered and powered chips, put a 1K to 10K series resistor between the powered port pin and the unpowered input pin, to limit the current draw.


Interesting - thanks for that.

I recently killed a Nano Every by continuing to send serial data into Rx from another processor while the Every was not powered. However, like you, I have got away with doing this kind of thing many times before.

1 Like

No. The 3.3V pin is just the output of the 3.3V regulator that is regulating the RAW voltage. It's 3.3V either way. That makes the maximum input voltage 3.8V (3.3 + 0.5).

Hmm, Arduino Pro Mini appears to feature built-in resistors for many of the pins. I am surprised to learn that any of the Arduino microcontrollers do not protect all the GPIO pins this way.

Most microcontrollers have built-in pull-ups; all microscontrollers in Arduinos have them as far as I know. They are not for protection.

1 Like

They just eliminate the need to have to wire in a pullup / pulldown resister a lot of the time; they float high via 20k ohm internal resister and you can just switch them low when you activate a switch ... so long as the resister is enabled and the code is set to expect active low.

1 Like

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.