I am trying to lower the voltage from a 9V battery to 5V for use on an Arduino pin. I bought a 5.1V zener diode from RadioShack. Will this do what I want? Do I have to lower the amps as well? It looks like the battery delivers 9V and 1A. Should I first use a resistor to lower the amps, then use the zener diode to lower the voltage? I tried using a 330 ohm resister directly with the battery and a multimeter just to see how much it lowered the amps, and it got very hot so I am not sure if I should be using it.

Zener Diode:
Voltage: 5.1V
Current: 49mA
Maximum power dissipation: 1.0W

I looked at some example equations here: http://www.electronics-tutorials.ws/diode/diode_7.html but am still not comprehending it. I am not even sure which side the black band on the diode should point. So my question is: Will the diode work to drop from 9V to 5V and do I need to do anything extra?

I wanted to use this: http://www.amazon.com/Voltage-Sensor-Detector-Divider-Arduino/dp/B00S4PCCG8/ref=sr_1_1?ie=UTF8&qid=1424025730&sr=8-1&keywords=voltage+divider+arduino, but don't want to wait so thought I would try something else until I can get this ordered.

  • \$\begingroup\$ What exactly are you trying to do with the 5.1V? \$\endgroup\$ – sherrellbc Feb 15 '15 at 19:00
  • \$\begingroup\$ I actually am trying to intercept a pin from a PIP-16 IC on a fire alarm. The pin is sending out 9V, but I was warned that 9V would ruin the Arduino pin. \$\endgroup\$ – rys Feb 15 '15 at 19:01
  • \$\begingroup\$ electronics.stackexchange.com/questions/153977/… \$\endgroup\$ – rys Feb 15 '15 at 19:02
  • \$\begingroup\$ If all you are trying to do is sample this voltage either with an ADC or a digital state pin then this should work fine assuming the power rating of the zener is not exceeded. You should check the datasheet for the specific part. There are more efficient methods for measuring voltages though, like the potential divider you link to on amazon. \$\endgroup\$ – sherrellbc Feb 15 '15 at 19:05
  • \$\begingroup\$ I will check this datasheet. One dumb question: should the black band on the diode point toward the 9V power supply or the other way? \$\endgroup\$ – rys Feb 15 '15 at 19:09

The zener diode you reference has a zener-voltage of 5.1V and a power rating of 1W. You want to place a resistor in series with the 9V source and the zener diode to limit current draw.

The datasheet for the IN4733 states that at a zener current of 49mA the zener voltage is at the rated 5.1V. The only calculation you need to do is to size the resistor such that you have at least 49mA, although lower current would also likely give you around the 5.1V zener rating. Normally you would look at the datasheet for a chart to give you this information, but the one I found left this information out.

$$ R = \frac{9-5.1}{10mA} = 390 \Omega$$

But, again, larger sized resistors are likely to give you the voltage you want with lower power dissipation. Test to verify.


A much better way to measure/detect a signal from a battery powered device would be to use a high value resistor divider. In the case of a battery powered fire alarm you do not want to alter the function in any way or run down the battery prematurely. Using a series resistor and a Zener to ground could result in a moderate amount of current being drained from a constant 9v signal.

When set as a digital input without the internal pull-up resistor an I/O pin on the Arduino has a very high input resistance, (near 100M). So if only a high/low detection is needed from a 9v signal a simple high value resistor divider is a good method that also limits the current draw from the device. For example two resistors of 470k each could be used as a simple voltage divider for detecting a 9v signal. So long as the internal pull-up is not enabled the resulting voltage on the Arduino pin will be 4.5v when the input signal is 9v. The current draw from the 9v signal will only be about 0.0096ma. With a voltage divider using equal value resistors the signal voltge could be as high as 10v and a 5v Arduino system would still see a safe 5v signal at the I/O pin. The digitalRead() instruction would be used in this case.

If you want to detect and actually measure the 9v signal with the Arduino ADC system the voltage divider could be made using resistor values a bit lower to give resonable operation. (Very high impedance signals can cause errors related to the internal capacitance of the analog input). Using a voltage divider with two 220k resistors and a small capacitor (about 0.1uF across the grounded resistor) could make a reliable voltage divider to measure a 9v DC signal and still limit the current draw to a low level, (in this case about 0.020ma). The ADC can now safely measure a DC voltage from 0v to 10v and output an actual value related to the input voltage, (multiple this by 2 to see the original signal value). The analogRead() instruction is used here.


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ Excellent, pretty funny coincidence. About 5 minutes ago I was reading that resistors could be used for dividing voltage. I tested it out with my 9V battery and was coming back to the site to ask about it. You read my mind :P \$\endgroup\$ – rys Feb 16 '15 at 18:42
  • \$\begingroup\$ What is C1 exactly? It only needs used if I were using analog? \$\endgroup\$ – rys Feb 16 '15 at 18:42
  • \$\begingroup\$ Also, I only have 330 and 10k ohm resistors. Will these work? \$\endgroup\$ – rys Feb 16 '15 at 18:44
  • \$\begingroup\$ The cap is really only useful if you are connecting to an analog input pin and reading as an analog voltage. It filters digital noise and reduces impedance into the pin. Using 330 ohm resistors would not be recommended as they would load down the external circuit excessively. Two 10k resistors would be adequate for testing, however even this value may drain your battery powered device prematurely. \$\endgroup\$ – Nedd Feb 18 '15 at 12:19
  • \$\begingroup\$ @rys, Do note that you will now have a linear relationship between the 9V and new "converted" voltage. Namely, the new voltage measured will be exactly 1/2 of the actual value of the voltage. So, if the voltage is 9V then expect 4.5, or if the voltage is 6, expect 3. Etc. \$\endgroup\$ – sherrellbc Feb 21 '15 at 15:22

If no other circuitry is using 9V, I might suggest a 6V configuration with some "AA" batteries. Instead of a Zener, you could use an LM7805 (orderable from Digikey). There will be less IR drop across that regulator (less waste heat).

  • \$\begingroup\$ The fire alarm is using 9V. I am reading from a DIP pin on the fire alarm so I think I am stuck with 9V. \$\endgroup\$ – rys Feb 16 '15 at 0:27
  • \$\begingroup\$ In that case, I found something that incorporates this for arduino. ebay.com/itm/like/281468661325?lpid=82&chn=ps \$\endgroup\$ – cowboydan Feb 16 '15 at 0:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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