Need help with power switching 3.3v

Hi,

I need your help, I have a Arduino Due with 3.3v, I need to power up/switching with Arduino on/off a GSM/3G module 5230E from Adafruit with 3.3v too. I want to switch on the GSM/3G modem every 2 hours for 10 minutes, because when run on battery it will drain the battery. So to extend the lifetime on battery, I switch the module on, read an SMS or sending via HTTP the GPS position, then power off. That's the plan.

I'm testing, researching for a long time (I haven't much spare time...) for switching this module..

Yes I "could" switch it on with an relais... sure, but it is big and loud and not much fun...

Lately I have tried a optocoupler 4N25 with no success...

Now I'm trying a n-channel mosfet to a p-channel mosfet...

I made a Tinkercad circuit to test everything, It "should" work, but not on a real board.

My Mosfets are a IRL2703 and a SUP53P06-20... I cannot get the p-channel mosfet to work properly, the n-channel works fine, until I add the p-channel mosfet.

The n-channel mosfet should be ok, it is a logic level mosfet, the p-channel mosfet has a low VGS value too, so it should work...

Why the p-channel mosfet? Because the ground for the module is connected to the chassis and I cannot disconnect it from the common battery (it is a micro usb cable)... So I need to switch on the "high side", ie. source instead of ground.

Can somebody help??

GSM modules use nominal 3.7V for power, not 3.3V (which may give dissapointing results).
GSM requires at least 2A to function, the power source must handle spikes of current at this level.

Basically they are designed to work in a mobile phone, which all use a LiPo or LiIon cell which is 3.7V
(4.2V fully charged, down to somewhat below 3.7V fully discharged). These lithium battery types
handle very high currents easily.

Note that your wiring will need to be able to handle high currents and have very little resistance
(breadboarding at these current levels is iffy, contact resistance might drop the voltage too much
and melt the plastic of the breadboard even).

Hi,

thanks for reply, yes it's not a breadboard, I solder it on a dot pcb and thick cable (16AWG from the battery to the buck converter then 22AWG for the power connection to the module), so I think 2A peak are not an real problem for me.

https://www.instagram.com/p/Bl_gcM0j6kk/?utm_source=ig_web_button_share_sheet

this is the 1. version with a Teensy 3.6 but I burned it, so now I have a Arduino Due. The 3G board I salvaged with a stackable prototype board, it is for Due/3.3v designed.

3.7v? Adafruit FONA 3G Cellular Breakout - European version : ID 2691 : $79.95 : Adafruit Industries, Unique & fun DIY electronics and kits

OK, the module is working with 3v to 5v, but I need to set the working levels to 3.3v, so I power the module with 3,3v??

And :open_mouth: yes, the module has a battery connector, which I need to connect (otherwise it won't work), sure this will catch the 2A peak, so no problem too...

Next I need to power the module with 3.3v switched from Arduino Due... :sob:

Just to be crystal clear, the Due cannot provide enough current on its 3.3V pin to power a GSM module.

Hello MarkT,

sorry, I haven't told you, that I'm into hobby electronics since the late 80's... made my first projects with the basic stamp 1.0, earlier repairing 8080 CP/M and Z80 MSX computers and so on. In fact I'm software developer, so electronics are my hobby. But I taught everything to myself, but mosfet's are new to me...

Of course I know that every pin of an μC can only support 10-20mA... so this is a fact.

I only want to switch with a p-channel mosfet on/off this 2G/3G modem... The source is another buck converter capable 3 amps 3.3v, from the car battery... So the μC regulator is not used (btw. terrible efficiency, so I connect the buck converter direct). The ground is common to both devices.

I can use this 4N25 optocoupler but I read a lot, so a mosfet would not exceed the limits of a μC pin.

So actually I build a new circuit with a LM317T adjustable source, hopefully get a result that the mosfet do turn on, do nothing or stays on...

Can somebody help OR NOT?

Not sure why you want to add a high-side switch.
The GSM module you're using has a build-in power on/off function (the 'key' pin),
and a power status output (the PS pin).
Leo..

Ahh, I did'nt think of that!!!

Bit is it then fully off, no more power consuming, or it is on standby, consuming lots of energy??

It says OFF, not standby, so I assume it's not using any power, except for maybe a tiny bit for the on/off circuit.
Something for you to measure.

It also says a 1200mAh LiPo for the GSM module is required.
I doubt a 3.3volt/3A buck converter is suitable, and that could waste more current in standby.

I suppose you power the Due and GPS? continuously.
We need to see a complete proper circuit diagram for more advice, and not some tinkercad or Fritzing crap.
Leo..

Hello me again :),

I have thinking this over and over, but the GPS not has this switch, so if I it is not too much hassle, could you help me with the mosfet??

So the Arduino runs on 3.3v power from the buck converter.

The Arduino Due Pin 13 is connected to a optocoupler 4N25 (atm) then goes to the p-channel mosfet SUP53P06-20.

Then when the pin is high, the modem would go off (reverse logic), doesn't mind.

But it don't work, so the mosfet is wrong. It is always on...

Can you/somebody help me to select the right mosfet or show me the right way??

I can make you another circuit diagram of my settings, but which software (free) do you prefer?? Can I go with KiCad?? Can KiCad simulate the circuit?

Why the separate GPS module.
The GSM module has AFAIK build-in GPS.

Why the opto coupler.
A P-channel fet with it's source connected to 3.3volt can be directly switched with 3.3volt logic.
You might want to study this page.
It explains everything about switching high/low side with same or different supply voltages.

Not sure if you can power the Due just from 3.3volt. Some of it's circuits are powered with 5volt.
A 5volt supply for the MCU and GSM charger (with LiPo battery) seems more logical.

This get extremely confusing, and impossible for us to solve without a circuit diagram.
Pen/paper works the fastest.
Leo..

Thx, for the reply,

I choose separate GPS for better accuracy and better fixing, I tested the onboard GPS and the UBLOX LEA-M8S-0-10 does a much better job!!

For the QUALCOMM 8015:

16 acquisition channels
GPS L1 C/A code
Tracking: -157 dBm
Time-To-First-Fix
Cold starts : -144 dBm
Cold starts: 100s (typ.)
Hot starts: 1s (typ.)
Accuracy: approx 2.5 meters


For the LEA-M8S:

72 acquisition channels
GPS L1C/A, SBAS L1C/A, QZSS L1C/A, QZSS L1 SAIF, GLONASS L1OF, BeiDou B1I, Galileo E1B/C
Tracking: –167 dBm
Time-To-First-Fix
Cold starts : –148 dBm
Cold starts : 26s
Hot starts: 1s
Accuracy: 2.5m, 2.5m, 4.0.m, 3.0 and Galileo is not fully operational, so this the has to be proved

So no deal for onboard GPS, even the possibility to power control the separate GPS is worth the hassle...

So I looked at the page, much I know already! BUT there is everything with 5v, no deal... btw. with 5v I had a few tests, most tests worked ok, but no test went ok with n-channel mosfet/p-channel mosfet, even with 5v...?!

I need everything on 3.3v, DUE is 3.3v, GPS is 3.3v and 2G/3G modem is 3.3v... I have a lot of power sources, I have from the car a ~12v (dropping on start, low as 8v) to when the Engine is running up to 14.8v power source.

I have 2 backup batteries, 1 with 5000mah 3.7v, connected to the 2G/3G modem and 1 with 10.000mah outputs 5v, it's a power bank. I have 2 USB 5V connectors, each 2.0A peak, charging/discharging at the same time, connected to the buck converter, outputs 3.3v.

Ok, hand drawn, please don't laugh (this is why I try to draw everything in Tinkercad/KiCad):

Found a solution, instead of switching power, I switch the buck converter!!!

![|500x305](https://www.predl.cc/images/Auto GPS.png)

The used buck converter LM2596S has a pin 5, which I use to soft turn off the buck converter.

The only little thing is, the "standby" buck converter uses 80mA...

a) the Arduino Due is running on the internal regulator 5v... (wanted to use the better buck converter for duration power, better efficiency...)
b) the standby power of 80mA is not that good?!

Suggestions?

harveyhase68:
b) the standby power of 80mA is not that good?!

Datasheet of the LM2596 states 80uA (not mA) typical.
If it's drawing 80mA something must get warm/hot.

Note that you can't just switch the power to a device off and leave the data pins connected.
Must disable all pins and/or set them all to INPUT, otherwise the module will still be (phantom-)powered through it's data pins (which could be very bad).
Leo..

No experience with that GPS module, but you should also be able to turn it on/off in software.

This extract is from one of the uBlox LEA-M8S datasheets.
"Power Save Mode is enabled and disabled with the UBX-CFG-RXM message and configured with the UBX-CFG-PM2 message."
uBlox also has PC software to read/configure that board.
Leo..

Hi Wawa,

thx for reply!!

Ok, so this is all not that bad, 80uA is very low, so it shouldn't matter for battery drive.

I didn't know of "phantom" powering from uC at all, so this is a very useful information, THX. I'll make this software disabling "INPUT" of the pins.

Last question: how on earth do others switch DC power 3.3v with a 3.3v uC pin, is there some magic? Or is it simply not possible? Not everyone is using a buck converter for switching? Or is everyone using a relais?

What about a https://www.mouser.at/ProductDetail/Panasonic/AQV252G?qs=ZM9KzLiT%2FSMCdDQ80hqKow==????

This is a PhotoMOS-Relais which only needs 1,14v-1,32v to turn on, bit high price, but should be affordable.

Do someone has a working circuit, for a Arduino Due? Or similar uC with 3.3v output?

Or should I take another approach?