First Project, gonna need some help - GSM alarm and battery reporter

Hi All, total Noob here, thanks in advance for your help. I have purchased an UNO r3 and a cutedigi GSM shield to try to cobble together something that can send me status updates on my vacation house, which is located on an island off the coast of Honduras. There is 3g service on the island, and a prepaid SIM card is pretty cheap. The system will need to do the following:

  1. send an SMS to several numbers (mine in the states and the security guy on the island) when the alarm is triggered. I am using an Ademco alarm panel and a relay box, so the signal to the Arduino is the equivalent to a thrown switch.

  2. monitor the voltage of the battery bank (the house is solar powered) and send the voltage number as an sms to my phone every week. This serves two purposes: a) it lets me know if I need to send someone over to run the generator to top up the batteries when the weather has been cloudy, and b) it keeps the SIM card active (the prepaid cards will continue to work as long as they are being used more than once a month. If they sit without use, the prepaid minutes fall away and they stop working at all)

  3. Run continuously off of 12vDC, as the inverter will not be functioning during the time that I am away.

Of course, other cool stuff would be fun - you know, take a photo of anybody that messes with the house and text it to me, or play Katie Perry at top volume to keep intruders away - but these are the basics.

I have seen some tutorials on using the Sparkfun GSM shield, but not much on this one from cutedigi. Are they the same thing, and if not, is there anyone who has some experience with this one?

Thanks again

John B

or play Katie Perry at top volume to keep intruders away

That would do it. :slight_smile:

but not much on this one from cutedigi

That one? Or the other one? A link would be useful.

Hey, thanks for the rapid reply. I am new to the Arduino, and have found myself totally fascinated with the universe of possibilities that it affords. I smell an addiction.

Here's the li'l bugger that I am using for the GSM shield: . I confess that I bought this one because it saved a few bucks, which was probably foolhardy, but there you go. The tutorials that I have looked at have been the tronixstuff one here and a couple of youtube videos. It looks like I can set up a simple voltage divider to get my bank voltage down to a readable level for the Arduino's analog input pins, which would allow a line of code in the loop to trigger the sms when the voltage drops below a certain level. A similar line could send SMS when a pin goes high, which could happen from a current sent to on one of the four free relays on the alarm which close when the alarm is triggered. I would love to add some 'query' capability, for instance where I send an SMS and it sends one back with the system status, and possibly even an arm/disarm via SMS function if I was getting real fancy. Katy Perry is gonna have to wait until the next iteration, though; I think it is a violation of the Geneva Convention to torture people so cruelly.


I would love to add some 'query' capability, for instance where I send an SMS and it sends one back with the system status, and possibly even an arm/disarm via SMS function if I was getting real fancy.

There is a link at the bottom the GSM shield site to a project that receives a call, and sends a text message, instead of answering the call. I would think that you could adapt that to receive a text message, instead, and return a text message with the query data. The incoming text message could even be parsed to see if it was a query or a set message, and respond appropriately.

When you get it done, I hope nobody steals it.

This sounds very similar to what I'm trying to do only with my car. I'm interested in how you progress. I'll keep you posted on my progress as well.

PaulS, thievery is the Honduran national sport, so it is only a matter of time before this walks away. I am hoping to thwart them for a while, though. I hadn't noticed the post with the tutorial - a lost call is an even better idea, as I will be the only one with the number, and unanswered calls don't cost me international calling dollars. Brilliant!

ElecticBlue, please do. I am hoping to have this up and running in a week or so; if I get close, I will put up a post and a couple of pics. I am certain that this is not the recommended first project, but I don't have a lot of time to invest in making flashing LEDs.


Okay, so here is a kind of statement of what the code is going to have to do:

variables: volts, sender, armstate, sentdate, alarmsend

In the loop:

get voltage at pin 0; multiply by 4 and set variable 'Volts' to that number.

Check pin 1. if it is high, armstate=armed; otherwise, armstate=disarmed

check pin 2. if it is high and alarmsend-0, send sms to fixed numbers with fixed text and set alarmsend to 1.
check pin 2. if it is low, set alarmsend to 0. this limits the SMS cycle to one per trigger of the alarm.

check to see if an SMS has come in. Save the number of the sender as a variable 'sender' ; If the content of the SMS is "disarm", open circuit one; if it is "arm", close circuit one; If it is "status", send an SMS to 'sender' that is "volts=" (the current value of volts)" system "(the current value of armstate); if the content of the SMS is 'reset', reset the arduino

Check to see what the date is. If it is the 15th or the first, then:
see if an update sms has already been sent today: if it hasn't, then:
send sms to (fixed number) "Volts=" (the current value of volts) "system "(current value of armstate)

if value of volts is less than ten, send sms to fixed number "warning, bank is below 10 volts"

I know this isnt really code - but is my thinking clear on the structure?

Looks like you've already purchased your GSM module, but I thought this might be of interest if you need to build a replacement unit.

(Probably) The Cheapest way to add SMS to an Arduino. A $25 solution assuming you can still buy these: