Remote GSM monitoring device - Self power on and off

Hi guys,

This is my first post here! I've been following the arduino project for a good few years now but never actually done any projects of my own, I have for other people though. My own background is in software, I'm a developer and use Java, PHP, C# & a bit of C. I'm also facy my self as a bit of an interface designer, Photoshop, CSS etc.

I've done some Raspberry Pi project in the past, mainly becasue I can run Java application on them. I did initally look into using a Pi Zero for this project but I think it just sucks more power than I would like (as this system will be ran of a battery). Another reason for not choosing the Pi is the difficulty in getting sesnor etc hooked up to and get them communciating, it just looks so much easier and simpler on arduino.

Quick Summary
In a nut shell I want to use an Arduno borad and a sesnor as well as a GSM moduel to transmit the sensors data to my web server. It will be run on an external battery. It will also have a small OLED screen to display oporational information.

Details
For this project I am probally going to be using an Arduino uno (although I would like to use something smaller if possible so open to suggestions about the board.)

I'll be using a DHT 22 sensor to monitor temp etc and i'll be using the (0.96 Inch 4Pin White IIC I2C OLED Display Module 12864 LED) for the display. For the GSM moduel i'll be using one of these SIM900 moduels.

I want the system to turn on for 20mins and then off for 20mins then turn back on for 20mins and so on in a loop, in an effort to safe the battery. I've been reading a 555 timer might accomplish this but i'm new to this area so if someone has already done what i'm looking for and has code / a chip recomendation then please share, i'm also presumin I would need some kind to watch battery or something to store atleast some minasculre amount of power for the timer to actually be on its self storing the time? or maybe i've not understood it correctly.

Lastly, I was going to use the arduino 3.0 for this project but have heard of people having issues getting the GSM moduel hook up to it, I dont know if this is down to power requirments or what. The GSM moduel nees 5v at 2amps maybe the nano can provided this.

I plan on having everything, the sensor, display, gsm moduel all hooked up to the uno. Without knowing exactly how the timer power off / on every 20mins thing works, this timer would sit between the battery and the arduino uno.

Hope this all makes sense, sorry it's lenghty just wanted to get everything out before I start purchasing the parts.

Thanks,
-Anton

First of all, an excellent article on power saving by Nick Gammon:

https://www.gammon.com.au/forum/?id=11497

If you use a 3231 RTC you can put everything to sleep, turn the SIM900 off, etc. The RTC can wake the microcontroller on an interrupt, in turn that can turn everything on. Once all is up and running send the information, reset the alarm, turn everything off and go back to sleep.

dannable:
First of all, an excellent article on power saving by Nick Gammon:

Gammon Forum : Electronics : Microprocessors : Power saving techniques for microprocessors

If you use a 3231 RTC you can put everything to sleep, turn the SIM900 off, etc. The RTC can wake the microcontroller on an interrupt, in turn that can turn everything on. Once all is up and running send the information, reset the alarm, turn everything off and go back to sleep.

Thanks dannable,

I've ordered my parts and they arrived a couple of days ago. I've been tinkering around with the DS3231 and its a great RTC! and the temp sensor was an added bonus! My SIM 800L also came, although I am now wondering how I hook it up, as the arduous 3.3v and 5v pins wont supply enough amps to meet its needs.

Basically it needs a steady 3.7 to 4.4v at 2Amps, so I am going to have to get an external battery that meets those needs. I was thinking of going for one of these rechargeable external batteries with 2 USB ports that can output 2 amps, the first usb port i'll use to power the arduino and the other sensors I ahve attached to it i know that the arduino can power and the other port i'll use to power the SIM800L. I think this means I am going to have to step down the voltage from 5v (from the second usb port) to 4.4v, which I think means I need a DC-DC converter buck converter?

I get everything up to this point, if what i've said above is right, i'm not sure now though how I can use the RTC to power down the SIM 800L if its constantly connected the the buck converter, do I need some sort of switch between the buck converter and the SIM 800L or can I power down the 800L directly from the arduion?

Hope this makes sense,
Thanks.

Anton

You would want an Arduino-controlled switch between the battery and the buck converter for the phone module.

Depending on which SIM800L module you have you might find the following link of use:

https://forum.arduino.cc/index.php?topic=496064.0

Thanks guys, so i've figured out I need a relay that the arduino can control, this will let me completely cut power going to the SIM800L and I can turn it back on when my RTC wake my Arduino.

I've had a look at your post Dannable and I have the exact same module (doesn’t have the voltage regulator built in). I was planning on using a buck converter (DC to DC), similar to the way you have 3, I only need 1.

The external batteries I’m looking at have 2 usb ports, that can both output 2 amps (per port) @ 5v, so i was going to run a usb from port 1, straight to the usb on the arduino and from port 2, splice the cables into a relay then from the relay into the buck converter that would be setup to output 4v (also need to make sure I get a buck converter that can output 2amps).

I'm not sure what and why you are using a level shifter though or where it sits in the circuit?

This also raises the question, should my battery be 12v instead of 5v if I’m using a buck converter? Will this also affect my choice of relays which most commonly and cheaply seem to be 12v?

Thanks,
-Anton

Despite the fact that the SIM800L runs off 4 volts, the maximum voltage on the signal lines is 2.8 volts.

dannable:
Despite the fact that the SIM800L runs off 4 volts, the maximum voltage on the signal lines is 2.8 volts.

I see! didnt realise that, so in theory I could just use another DC to DC buck converter, crack it down to 2.8v and run the output on the buck to the SIM800L?

Converters i'm looking at: https://www.amazon.co.uk/eBoot-LM2596-Converter-3-0-40V-1-5-35V/dp/B01GJ0SC2C/ref=sr_1_1_sspa?ie=UTF8&qid=1508328620&sr=8-1-spons&keywords=buck+converter&psc=1

I also think I am just going to use a 12v battery instead of going down the USB route so the voltage is always high enough for the buck converter.

I am reading on this page http://www.raviyp.com/embedded/203-sim900-sim800-not-working-possible-reasons that,

"You need to provide the proper duration ON pulse on the PWRKEY pin of SIM900/SIM800 to turn it ON. Not too long and not too short. 1 second pulse is recommended."

Not sure what this means, my thinking is that its not just as simple as running the power line from the output of the buck converter directly to the SIM800L, or is it?

Thanks,
-Anton

Bumpy bump bump :slight_smile: