Best transistor to use to turn ON/OFF the HC12

I looking to minimize the power usage of a circuit using HC12.

According to the HC12 datasheet:

Power supply input,
DC3.2V-5.5V, with
load capacity not
less than 200mA.

According to my measurements: it consumes 72mA while constantly transmitting and 16mA in idle.
The FU power saver modes I dont want to play with and anyway even the FU1 is 3.6mA which is way too high for my battery powered circuit.

I have considered using a transistor to turn ON and OFF the HC12:

What I noticed with the BC337 using the exact same circuit is that when the device is off the flow through current between the Collector and Emitter is between 1mA-8mA. It might has something to do with what's on the HC12 board maybe some capacitors causing this I don't know.

Of course I could just use a relay and it is then a clear cut but as we have transistors invented they must be good for something. I have the following other types: BC327, BC549, BC550, BC517, BC556, BC547, BC557, BC548, BC558.

Any suggestions?

Thanks.

That circuit is fine as long as the HC-12 is not connected to the Arduino by any other connections than to the transistor and 5 V. But I have a distinct suspicion that you do want to connect it to other pins.

Fussing over 16 mA for battery powering is perhaps not all that significant if you are using a UNO as the UNO draws much more than that. :cold_sweat:

zpool:
What I noticed with the BC337 using the exact same circuit is that when the device is off the flow through current between the Collector and Emitter is between 1mA-8mA.

Exactly what are you measuring and how did you connect the meter? :astonished:

No I using the barebone Atmega328P with the lowpower library. The device wakes up periodically, sends data through the HC12 then goes back to sleep. Yes the HC12 of course is connected with RX,TX.

How I measured the current between the E-C: I put a multimeter in series with it and as I said it was jumping between 1-8mA when the transistor was OFF (digitalWrite(pin,LOW)).

This is unacceptable, I need a solution where if it is OFF that means it is OFF and zero or near zero current flows through just like in case of using a relay.

Use a "high side" switch to avoid problems with common ground. In the circuit below, which works for 3.3 or 5V loads, I suggest 1K for the base resistor and 2N3906 transistor or similar. The transistor is off when the Arduino output is HIGH, or that pin is set to INPUT mode.

High side switching does solve nothing.

Your setup should be working well. Maybe you have something wrong or the transitor is damaged.

Smajdalf:
High side switching does solve nothing.

Not necessarily true, it allows a decent RF ground between the RF module and the rest of the circuit,
which may help the antenna performance. With RF ground is ground, no iffs, no buts, you don't
want RF currents flying about random semiconductor junctions like switching transistors and generating
out-of-band harmonics.

Your setup should be working well. Maybe you have something wrong or the transitor is damaged.

Surely the point is the signal pins are not parked properly when the module power is removed -
set them all to INPUT is a safe option, when power is restored you have to restore the pin's modes.

Why use a transistor when you can switch it off in software.
AT+SLEEP

A HC-12 module draws 22uA is sleep mode.

MarkT:
Not necessarily true, it allows a decent RF ground between the RF module and the rest of the circuit,
which may help the antenna performance. With RF ground is ground, no iffs, no buts, you don't
want RF currents flying about random semiconductor junctions like switching transistors and generating
out-of-band harmonics.

I don't have much knowledge and experience with RF but I think the converse is true:
RF currents fly through the local RF ground plane, between the antenna and decoupling cap. The switching transistor isolates the RF ground from the rest of the circuit reducing interference between digital and RF parts of the circuit.

In the OP's scenario with standalone module there is no continuous ground plane anyway.

I don't have much knowledge and experience with RF

Good to know, thanks.

Wawa:
Why use a transistor when you can switch it off in software.
AT+SLEEP

A HC-12 module draws 22uA is sleep mode.

Yes this missed my attention it the datasheet. I took this option. The only thing is when we need it back online is that need to go into programming mode again with pulling the pin LOW and then HIGH again (no need to actually issues any AT commands) then it wakes up.