At work, I have connected an Arduino to a security key (which has a 12v power supply) in order to give us a more versatile door lock. Unfortunately, people keep removing the key pad, disconnecting the wires and re-connecting them (defective keypad I guess.) In the process, I am afraid that they will accidentally send 12v into the Vcc, ground, digital in, and/or analog in pins. What is the best way to protect my Arduino from the 12 volts? I really need a component or two that I can to my pins.

Edit: it is difficult for me to describe this problem without mentioning the danger to all components. Please describe ways to protect digital outputs HERE

1 Answer 1


There are some suggestions at Protecting Inputs in Digital Electronics .

Amended answer

Testing of my earlier answer involving clamping diodes gave unsatisfactory results. Due to the small current flow the diodes allowed a considerable voltage to reach the input pin (like, 9 V).

The amended circuit below, tested with 12V input, satisfactorily keeps the Arduino input pin to 4.9 V, even with 12 V from the device. The current through R1 is around 7 mA which is what you would expect:

I = V / R
I = 7 / 1000
I = 7 mA

The 1N4733A is a 5.1 V, 1 W zener diode which can therefore handle dropping 5 V at 7 mA.

In case you are wondering where the number 7 comes from in the calculations above:

  • The input voltage is 12 volts
  • The desired output is 5 volts
  • Therefore we need to drop (12 - 5) volts over the resistor
  • Thus 7 volts are dropped over the resistor

Input pin protection

Further reference material:

  • Is D2 and C1 connected to +5v or ground? I don't see a lable
    – Hoytman
    Jul 4, 2015 at 3:38
  • As per Electrical Symbols & Electronic Symbols the downwards pointing triangles are common ground. So yes, D2 and C1 are connected to ground.
    – Nick Gammon
    Jul 4, 2015 at 5:07
  • Thanks, great link for someone that is not a trained electrical engineer (me.)
    – Hoytman
    Jul 4, 2015 at 17:22
  • Can this same circuit protect Digital outputs too, or should a different circuit be used?
    – Hoytman
    Jul 4, 2015 at 17:33
  • 1
    Note: circuit changed again as testing of the clamping diodes solution revealed that with the low current through the resistor (due to the high impedance of the Arduino input) they were not effectively protecting the input pin. The zener diode solution, however, does.
    – Nick Gammon
    Jul 4, 2015 at 22:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.