# 3.3v input to Arduino digital pin

Is it safe to bring a arduino digital input pin to high on a 3.3v input..from the 3.3v output of the arduino pin?

Because, I need to reset a 3.3v device on one end..and get the arduino to know about the reset too..but I am too lazy to involve transistors in my design..can i just feed that 3.3v to the arduino digital input too?

It will be just under a second..not persistant..a button tap

• Which Arduino do you have? – helloworld922 Feb 19 '13 at 16:57
• i have thearduino nano – Raaj Feb 19 '13 at 17:00
• please add a picture that illustrates what you want to do, it's difficult to decipher from your text - include relevant voltage rails – vicatcu Feb 19 '13 at 17:04
• How are you getting a 3.3V output from the Arduino Nano? It operates at 5V. Input of 3.3V would probably be ok (the ATMega328P micro has a min high-logic level voltage of 3V with a 5V supply). – helloworld922 Feb 19 '13 at 17:09
• the nano has a 3.3v output..like to uno..its rated at 50ma max – Raaj Feb 19 '13 at 17:11

Apart from Arduino Due, all Arduino's that I am aware of have an ATmega running @ 5V(DC). Check the Arduino product page Arduino Nano where it clearly states "Operating Voltage (logic level) 5V". Apart from that many Arduino boards have a 3V3 regulated output that can be used to supply an external circuit when required.

External circuit output voltage $V_{OH}$

When you attach a logic circuit to this 3V3 power rail, the outputs usually swing between near 0V to near 3V3 (unloaded) but you have to check the specific datasheet for exact voltages (usually called $V_{OL}$ and $V_{OH}$. It is clear from the above that any ATmega will have no problem recognizing a '0' signal, doubt comes with a logic '1'.

So the real question is: Does ATmega recognize 3V3 as a logic '1'? Again the answer is in the datasheet for the ATmega on your Arduino.

I didn't check all variations of ATmega that Arduino's come by, I picked the first datasheet I found: ATmega168. Chapter 29 has "Electrical characteristics". The symbols for "Input high voltage" you want to check are labeled $V_{IH}$ and there seems to be plenty of choice ( |1|2|3), but if you read carefully you'll notice that only the first two lines are relavant for GPIO pins on Arduino.

Input HIGH sensitivity $V_{IH}$ for Arduino's ATmega.

• Condition at the bottom for $V_{IH}$ is met: $V_{CC}=2.4V - 5.5V$, the ATmega has a 5V supply, so let's continue focussing at the bottom of those boxes
• Minimum $0.6V_{CC} = 0.6 × 5V = 3.0V$
• Maximum $V_{CC}+0.5V = 5 + 0.5 = 5.5V$

To anser your question: Will 3V3 logic outputs (or the regulated 3V3 supply rail) work with standard Arduino inputs?

• yes it is safe to connect 3V3 from the Arduino board to an input, because the voltage is lower than 5.5V;

And when attaching external circuitry:

• yes; as long as the output $V_{OH}$ of the external circuit is higher than 3.0V.

Word of warning: Be aware that the controller pin must be configured as INPUT, otherwise you may exceed maximum current for the pin and you'll damage the controller. When experimenting it is safer to connect a $330\Omega$ resistor in series with the inputs.

Gossary

Let's throw in a short slightly trivial glossary while I'm busy:

• $V_{OH}$ Voltage Output High
• $V_{OL}$ Voltage Output Low
• $V_{IH}$ Voltage Input High
• $V_{OH}$ Voltage Input Low

It is safe to input 3.3V to an microcontroller input pin which has a 3.3V supply. It's not safe to supply over the microcontrollers supply (usually VDD + 0.3V) unless it is specifically noted that you can do (for instance some pins on a 3.3V micro may be "5V tolerant")

3.3V microcontroller with 5V tolerant pins example:

All this information will be in the datasheet under the electrical specifications.