I am a new to the electrical engineering and currently trying to calculate the series voltage regulator for raspberry pi at maximum current draw.

Raspberry Pi works at 5 volts and 2.5 amperes at maximum load(they specify that power supply is recommended to support 2.5 amperes therefore I use 3 amperes in my calculations for wiggle room).

Here is the circuit I came up with:

Voltage regulation circuitry I came up with

Ignore heat management, I would like to figure out math first.

My questions are:

  1. How to mathematically determine zener voltage needed?
  2. How to mathematically determine resistor properties needed?
  3. How would I calculate Vb of transistor?

Thank you.

  • 3
    \$\begingroup\$ This is a really horrible waste of energy and will require a large heatsink and/or a fan. You would be much better off to use a switching regulator. \$\endgroup\$ Commented Sep 16, 2020 at 20:09
  • 1
    \$\begingroup\$ @DRONE_6969 So are you looking for someone to walk you through a design and then to explain why that design is problematic? Then how to modify it and see that it is still problematic, but at least better? Then to move towards a design that will be reasonably workable? That would be a lot to write. If just the first step is okay, I may be up for it. If all of it, then it is a different story. \$\endgroup\$
    – jonk
    Commented Sep 16, 2020 at 20:12
  • 1
    \$\begingroup\$ @DRONE_6969 Look, you have a 12 V source and a 5 V output. You have 2.5 amps max (which we have to assume is "average" unless you can carefully define things like how long the 2.5 amps, worst case, will remain and then what it transitions towards, later.) This is a difference of 7 V @ 2.5 A, or 17.5 Watts if my brain is working. That's what has to be thrown away (dissipated.) And that is a LOT of power. There are other details, too (BJT base current vs zener operating current, for example.) But that's why Spehro wrote as he did. So you want a list of all the reasons why it is a bad idea? \$\endgroup\$
    – jonk
    Commented Sep 16, 2020 at 20:16
  • 1
    \$\begingroup\$ @DRONE_6969 Okay. I'd recommend editing your question to focus it upon that specific element. But as a general thought this is a reason why Darlington arrangements are applied. You first read the datasheet on the zener you hope to use. That will tell you the "design" current it needs. You then further work out how much of that you are willing to allow the transistor to take (keep in mind that this varies with the R Pi needs.) You then work out what this variability means in terms of the zener voltage, from its datasheet and make sure that it is an acceptable variance. \$\endgroup\$
    – jonk
    Commented Sep 16, 2020 at 20:25
  • 1
    \$\begingroup\$ To even think about whether the circuit is close to working you have to think about part numbers for the zener and transistor. Also whether your "12V" is actually a regulated 12V or whether it's a vehicle power system which would be closer to 14V with the motor running. With 12V in the zener (as shown) will dissipate close to 8W at no-load. Vz is too high unless you're contemplating a Darlington (which is not what you show). At 3A out, the transistor dissipates 21W or 27W with 14V in. As you provide no information as to location, I'll suggest reading the datasheet for the XL4013 or XL4016. \$\endgroup\$ Commented Sep 16, 2020 at 20:26

3 Answers 3



The following is both a specific diagram but then also put into a more behavioral block diagram, as well:


simulate this circuit – Schematic created using CircuitLab

Combined, current source \$R_1\$ and voltage reference \$Z_1\$ are supposed to form a resulting combination voltage reference that produces a reference voltage value that holds its value well.

The meaning of well usually includes things like:

  • relatively immune to variations in temperature over some given range
  • relatively immune to variations over time as it ages
  • relatively immune to load current variations
  • relatively immune to device variations from a single manufacturer
  • relatively immune to device variations across different manufacturers
  • relatively immune to the position of the moon, etc, etc, etc.

Of course, manufacturers cannot anticipate everything. So they just tell you how better to operate their device and let you worry about the rest. So the zener datasheet is vital to you.

Zener Datasheet

