Arduino controlled toggling of a 5A switch

I want to use a battery powered 3.3V Arduino mini pro to toggle an on/off switch to a 12V, 5A water pump.
The mini pro will be in low-power sleep mode most of the time, and will only wake up each hour to decide if the water pump needs switching off or on.
I can't use a relay - this will consume too much power.
Is it possible to buy switches which will stick in the off or on position, after being told by the arduino, without consuming any power after the switch has been made?

I could use a stepper motor to physically push a mechanical switch... But there must be a better way !!

Yes, there's a type of relay that does that. I think it's called a latching relay...

But who cares? Just use a MOSFET.

Only problem with that could be that 3.3V isn't always enough to properly switch on many common types of MOSFET. But try IRL44Z or similar.

Use a 330R or similar to limit the gate current, and pull down the Arduino pin with 100K.

1 Like

Thanks! Latching Relays and MOFSET .. two new concepts for me. I had a quick google of MOFSET and wonder if control of a GPIO pin to operate it might be a problem while in Arduino sleep/low power mode .... so I'll move on to Latching Relays. But progress is being made, thanks again!

I'm not sure why you are asking questions on the forum if you are going to make arbitrary decisions based on ignorance! Good luck!

2 Likes

Is the 12V available to control the switch? Perhaps a simple circuit that will latch. For instance an old CD4013 Dual D flipflop.

HINT: You can use a CMOS latch to drive the MOSFET(s), they pull very little current, are inexpensive. The MOSFET does not use current when in a stable on or off state. If this sounds interesting spend some time learning basic electronics so you understand what I just stated.

1 Like

Just found someone with an identical question!

BUT, as I have practical experience of the struggle to extend the battery life (4 rechargeable AA's) of an Arduino mini pro from 2 weeks (no low power techniques) to 1 year++, for a different project... I am loathe to add circuitry which might decrease battery life, however little, IF this can be avoided.
I think I can use a latching relay, only powered by a GPIO pin at the time a change in state is required (which will be very rarely), and the rest of the time consuming no power at all, will be simplest for me.... assuming I've understood the specs correctly... and the pin has enough juice

The other consideration for me, is that the circuit should have as few components as possible - ie I like things directly attached to the arduino with as few wires as possible to reduce the jungle of wire-wrapped wires typical of my hobbyist projects!

I see NO 3.3V relay that will work with only 20mA from a pro mini pin
Yoy will need to use a transistor to operate the relay.

I was just (slowly) coming to that conclusion myself . Oh dear, more components. Unless by tying pins together, I can get the required current...

No
You will need 4 resistors and two transistors and two I/O pins. One latches the relay On the other latches it OFF

If you can use the 12V to operate the relay, you can save some battery power but you still need the transistors.

FYI: 4 AA is 6V, too much for the mini

So what't the plan?

Discovering that pins retain their state when Arduino is put into sleep mode (something I wasn't previously sure about) and because I've ordered a MOSFET IRL44Z (1st reply from PaulRB) and because I can't find a suitable 3.3V latching relay, I'm going to measure how much current the MOSFET actually uses and see if I can live with any reduced battery life. "FYI: 4 AA is 6V, too much for the mini" ... I'm using 4 rechargeable AA's = ~5v into raw, so that works fine.
That's the plan! At the moment.

If you are seeing something other than a digital LOW on any pin configured as an input or output then you are not in any of the sleep modes.

When in sleep, any pin configured as input or output is connected to GND.

Not a good idea if you want to switch a 5A load. A 3.3V gate voltage won't turn it completely on, so it will probably overheat and burn out.

I found 16 on Digi-Key.

You're not making my life easy! Statements that contradict other posts I've read, wrong parts I've ordered!

The original plan was to switch off a solar panel powered submerged pump in a pond, (pumping water to the top of a stream that emptys into the pond), when, through evaporation, the water level in the pond gets too low.

What I could do instead, is radio-transmit a signal to the house that turns on a warning LED when the water level gets too low. This I know I CAN do, and I will have to visit the pond anyway, to top up the pond.

You don't need a latching relay or even an Arduino to do that.
How do you detect low water level?

Ordered, but not arrived yet

Well the website does not say if the switch is open or close when the float is at the low level but if it's like most the switch will open when the level is low.

So all you need is a 12V SPDT relay that can be triggered by a 12V signal, a transistor and a few resistors, no need for an Arduino. The float switch will directly control the relay (with a transistor) to turn the pump on/off. This all depends if you have access to the 12V supply for the pump. Can you use that supply?

I'm sticking with plan B - radio transmitting low water level to base.
The pump is powered directly from two solar panels, max 340 watts, only during daylight hours. The 0 to 18v produced by the panels is regulated to a 12v max, so there isn't a steady 12v available.