We often seem to use microcontrollers to control relays, and a 5 V microcontroller is often used with 12 V relays. A relay may need several times more power than the microcontroller. Not a problem if you can use an SSR, which you can drive at a few mA, but there are situations where you do need an electromechanical relay. When, is another discussion. Here I'll focus on the electromechanical. So, what are some ways to use those relays more efficiently?

  • \$\begingroup\$ Nice write-up. I'm assuming this is after you've decided that a SSR or analog switch is inadequate, right? :) \$\endgroup\$
    – W5VO
    Jun 26, 2012 at 12:27
  • \$\begingroup\$ @W5VO - Yes. Obviously an SSR isn't that power-hungry, but can't be used always. I'll specify in the question. \$\endgroup\$
    – stevenvh
    Jun 26, 2012 at 12:31
  • 3
    \$\begingroup\$ Two current + Constant current switching regulator - pulls in at full supply and then reduces current to a holding current with smps down conversion making it very efficient. This can be done with 2 transistors and using the relay coil as the smps inductor. I'll try to get to post a circuit some time. \$\endgroup\$
    – Russell McMahon
    Jun 26, 2012 at 13:15

6 Answers 6


This is becoming a quite long answer, but I added lots of pretty pictures, which should keep you from falling asleep ;-)

I'm aware of bistable relays, and they're the big savers, but here I'll discuss different solutions all for the same non-latching relay, in case you don't want to use a latching relay. That could be for feedback, or more complicated drive reasons, for instance. (One way to get feedback is by using one contact of a dual pole relay, but then you reduce it to a single pole relay. Three pole relays exist, but are expensive.)
Anyway, this is about your common, low-cost astable relay. I'll be using this relay for reference.

Series resistor
A cheap and simple way to reduce power, and applicable to most relays. Look out for must operate voltage in the datasheet, sometimes called "pull-in voltage". For the 12 V standard version of the above relay that's 8.4 V. That means the 12 V relay will also work if you apply minimum 8.4 V to it. The reason for this wide margin is that the 12 V for relays is often not regulated, and may vary, for instance with mains voltage tolerances. Check the margins on the 12 V before doing this.
Let's keep some margin and go for 9 V. The relay has a coil resistance of 360 Ω, then a 120 Ω series resistor will cause a 3 V drop, and 9 V remaining for the relay. Power dissipation is 300 mW instead of 400 mW, a 25% power saving, with just a series resistor.

enter image description here

In this and the other graphs the common solution's power is shown in blue, normalized for 12 V input, and our improved solution in purple. The x-axis shows the input voltage.

LDO regulator
With the series resistor the power savings are a constant 25 %, the ratio of our resistors. If the voltage rises the power will rise quadratically. But if we can keep the relay voltage constant, independant of our power supply voltage, power will only rise linearly with rising input voltage. We can do this by using a 9 V LDO to power the relay. Note that compared to the series resistor this saves more power at higher input voltages, but less if the input voltage drops below 12 V.
Power saving: 25 %.

enter image description here

Sensitive relay
This is the most simple way to drastically reduce power: use the sensitive version of the relay. Our relay is available in a standard version which needs 400 mW, and a sensitive version which is happy with half of that.
So why not always use sensitive relays? First, not all relays come in sensitive types, and when they do they often have restrictions, like no change-over (CO) contacts, or a limited switching current. They're more expensive as well. But if you can find one that fits your application I would certainly consider it.
Power saving: 50 %.

enter image description here

12 V relay at 5 V
Here we get to the Real Savings™. First we'll have to explain the 5 V operation. We already saw that we can operate the relay at 9 V, since the "must operate voltage" was 8.4 V. But 5 V is considerably lower than that, so it won't activate the relay. It appears, however, that the "must operate voltage" is only needed to activate the relay; once it's activated it will remain active even at much lower voltages. You can easily try this. Open the relay and place 5 V across the coil, and you'll see it doesn't activate. Now close the contact with the tip of a pencil and you'll see that it remains closed. Great.

There's one catch: how do we know this will work for our relay? It doesn't mention the 5 V anywhere. What we need is the relay's "hold voltage", which gives the minimum voltage to stay activated, and unfortunately that's often omitted in datasheets. So we'll have to use another parameter: "must release voltage". That's the maximum voltage at which the relay will guaranteed switch off. For our 12 V relay that's 0.6 V, which is really low. The "hold voltage" is usually only a bit higher, like 1.5 V or 2 V. In many cases the 5 V is worth the risk. Not if you want to run a 10k/year production of the device without consulting the relay's manufacturer; you may have a lot of returns. But for a hobby project with a one-time production you can see for yourself if it works.

So we only need the high voltage for a very short time, and then we can settle for the 5 V. This can easily be achieved with a parallel RC circuit in series with the relay. When the relay is switched on the capacitor is discharged and therefore short-circuits the parallel resistor, so that the full 12 V are across the coil and it can activate. The capacitor then gets charged and there will be a voltage drop across the resistor which reduces the current.

This is like in our first example, only then we went for a 9 V coil voltage, now we want 5 V. Calculator! 5 V across the coil's 360 Ω is 13.9 mA, then the resistor should be (12 V - 5 V)/13.9 mA = 500 Ω. Before we can find the value for the capacitor we have to consult the datasheet once more: maximum operate time is 10 ms maximum. That means the capacitor should charge slow enough to still have 8.4 V across the coil after 10 ms. This is what the coil's voltage over time should look like:

enter image description here

The R value for the RC time constant is the 500 Ω parallel to the coil's 360 Ω, due to Thévenin. That's 209 Ω. The graph's equation is

\$ V_{COIL} = 5 V + 7 V \cdot e^{\dfrac{-t}{RC}} \$

With \$V_{COIL}\$ = 8.4 V, \$t\$ = 10 ms and \$R\$ = 209 Ω we can solve for \$C\$ and we find 66 µF minimum. Let's take 100 µF.

So in steady state we have a 860 Ω resistance instead of 360 Ω. We're saving 58 %.

enter image description here

12 V relay at 5 V, reprise
The following solution gives us the same savings at 12 V, but with a voltage regulator we'll keep the voltage at 5 V, even if the input voltage would increase.

enter image description here

What happens when we close the switch? C1 gets quickly charged to 4.3 V via D1 and R1. At the same time C2 gets charged through R2. When the analog switch's threshold is reached the switch in IC1 will toggle, and C1's negative pole will be connected to +5 V, so that the positive pole goes to 9.3 V. That's enough for the relay to activate, and after C1 is discharged the relay is powered by the 5 V through D1.

So what our gain? We have 5 V / 360 Ω = 14 mA through the relay, and coming from a 12 V via an LM7805 or similar that's 167 mW instead of 400 mW.
Power saving: 58 %.

enter image description here

12 V relay at 5 V, reprise 2
We can do even better by using a SMPS to get our 5 V from our 12 V power supply. We'll use the same circuit with the analog switch, but we'll save a lot more. At a 90 % efficient SMPS we have an 80 %(!) power saving.

enter image description here

(graphs made with Mathematica)

  • \$\begingroup\$ How about PWM'ing the relay? I would think that what the relay really needs to keep the contact drawn is current rather than voltage; consequently, I would expect that PWM'ing the relay contacts would yield power savings comparable to using an SMPS, but much more cheaply (conceptually, using the inductance of the relay instead of an external inductor). \$\endgroup\$
    – supercat
    Jul 9, 2012 at 16:13
  • \$\begingroup\$ @supercat - True, and Russell covers that in his answer. One disadvantage is that it probably radiates like hell, because the coil isn't shielded (maybe not, as frequency can be kept low. Question mark). And in a switcher you want zero coil resistance to have a high efficiency, in a relay the resistance is high. The core is also different from a switcher's inductor, so the inductive behavior will be different too. I may add it to my answer some day, but it doesn't look easy; I'll have to think about it. Thanks for the suggestion. \$\endgroup\$
    – stevenvh
    Jul 9, 2012 at 16:22
  • \$\begingroup\$ The purpose of the coil in a relay is to produce a magnetic field, instead of simply yielding an electrical behavior. As such, its electrical characteristics will be grossly inferior to an inductor that's optimized for such purposes. Nonetheless, if a coil is going to need 10mA flowing through it to keep the contact drawn, the power wasted by putting 10mA through the coil resistance will be essentially the same whether one uses the relay coil or some other inductor to stabilize the current. Russel's post uses circuits to generate PWM, but a processor pin may be able to do so just as well. \$\endgroup\$
    – supercat
    Jul 9, 2012 at 16:41
  • \$\begingroup\$ I see you used magic numbered inside the scale of the graph, mind adding the units for the magic numbers? \$\endgroup\$
    – Ferrybig
    Apr 22, 2018 at 17:01

stevenvh gave a wonderful answer, but there's a solution not listed that I use every time I can: step relays.

They consume power only when changing the relay state.

Of course, it makes the electronics more complex because you need a way to know the relay state when the microcontroller starts, but in many cases, it saves a lot of power. In my home automation system, replacement of 24 "standard" relays with the step ones saved nearly 98% of power consumed by the microcontroller board.

enter image description here

  • 2
    \$\begingroup\$ This seems the obvious solution, but oddly enough I hardly see those IRL. The relay modules I've seen so far all used astable relays. I guess the lack of feedback of the relay's state is a major drawback. \$\endgroup\$ Jun 26, 2012 at 13:39
  • 1
    \$\begingroup\$ I also think the feedback of the relay's state is an issue. It would be interesting to learn how you solved this. At my previous job we also designed home automation system, and decided against bistable relays because we didn't have a satisfactory solution for the feedback issue. \$\endgroup\$
    – stevenvh
    Jun 26, 2012 at 13:44
  • 2
    \$\begingroup\$ @FedericoRusso ... I had troubles finding them the first time. But only because I searched them in electronics stores. They're used often in houses lighting circuits, and they're sold by electrical equipment retailers. The one in the picture have two separate contacts, and that's exactly the one I used (with 24V coil). One of the contact is the feedback used by microcontoller to get the relay state, the other drive the load. And you can check if the relay really switched without losing one of the contacts detecting the power on the "output" side of relay. \$\endgroup\$
    – Axeman
    Jun 26, 2012 at 13:51
  • 1
    \$\begingroup\$ There are also bistable latching relays. A circuit could easily enough be devised to store power and apply it to the delatching coil when power was removed from the main input, thus making operation externally identical to a normal single coil relay. \$\endgroup\$
    – Russell McMahon
    Jun 26, 2012 at 14:27
  • 1
    \$\begingroup\$ @Russell - "bistable latching" is a pleonasm. Do you perhaps mean "dual coil"? \$\endgroup\$
    – stevenvh
    Jun 26, 2012 at 14:39

So, what are some ways to use those relays more efficiently?

The following describes the most efficient system in principle that can be used with a "normal" non latching relay. This circuit will work with Steven's reference relay - or any other relay.

  • The circuit below uses the relay coil as an inductor in a buck converter to achieve power savings several to many times better than can be achieved by the best possible linear regulation schemes. It cannot compete over long period with the zero-current efficiency of mechanical latching-relay or stepper-relay solutions BUT can be implemented with any standard & unmodified relay.

    If efficiency of conversion is the sole metric then this scheme is superior to anything that can be achieved for hold-in voltage of less than about 50% of supply, and will be superior in most cases.

    Component count is higher than for simple resistive or regulator based schemes but is modest when power saving is vital. The requirement as shown below is for 2 "jellybean" transistors, 8 resistors, 2 diodes, one zener diode and 2 capacitors. This could be reduced slightly with care.

    If desired, an IC based buck regulator system could be used instead, still using the relay coil as the inductor.