The zener is a device that is supposed to be operated at a specific current in order for it to yield the manufacturers' intended reference voltage. That's how they work. So get that right.

For now, let's assume we don't yet know what zener to select. (We don't, so it's not really much of an assumption at all. It's a fact.) I'll refer to Vishay's datasheet. Let's assume for now that you'll need \$6.2\;\text{V}\$. That's the 1N4735A. Note that this voltage is nominal. The datasheet actually says that the tolerance is \$\pm 5\%\$. Combined, this is usually taken to mean that the initial accuracy of the device can be expected to be within 5% of the listed nominal value.

Whether or not this kind of variation is acceptable to you, is a matter for you to decide -- probably by carefully studying up on the load you intend to operate. So that's your first design decision to make. If you can't accept that variance, then you either need to find a better zener or else go looking for some entirely different approach. (Later, we'll develop equations that will magnify this error, so the \$\pm 5\%\$ figure is going to get worse as we start to analyze the circuit.)

Note that the test current is \$I_\text{ZT1}=41\:\text{mA}\$ and \$I_\text{ZT2}=1\:\text{mA}\$ and that the resulting dynamic resistance is typically \$Z_\text{ZT}=2\:\Omega\$ at \$I_\text{ZT1}\$ and is worst case \$Z_\text{ZK}=700\:\Omega\$ at \$I_\text{ZT2}\$. This is already a strong indicator that you want to operate the zener at \$I_\text{ZT1}\$. But it's not proof of anything.

The only argument you might actually have with Vishay is that if you operate their zener with a current between \$I_\text{ZT1}\$ and \$I_\text{ZT2}\$ and if the zener isn't dissipating at all (short pulses to keep it that way) and is sitting squarely at \$25^\circ\text{C}\$ then you can expect better than a dynamic impedance of \$700\:\Omega\$. Which isn't much to hang a hat on, to be honest.

The good thing is that they say you should get nearer \$2\:\Omega\$. But then you'd be operating it at \$41\:\text{mA}\$ and dissipating about \$\frac13\:\text{W}\$ and operating about \$35^\circ\text{C}\$ above ambient if you ensure that the leads at \$4\:\text{mm}\$ from its body are held at ambient. Of course, the zener die is then no longer at \$25^\circ\text{C}\$ unless ambient is \$35^\circ\text{C}\$ below that, or \$-10^\circ\text{C}\$.

In short, ... yeah, maybe, kind-of. If you haven't already started wondering about zeners, you should be. There was a time when that's what we had to live with. So, usually, you'd have to include methods for periodic calibration. (Things like potentiometers and more complicated circuitry around them and tools for calibration like "standard references.") In practice, modern zeners are acceptably good for some purposes. The important thing to keep in mind is that it is only by providence and some good engineering that they even make it to "acceptably good enough for some things."

One last note on zeners. I want to stop digging into the above details for a moment and have you just look at the more behavioral viewpoint illustrated above. It's important.

In a perfect world, you would have something you could insert in series with the zener to guarantee that it always is operating with a fixed current because that's the better way to make sure that the zener voltage remains closer to its nominal value. But you can't. Any such circuit will have variability in the voltage it adds to the zener and that would make the zener voltage worse, not better.

An alternative would be to replace \$R_1\$ with a current source. This isn't a bad idea, in fact, because the supply voltage above might be noisy or have ripple on it. It may not be perfectly solid. A current source would cope with those variations and hold the current relatively constant, regardless. But a resistor can't do that. (See next section for an elaboration.) The current through it will vary linearly with the voltage across it. So power supply ripple, for example, will turn immediately into current ripple. And given how zeners work, this translates into voltage reference ripple.

Resistor as Current Source

Using a resistor is a trade-off. It's cheap and with enough voltage headroom (you have about \$6\:\text{V}\$ of it) they do a credible job of keeping the current relatively constant. It's just that better can be had, if you are willing to replace the resistor with an active circuit. But that's for another day.

Today, you wanted mathematics. So today you will get that. The resistor is supposed to be holding a steady current so that the zener is supplied with a steady current. (We are temporarily leaving out the base current requirements of the BJT [system.]) But it is faced with its own tolerance (resistors don't have perfect values), variations in the supply voltage (supply voltages aren't perfect, either), and variations in the zener voltage itself (as already noted zeners also aren't perfect, even assuming they are supplied with a perfect current.)

Infinitesimals can be used to work out the details. A tiny % variation in current is \$\% I=\frac{\text{d}I}{I}\$ (from a calculus point of view.) Let's start out by applying the derivative operator:

$$\begin{align*}D\left[\: I_{R_1}\:\right]&=D\left[\:\frac{V_\text{SUPPLY}-V_\text{ZENER}}{R_1}\:\right]\\\\\text{d}\,I_{R_1}&=\frac{1}{R_1}\,\text{d}\,V_\text{SUPPLY}-\frac{1}{R_1}\,\text{d}\,V_\text{ZENER}-\frac{V_\text{SUPPLY}-V_\text{ZENER}}{R_1}\,\frac{\text{d}\,R_1}{R_1}\end{align*}$$

(Note the factor \$\frac{\text{d}R_1}{R_1}=\% R_1\$ and is just the resistor tolerance value.)

If we choose to look at the partials (holding the other variations as constant for the purpose), then we find the following three approximations:

$$\begin{align*} \frac{\%\,I_{R_1}}{\%\,V_\text{SUPPLY}}=\frac{\frac{\text{d}\,I_{R_1}}{I_{R_1}}}{\frac{\text{d}\,V_\text{SUPPLY}}{V_\text{SUPPLY}}}\quad \quad&=\quad\left[\frac{1}{1-\frac{V_\text{ZENER}}{V_\text{SUPPLY}}}\right]\tag{1}\\\\ \frac{\%\,I_{R_1}}{\%\,V_\text{ZENER}}=\frac{\frac{\text{d}\,I_{R_1}}{I_{R_1}}}{\frac{\text{d}\,V_\text{ZENER}}{V_\text{ZENER}}}\quad \quad&=\quad\left[\frac{-1}{\frac{V_\text{SUPPLY}}{V_\text{ZENER}}-1}\right]\tag{2}\\\\ \frac{\%\,I_{R_1}}{\%\,R_1}=\frac{\frac{\text{d}\,I_{R_1}}{I_{R_1}}}{\frac{\text{d}\,R_1}{R_1}}\quad \quad&=\quad \bigg[\quad-1\quad\quad\bigg]\tag{3} \end{align*}$$

Those are mathematical descriptions of how well \$R_1\$ regulates its current. You can reach the following conclusions, now:

  1. Equation 1 says that regulation vs changes in \$V_\text{SUPPLY}\$ is better when \$V_\text{SUPPLY}\gg V_\text{ZENER}\$ and that increases in \$V_\text{SUPPLY}\$ will lead to increases in \$I_{R_1}\$.
  2. Equation 2 says that regulation vs changes in \$V_\text{ZENER}\$ is better when (again) \$V_\text{SUPPLY}\gg V_\text{ZENER}\$, but that increases in \$V_\text{ZENER}\$ will lead to decreases in \$I_{R_1}\$.
  3. Equation 3 says that regulation vs changes in \$R_1\$ is fixed at 1:1 (but with opposite sign.) So a +1% change in the resistor value will correspond to a -1% change in the current.

Let's take your case and apply it to the zener and resistor tolerances, which are easily had. Let's say your resistor has a \$\pm 2\,\%\$ tolerance and we already know the zener as \$\pm 5\,\%\$. Let's just assume a power supply rail that is \$\pm 5\,\%\$, just because. From equation 2 above, we find that we can expect \$\approx\mp 5.4\,\%\$ current variation. From equation 3 above, we find another \$\mp 2\,\%\$ current variation for the resistor. From equation 1 above, we find \$\approx\pm 10.3\,\%\$ current variation for the power supply. Things add up fast.

These current variations need to be turned into voltage variations. For that, see the next section.

Zener Dynamic Impedance

So far, I've not addressed what any of the above means to the generated reference voltage. That's only getting at the variation in the current into the zener. So, finally, we now get to understand the purpose of \$Z_\text{ZT}\$ and \$Z_\text{ZK}\$!!

We need to multiply the above sensitivity equations, which provide us the %-variation of the zener current with respect to certain other variations, by the dynamic resistance of the zener and the nominal operating zener current, in order to get the magnitude variation in the zener reference voltage.

All of the above has been leading up to this moment.

You can now work out the variation in the reference voltage you get, versus any %-variation of some other factor!! I think that's cool! Yes?

But I'll leave this work for you. ;)

Note that it is now that we really begin to feel the weight of \$Z_\text{ZT}=2\:\Omega\$ and its worst case scenario of \$Z_\text{ZK}=700\:\Omega\$. The smaller this value can be made, the better, since it multiplies our current variation to get the voltage variation. From this, we know that we do NOT necessarily want to go cheap on the zener's operating current. We may prefer to stay closer towards its \$I_\text{ZT1}=41\:\text{mA}\$, instead. But don't forget that operating at a higher current means that the same %-variation yields larger magnitudes of absolute current variation. And it is the absolute current variation that is multiplied by the zener's dynamic resistance. So using lower currents might be just fine, accepting the higher dynamic impedance, but realizing a more optimal final result. And another consideration is that the datasheet only specifies a worst case, \$Z_\text{ZK}\$, for the \$I_Z=1\:\text{mA}\$ operating point. We really don't know the worst case when operating elsewhere. (We just know it's probably better at higher currents and probably worse at lower currents.) So a conservative design might instead choose to operate the zener where an absolute worst case number is specified and live with the implications.

In short, don't jump too fast to conclusions. You need to "do the numbers."

Part of the reason why your question stimulated this response from me is exactly because of where we are, here. There are no bright lines. You must always think for yourself. And what initially, with a simplistic view, may look "one way" will actually be "something else" when you take into account more within your perspective. Comprehensiveness is always the watchword. It's not enough to just look at one thing and stop. This post is intended to illustrate this point more than any other. (And in saying so, I may fall as easy prey to others with still more complete or less incorrect perspectives than I possess.)

Let's compare the typical \$Z_\text{ZT}\$ case with the conservative \$Z_\text{ZK}\$ case. And without getting into details, let's say that we've now concluded that our power supply, resistor, and zener variations lead us to expect \$\pm 15\,\%\$ variation in the zener current (without considering variations due to the current boost section.) A quick "look-see" at the numbers tells us that there is a \$41\times\$ change in operating current (good) that is countered by a \$350\times\$ change in dynamic impedance. So we'd expect the conservative design to be about \$10\times\$ worse. (But it would then be relying squarely upon a datasheet guarantee instead of a "typical" from the manufacturer. And also, then, the zener dissipation will be negligibly small, which is also nice.)

Compute \$\pm 15\,\%\cdot2\:\Omega\cdot 41\:\text{mA}=\pm 12.3\:\text{mV}\$ and \$\pm 15\,\%\cdot 700\:\Omega\cdot 1\:\text{mA}=\pm 105\:\text{mV}\$. Which confirms the rough, earlier impression.

But also remember that this doesn't include anything related to the current boost circuit or any variations of its needed current supply from the left side of the schematic.

Current Boost

Above, we've assumed no disruptions caused by the current-boost block. (A BJT?) But BJTs require recombination current to operate. And this varies with the load requirements. Luckily, BJTs do have an approximate value of \$\beta\$ that is relatively constant (though unknown) over a several orders of magnitude of emitter current (load current.)

So you have yet another calculation to make. You now need to know \$\frac{\%\,V_{Z}}{\%\,I_\text{BASE}}\$. This will require a re-analysis of the earlier equation. But it will provide some interesting results.

When finished, you will be able to work out %-variation for \$V_\text{CC}\$ with respect to a %-variation in any of: resistor tolerance, power supply ripple, zener tolerance, and now finally also base current!!

I think you can see now how to proceed to work that out, as well. Just note that you can assume some average value for \$I_\text{BASE}\$ (because you will just add that value to the required zener current to work out a value for \$R_1\$) but that you want to see what \$\%\,I_\text{BASE}\$ do to your reference voltage.

Again, I'll leave this as an exercise.

Shockley Equation

Then, and no it just never ends really, there is yet another variation you need to account for. Whether you use one BJT or a Darlington or a Darlington with yet another added BJT for your current-boost block, there will be variability of the base-to-\$V_\text{CC}\$ nodes. The reason for this is because of the Shockley equation. For a single BJT, this works out to about \$60\:\text{mV}\$ change for a factor of 10 change in collector current at room temperature. But that's only for a small-signal BJT. In your case, you will be seeking out BJTs that can handle more than just a small signal. And these include additional factors (like the emission coefficient) that may worsen this issue. And with a Darlington, made of two BJTs, it's twice as bad. Etc.

This means one final new equation to re-analyze. And you'll need to include device variations there, as well. But when that's done you can finally figure out the %-variation for \$V_\text{CC}\$ with respect to a %-variation in any of: resistor tolerance, power supply ripple, zener tolerance, and now finally also load current!!


Did we forget about ambient temperature? Yup. So, you now need to go back and insert temperature into the above development. This readily impacts forward-biased PN junctions, so it will certainly impact the zener as well as the current boost circuit. It directly impacts the Shockley equation itself and also affects the saturation current used in that equation, too. (In fact, the impact of the saturation current is greater than the impact of the thermal voltage. And this is a significant element to consider. It's not small.)

All of these details must all be included into your final design plan. You will then need to work backwards from your output requirement specifications and see if you can make this consistent with the above %-variation analysis I offered you above.

And by the way, this is just your basic zener-diode-regulator-with-current-boost circuit. It's more fun with more complicated circuits.

  • 1
    \$\begingroup\$ You are literal hero, thank you very much! \$\endgroup\$
    – DRONE_6969
    Commented Sep 17, 2020 at 19:07

You want to power your raspberry pi from a 12V source. Your PI needs 5V * 3A = 18W

Let's look at your choices

  1. Zener + Resistor Usually used for low current voltage reference such as for an ADC or DAC

  2. LDO (Linear Regulator) Dissipates the voltage drop energy as heat but does not create as much noise and has less parts

  3. Switching regulator Has more parts and is more complicated but is more efficient

If you are trying to supply 18W and drop down 7V you should probably use a switching power supply, specifically a buck converter. You will easily get 80 to 90% efficiency.


  1. No, zener voltage is incorrect. For any output voltage, you'd expect the zener voltage to be output voltage plus drop of Vbe.

  2. No, resistor is not correct, because neither was the zener voltage.

  3. No, it does not make any sense in many ways, it would blow up and destroy the Raspberry Pi too.


With a 7V zener, there would be about 6.3V being output. That's too much. Also the zener would have to dissipate too much heat, and so would the transistor. Even just 3A with with 12V in and 5V out, the transistor would have to dissipate 21 watts minimum, while the Raspberry would be powered with 15 watts.

  • \$\begingroup\$ Thank you for the answer! How would I calculate the base voltage of the transistor? \$\endgroup\$
    – DRONE_6969
    Commented Sep 16, 2020 at 20:34
  • \$\begingroup\$ You look at the typical values from the datasheet of the transistor, or simulate the circuit. Or take a wild guess that it's about 0.6 to 0.7 volts like it usually is. \$\endgroup\$
    – Justme
    Commented Sep 16, 2020 at 20:42

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.