why no one uses latching relays ?

  • Hi,

    I'm preparing to desing some actuators for my new flat using MySensors. I will be using relays for switching lights and wall plugs. As I search for some ready to use projects I find that all of them are using relays that require continous current flow to stay in one of the states. And normaly those relays consume around 0.5 W of power ! I thought that one of the goals of home automation is to reduce unnecessary power consumption. Considering that one uses a lot of relays in such system, 0.5W of power for single relay is totaly unacceptable. The simplest solution is to use latching relay which consumes power only during switching (and propably very infrequently). But I can't find any latching relay modules to buy. Why is that ?

  • Hero Member

    Are you searching for latching relays for your fuse box, like from Eltako, or latching relays for usage on a circuit board? I'm controlling the first mentioned in my fuse box with mysensors.

  • I'm talking about micro relays for PCB.

  • Mod

    The problem is how do determine if lights are on or off? I mean in case the arduino restarts after a power failure or unexpected reset, how can it knows what was the last state? A normal realy you can choose to either switch it on or off regardless of last state.

  • Hero Member

    @gohan I'm using a ACS712 to get the power consumption.

  • Mod

    @rozpruwacz so far I've only seen cheap non-latching relay modules from China.
    Controlling latching relays can be a bit harder for the ones requiring an H-bridge. I've controlled some with a dual mosfet driver which works great.

  • @gohan I don't get what is the problem. With latching relay, You can set the switch on/off regardless of the last state. I think that latching relays are even better in case of cpu failure (reset) because they holds their state. Additionally You can make some circuitry to indicate the current state to the cpu or store the state in the eeprom.

    @Yveaux how is using dual mosfet driver harder than an optoisolator that is in most of relay modules ?

  • Mod

    Sure it keeps the state but how does the arduino or controller knows what is the current state if they lost it because of a reset/reboot? For example you have light on and a rule/scene/voice command that wants to turns light on/off and the system has just been rebooted so normally it would assume everything is off (while lights are still on because of the latching relay), so now you will get inverted logic when you tell your controller to switch lights; so unless you use, like TimO, something that gives you feedback about lights being on or off (like the AC712, but could it be also a light sensor, it doesn't matter as long as it can give feedback about light's status), you may eventually end up with the logic inverted

  • Mod

    @gohan no, it all depends on the type of latching relays used. Some have a dedicated control to open/close, which doesn't depend on the current state.
    The main reason to use latching relays is to reduce power consumption. True that you can not retrieve the current state, but given the right relay you can always start from a defined situation after startup (e.g. Switched off as would be the case for most regular relays).
    Another option is to store the current state of the relay somewhere after switching, e.g. in eeprom.

  • Mod

    Ok for reducing power consumption, but a small 5v relay it is using less than 0.2W so unless you are using a battery operated node, that power usage is negligible

  • show me a relay with 0.2W power consumption, I couldn't find one.

  • Mod

    @rozpruwacz We were talking relay modules (like this one) which normally only take supply and a single control signal.
    Having to control the latching of the relay using an H-Bridge I find 'a bit harder' compared to just toggling an IO, regarding both software and hardware.

    For reference, this is the schematic I use to control a latching relay:


    It uses a MAX2226/4427/4428 or compatible MOSFET driver to drive the relay.

    And a function to switch it:

    #define RELAY_INA_PIN         (A0)
    #define RELAY_INB_PIN         (A1)
    #define RELAY_SET_TIME_MS     (30)
    static void switchRelay( const bool on )
        digitalWrite(RELAY_INA_PIN, on ? LOW : HIGH);
        digitalWrite(RELAY_INB_PIN, on ? HIGH : LOW);
        digitalWrite(RELAY_INA_PIN, LOW);
        digitalWrite(RELAY_INB_PIN, LOW);

  • You can make a circuit to control the latching relay just like normal relay, You don't have to use h-bridge. The simplest one would be to put a capacitor in series with the relay coil. Referring to your schematic, You could connect the A1 leg of the relay to a capacitor and that capacitor to the ground (leaving pin 5 of the IR4427S disconnected). That way, when you drive REALY_INA high, through the coil will flow the curent in one direction charging the capacitor. When capacitor will charge fully the curent will stop flowing. Then when you drive REALY_INA low, the capacitor will discharge and the curent will flow through the relay in reversed direction.

    So if there are ways to drive the lathing relay circuit the same way as normal relays, there could be as well ready made module that has this circuit and from the point of view of the microcontroller they would appear as normal relay modules. So why there are no such modules ?

    As I understand, your circuit needs to recieve pulses on RELAY_INA and RELAY_INB to properly work, and I think that this is dangerous because if the CPU will hang during relay shwitching it can damage the latch - because the latching relay has defined maximum pulse duration.

  • Mod

    I got an 8 channels relay board and according to specs it requires 20mA per channel, so 5v x 0.02A= 0.1 W if my math is correct

  • You are talking about current driving the board input or current consumed by the relay ? What board ? what relay ?

  • If you drop me a message I can tell you what kind of bistable relays we are using in the Crownstones (http://crownstone.rocks). We switch 16A using a relays from Panasonic. It's one of the most expensive parts of our BOM.

  • OMRON G5Q consume 0.2W : https://www.omron.com/ecb/products/pdf/en-g5q.pdf (125mW for 5V version). Very small packaging

  • I hear people's arguments that you do not know the last state of a latching relay on a power failure, but what if you stored the last state in the eeprom? I mean you store the node ID and other things that get remembered on a power failure, why not the relay state? Every time you change the state of the relay, store it. Doesn't seem that challenging.

  • Mod

    @dbemowsk exactly what I wrote above "Another option is to store the current state of the relay somewhere after switching, e.g. in eeprom." 😉

  • There is a very minor edge case where you switch the relay and lose power before writing the state. Probably would never happen in reality. I think a bigger problem, which should be solvable) is if you lose power to your whole house, some relays would latched on and you could have surges or other problems. Hopefully latching relays are robust enough to handle it.

    Another solution to the state problem is to have a power up routine that set all relays to a predefined state, then you know. That may be annoying if you reboot the system while someone is reading and the lights go off. This could happen with the more common relays also. The state problem is a lesser worry. The bigger worry is what happens when power comes back, do the relays leave things in a safe state while things initialize.

    It comes down to trade offs, save some power and maybe have some imperfect behavior, or use a bit more and have fewer oddities. I think you almost have to decide for each relay.

  • I believe that with latching relay there is also a way to make the relay go into specific state during power outage - with a capacitor that stores some energy, that energy may be used to switch the relay into this specifi state. So I think that latching relays can do all the things non-laching relays can and also more 🙂 and they are much more energy efficient. So my biggest issue is why there is so little of them on the market and hardly no ready made modules with required circuitry to handle them. And they are sooooo expensive ... 😞

  • You can store the state in FLASH indeed, and have a rotating scheme to reduce wear. However, in practice it should also go fine if you store the information outside your system.

    Suppose you have a phone that remotely SETs the relay. Now the relay gets powered off and on through some fluke. The next time it is powered on and its state is the same as that on the phone, because that device is oblivious to this entire sequence of events.

    Next time the phone remotely does a RESET and the relay will toggle as expected.

    If (1) someone else does change the state of the relay and (2) the chip is recycled, then you will be out of sync with the actual state for one cycle. After sending a SET or RESET it is synchronized again.

  • @rozpruwacz i think your answer is "sooooo expensive", i suspect they are more complicated to build, so even if they were popular they would still cost more. As for the power cost, to put it in perspective, if you use 14w led bulbs, and your automation saves you 1 hour of bulb use, that will run your relay for 28hours at .5w. Now that doesn't help much if you are trying to run the relay on batteries/solar.

  • Mod

    Do solid stare relays consume less power?

  • Mod

    @gohan yes, they only consume power when making the switch. They don't consume any power to maintain state.

  • Mod

    I am talking about something like these https://it.aliexpress.com/popular/solid-state-relay-arduino.html . I heven't looked much into them since they have limitations, but I like the fact they are not mechanical.

  • Hardware Contributor

  • Mod

    @gohan said in why no one uses latching relays ?:

    I am talking about something like these https://it.aliexpress.com/popular/solid-state-relay-arduino.html . I heven't looked much into them since they have limitations, but I like the fact they are not mechanical.

    Sorry, I misread your question, as this thread is about latching relays, not solid state.

    Solid state relays do consume power, but in general less than mechanical relays.

  • Mod

    No problem, I brought up the solid state because the opening post was about power consumption of standard relays compared to the latching ones, so I was wondering where they fit in between. That's it. 🙂

  • @wallyllama I agree that there are cases where normal relays are completely fine, but if you want to control some low power device that draws 0.5W then it makes sense to use latching relay, especially if it will be turned on half the time and you have 20 of them.

  • @gohan ssr's require less power to drive them but on the load side they have about 1V drop so this produses power loses, and ssr's that can handle large currents are quite big. But the have other features, like zero crossing switching (they can switch on/off when the voltage sine wave is near 0V).

  • Hardware Contributor

    Why are you all saying they are expensive ? If you take the 12V versions they are just a bit more expensive than normal relays.

    @Yveaux said in why no one uses latching relays ?:

    Solid state relays do consume power, but in general less than mechanical relays.

    I'm sorry but I don't agree with this statement 😉
    They consume nearly nothing from the "command" side, but they have a voltage drop. I think it's about 1V on those small Omron (on original one, not the copies sold on Aliexpress which could be worse) so the power loss is up to 2 watts for the 2A they are rated for. On the bigger models visible from the link above you need a (huge) radiator over 4A.

  • You don't necessary need to use an H-Bridge, you can use: (Don't forget the flyback diodes!)

    That above schematic is for an intermediate switch in a multi way switching circuit. This way has a high W.A.F (Wife Acceptance Factor). Doing it this way, you can keep the conventional light switches operational. As its part of a multiway light switch circuit, you only need to toggle it to turn the light on or off. You do of course need to detect if the light is on though!

    And unless you're mass producing these for sale, what does the extra cost matter?

  • HAHA, You can always get a new wife with lower W.A.T (Wife Acceptance Treshold) 😄

  • Mod

    @rozpruwacz that's even more expensive! 💅

  • @rozpruwacz I've invested too much time and money in to this one already!

  • @rozpruwacz
    Late to this but for anyone who finds this thread (like I did) with the same thing in mind...here's a relay that looks like it might work for some. (I have not received it yet.)


    Working voltage: DC 5V
    Working current: 70MA
    Standby current: 1UA
    Load current: AC 250V / 10A, DC 30V / 10A
    Trigger mode: Low pulse trigger
    alt text

    There are 10 more listings for what looks like the same product...most about $2 US.

    This seems useful for any sort of battery powered node that is to trigger opening or closing a circuit. I certainly would not use it for house lighting in general due to the toggle/uncertain state, storing the state at the node, detecting the relay state when switching, and synchronizing to correct an error seems possible if needed.

    My use case is to provide remote control to outdoor landscape lights that use AC line power and a transfer to feed low voltage lighting common in the USA. I have a large yard with 4 different transformers that currently mechanical timer, light sensor, or electrical timer. I'm usually happy to NOT automate dedicated independent simple systems that just work. In this case, my equipment needs fixing after a power outage (mechanical timer), doesn't work well in winter when photo sensors don't get enough light, and I can't turn on the lighting manually very easily. I want to keep these transformers in place as a fallback (in manual 'on' mode), so I could use remote controlled relay to switch the 12 volt AC output to the lighting circuit. I prefer to use battery powered nodes even though line power is available because everything is outdoors and weatherproofing an AC power supply to power a node might be more work.

  • I just came across this thread while doing more research - good stuff!

    I do have a latching relay breakout board with 2 latching bistable relays that can switch 16A @ 250VAC

    As others have already mentioned, these relays have separate inputs for setting/unsetting the relay, so you can always start off with whatever state you want. Adding a hall effect current sensor, you can also detect the current state of the relay to see if it is open or closed.

    You can check it out on Tindie.


  • Mod

    @grubstake said in why no one uses latching relays ?:

    This seems useful for any sort of battery powered node that is to trigger opening or closing a circuit

    Be aware that the relay on the board is non latching. Keeping it in actuated state requires continuous power to the relay coil, which will quickly drain batteries.

  • In my use of bistable latching relays, where the state of the relay position is information that must be tracked, I have found it to be easiest to use an optocoupler (H11AA1 or PC817C) to feedback the state of the relay position, which is polled at bootstrap. If you have multiple states to read at boot, you can use something like the TCA9548A multiplexer to accomplish the state read and to set your volatile state variables appropriately, and save on your μC pin count.

Log in to reply

Suggested Topics

  • 87
  • 9
  • 7
  • 3
  • 5
  • 10