Controlling the power supply of a bluetooth module via GPIO and a transistor

I want to be able to turn a Bluetooth module on and off via a GPIO pin of a microcontroller. My first approach to realize this with a transistor is shown below. Is this approach correct? If not, how can it be corrected?

simulate this circuit – Schematic created using CircuitLab

• What voltage is your MCU running...3.3V? If that is true, then your schema will not work, since the BL radio will always be 3V or below. – Jack Creasey Jan 9 at 0:20
• You need a PFET or a PNP or a high side switch chip. And you also need to show any data connections between the bluetooth and the MCU or anything else that remains on, and document if the bluetooth allows having a signal line above its supply voltage. If your goal is saving power, you'll also have to figure out if doing so, even if allowed, draws extra current. – Chris Stratton Jan 9 at 0:47

the problem there is that when using a npn bipolar transistor or a N channel mosfet you need to keep the gate or base voltage above the emitter or source voltage, in the case of BJTs, you must also consider that these are current driven devices.

so lets consider the situation at hand, i'll be assuming the bluetooth module input voltage is 3.3, i can't know the voltage drop on R2 since you haven't specified the current the module draws, i will make the assumption that in active mode it draws about 30 mA, and in idle it draws less than 1,

in the active mode case the situation would be as follows

Vbt = 3.7-R2*iR2-VQ1

Vbt = 3.7-36*0.03-0.7

Vbt = 1.92V

so approximately you would get that voltage if the transistor is in the saturation region, most likely it wouldn't be able to drive the module at all

in the case module is idle, i will assume the current is in the order of tens of micro amps, hence the voltage drop across R2 would be negligible, and the voltage on the input pin of the BT module would be around 3v, since the voltage drop of the transistor would still be there, so if my assumptions are correct, the device may work until it starts doing something

a proper solution would be as follows

simulate this circuit – Schematic created using CircuitLab

this replaces the NPN bjt by a P channel mosfet which doesn't draw current to turn on, in the case of p channel mosfets, they are on when the gate voltage is lower than the drain voltage, hence this arrangement would be active low having the pull up to ensure it's off at boot up

• Not a good solution if the BT module is 3.3V. The 3.7V is likely from a LiPo battery so could be up to 4.2V, this would be a huge overvoltage for a 3.3V module. – Jack Creasey Jan 9 at 1:38
• in that case there should be a previous power conditioning, like a buck boost converter, but i think it's out of the problem scope in the question – diegogmx Jan 9 at 1:42
• You simply force me to point out your other major mistake. The IRF9530 has a VGS(th) of 2 - 4V so mau not urn on at all whether the MCU is 3.3V or simply run from the battery directly. – Jack Creasey Jan 9 at 1:51
• actually i just chose the default transistor, just wanted to show the correct topology not focus on specific components, it's a mistake indeed though – diegogmx Jan 9 at 1:53
• there you have it, a bss84 with -2v threshold max – diegogmx Jan 9 at 2:02