The utterly brilliant circuit below was contributed by Richard Prosser in response to a low cost switching regulator design challenge that I issued about ? 8 years ago. While component count is a little higher than many other power saving solutions this one will typically be more efficient to much more efficient than typical alternatives, and really stands out when the relay holding voltage V_hold_in is much less than the supply voltage. In the example shown the supply voltage is 20V to 70V but the circuit can be designed for any sensible voltage range.

As shown here the circuit drives a relay at constant current. The power-on characteristics could easily be changed to initially provide a higher drive current, but the circuit as shown will usually be very acceptable.

The key brilliance of the circuit is the implementation of a constant current drive to thew relay coil using the relay inductance itself as the inductor in a buck regulator. Applied voltage is stepped down to whatever voltage is required to provide the required drive level. This can be though of and designed as driving the coil at defined voltage or defined current.

Even at very high applied voltages where the efficiency is lower (probably as low as about 50% at very high Vin) the power savings are substantial.
Consider - if relay hold in voltage is 5V and supply voltage is 30V say. A series resistor or linear regulator cannot achieve an efficiency better than Vrelay/Vsupply = 5/30 ~= 16%. BUT this requires relay holding current at 5V to be supplied from the 30V supply so power dissipation = Iholdin x 30. When a buck converter is used power = Vrelay x I holdin x 100% / efficiency%.
At 50% efficiency the gain is a factor of 30V/5V x 50/100 = 3: compared to the very best that can possibly be achieved with a non-switching system.

  • Power reduction factor = Vsupply/Vholdin x efficiency%/100%

Again, this is the gain relative to the very best linear system that can possibly be achieved.

enter image description here

Simplified operating description - more detail available if required:

Call zener Z1. Zener voltage Vz1.

Q1 base is held at a reference voltage by Vz1 divides by R9, R2.
When Irelay = 0, Q1_E = ) so Q1 on so Q2 on so I_relay rising.
As Irelay rises V_R7 rises until Q1E is high enough to start to turn Q1 off.
Q1 turning off turns off Q2 and relay current "freewheels via D3, R7.
R1, C2 form a tiome delay in sensing of drop of V_R7 as I_relay falls so providing hysteresis.
Various other interactions occur but they are secondary to the main effects above.

"Black Switchjing Regulator" - by Roman Black:

The relatively well known "Black Switching Regulator" was derived from this circuit as a consequence of the design challenge.

Cicruit link broken but


Untested PCB layout here - the excessively keen can derive the circuit from this with relative ease.

Below is an ASCII art version I had saved on disk, which is probably a copy from the original web page. Performance is not marvellous wrt effiicncy or Vout droop with load or Vin, but it's cheap :-). "My" GSR uses one more transistor so is not quite as minimalist in component cost, but has much better specs generally. But, that's another story.

enter image description here

Step relays were mentioned by Axeman.

There are also bistable latching relays.

A circuit could easily enough be devised to store power and apply it to the delatching coil when power was removed from the main input, thus making operation externally identical to a normal single coil relay.

Below - one version of latching relay - some have a separate de-energise coil:

enter image description here

  • 1
    \$\begingroup\$ Genius. That regulator circuit is brilliant! \$\endgroup\$ Jun 26, 2012 at 15:21

You may want to check out a recent EDN Design Idea.

Efficient Solenoid Driver

Essentially you end up with a DC multiplier and a single transistor to switch it on and off. The multiplier gives that initial "kick" you need, but then its steady-state voltage is much lower. There isn't anything critical in the circuit, and it can be adapted for almost any relay or solenoid.

  • 1
    \$\begingroup\$ Does that mean a transformer per relay? \$\endgroup\$ Jun 27, 2012 at 10:32
  • 1
    \$\begingroup\$ @FedericoRusso - one transformer is OK. You must duplicate all components except transformer though. ie each driven circuit needs its own C1, D!, D2 as C2 will be loaded down when relay is operated. \$\endgroup\$
    – Russell McMahon
    Jun 27, 2012 at 11:36

Relays still have many benefits over SSR's and selection criteria will be different when choosing for high volume or high reliability for automotive needs. Switching life times are as much as 10e5 and 10e6, when used conservatively.

For those not already proficient in relay choices, increasing awareness of common features will help optimize the efficient matching of performance to needs.

  • Manufacturing relays takes decades of experience, selecting a reliable source requires due diligence on supplier quality.

  • Relays effectively have power and current gain just like transistors.

    • Consider power transistor switches, with an hFE of 100, when operated in saturated mode, one needs to design with a current gain of 5 to 10 in the circuit.
    • Relays have no offset or ESD issues with >1 kV insulation typical and current gain of 50 to 100 is common. More gain is avail on reduced coil voltage efficient relays.
  • Relays have common Form Factor descriptions for SPST, SPDT, 2P2T ... 6P2T ( switch examples)

    • The relay may be defined by the number of poles and contacts or "throws" but standardized description uses Form factors.
    • Double Throw or DT comes in 3 forms, depending on which of 3 locations is designated as the "pole" & the other two as "throws" designated as Normally Closed or Open (NC/NO) and are called Form A, Form B, Form C. enter image description here
    • One example of a DPDT in Form A is called "2-Form A" sometimes abbreviated 2FA
    • These Forms have standard pin # or locations for DIP-14, Automotive, Power Relays (general purpose)", signal relays(e.g. telephony), RF Relay, Reed Relay, >=100A Relay ( a.k.a. Contactor) etc.

Ways to mis-use Relays ( read.. lower MTBF )

  • Use a 1 A rated contact for 10mA. Low current signals need gold flash plated contacts to prevent oxidation, which makes a perfectly good contact into an insulator.
  • Use a 100mA signal relay with Au plating on a low power design but has big Caps that create huge surges for flash gold plate and burn thru.
  • Use small but low ESR cap. across the contacts of infrequently used or lightly used power contacts. The dielectric oxide insulation is burned off each contract closure of the cap. and your signals can be switched on power rated ( read... non-gold plated) relays. This was a great solution for me in 1977 when I designed a box with 96x 15~30A relays each with extra contacts for sensing relay state remotely. The TTL current was not enough to "wet" the sense contacts, but addition of a small tantalum cap pulled up to V+ with a large R, fixed a reliability problem of the spare contacts.
  • Use a weak supply to drive the coil. This can cause the relay coil to dip below min voltage needed and if there is a reactive load with significant arcing and excessive contact bounce from weak coil drive causing "contact chatter"
  • do not forget to put clamp diodes on the coils rated for >2x the supply voltage.
  • do not put relay coils on sensitive Analog Power V+ lines.
  • do not use unshielded relays near sensitive magnetic circuits, e.g. radios etc without awareness of orientation of EMC disturbance.
  • When you consider tricky methods to save coil voltage dissipation, test a hundred for reliability and add 6sigma for production escapes/failures on any design for MTBF and consider all stress factors like temperature, vibration, altitude, humidity etc...

  • one great use of relays is to shunt "a soft start" circuit a second or more after power up to improve efficiency and avoid surges. It can prevent the surges during momentary power interruption of using simply PTC's for soft-start. This causes momentary lower efficiency but protects critical components or egress specs. with low input surge currents.

Feel free to add to my list.

  • 1
    \$\begingroup\$ 'clamp diodes on the coils rated for >2x the supply voltage' What's the reasoning behind this rule? \$\endgroup\$
    – m.Alin
    Jul 8, 2012 at 16:41

you can halve the relay current with a capacitor and a resistor. the capacitor feeds the relay on startup, the resistor reduces the current on hold.

enter image description here


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.