So after just a few years of procrastination I finally picked up an Arduino microcontroller to play with. This one is their latest design, the Duemilanove (2009):

Fast forward a couple weeks of tinkering with LEDs and buzzers and I picked up an awesome shield to work with, a GPRS module from Libelium:

This baby allows the Arduino to communicate with our mediocre GPS network up here. Not only can I send and recieve SMS messages, but once I hook up a speaker and microphone (and perhaps a wee keypad?) I’ll have my very own custom cell phone
Took a bit to get the shield going.. apparantly the GSM transceiver sucks up to about 2A (!) to run properly. The only A/C adapter I had handy was 1.5Amp but it was still intermittently dropping out on me. Adding a 220uF capacitor between the +5v and GND on the shield got er running perfectly.
I ended up signing up the Arduino on Rogers for a $10/mo Pay as you Go plan (what IEMI number??).. figure this should be plenty for testing at 15 cents per SMS message. I haven’t had the chance to try data communication but the GSM module on this shield does sport it’s own little TCP/IP stack so who knows where we can go with this!
My aim with this setup is to eventually become a computer for the People’s Car. I figure I can do some nifty things with it with SMS messaging capabilities…
- Realtime GPS tracking system
- Emergency voice calling
- Vehicle monitoring via ODB-II interface
- Remote Start and Kill

So far I’ve had the shield setup as a USB gateway (allows me to communicate with the GSM module directly through a serial terminal). Once I get some actual Arduino code put together I’ll do up a little writeup soon about sending and recieving SMS and interfacing a keypad for those obligatory prank calls

17 comments
Evgeny says:
Jun 2, 2009
Hello there!
Just read your post about Arduino interfacing libelium GPRS module. Is it functioning well? Did you manage to receive and parse incoming SMS message? I just received Arduino Duemilanove from iShop and my first task is to make simple SMS-driven automation system. Firstly i want just a response on “Status” SMS, something like “Status ok”. I have Siemens TC35 terminal which i want to use. Unforunately there is very little or no information on receiving SMS with Arduino. Maybe it’s so simple that it doesn’t even worth mentioning, but i doubt. Can you help me somehow with your expirience?
Ben says:
Jun 5, 2009
@Evgeny: The Libelium shield effectively works as a GSM modem, where you can check, send and receive SMS messages using the AT command set. What I’m doing is polling the GSM modem every 10 seconds for any new SMS messages using the appropriate AT command. Once something new comes in, the message is parsed out into strings (SMS ID, originating number, whether it’s read or unread, message) where I can then process any commands the message contains.
I’ve never used the TC35 terminal before but I would imagine it works in a similar way, as a serial modem? Then you could control it the same way through a standard serial connection on the Arduino. Hope that helps!
Mike says:
Jun 8, 2009
Hi Ben,
Thank god I finally found your blog. Good to hear that you’ve got a good results with the shield. Later this week, I’ll receive my parts too and I can’t wait.
I see that you’ve made a whole routine on checking incoming SMS messages. I’d understand if you don’t want to share complete applications, but it seems the polling system is indeed very useful for other hobbyists. Could you share this piece of code, please?
Kind regard
-Michel
Mike says:
Jun 8, 2009
Oh and btw, you also said that you plan to install a keypad. Good thinking!
Any idea on how you’d like to do that concerning the limited pins?
-M
Vincent Snijder says:
Jun 15, 2009
I made a car alarm with the same setup
)
Arduino + Siemens MC35i Terminal.
When the alarm gets triggered I get a call and/or SMS.
Ben says:
Jun 15, 2009
@Mike: I do intend on releasing all the code once it’s cleaned up. Right now processing the incoming SMS text is still a little buggy due to the way the arduino handles strings (and string length). However, it’ll all be released under the GPL when it’s stable!
@Vincent: Awesome, have any details on that setup online?
Mike says:
Jun 15, 2009
@Ben: Cool! Having the same issues here, but I think I’ve got a solution. Contact me by e-mail for more info!
So what about the keypad?
Vincent Snijder says:
Jun 16, 2009
Even better AT – command overview (PDF) :
http://www.r-e.cz/download/atcommand_mc35.pdf
( again : Not specifically limited to the Siemens, as stated above )
Vincent Snijder says:
Jun 16, 2009
Here’s some info with code :
http://www.arduino.cc/es/Tutoriales/SMS
Be aware that most AT commands are generic protocol, so can be used on every
cellphone you can serially connect to. You don’t need a Siemens terminal.
Here’s an overview (PDF) of AT commands :
http://wireless-solutions.ru/lib/inf/sim/mc35i_atc_0103.pdf?sid=cda81e32bf261451e3c91be625893a0c
Even better AT – command overview (PDF) :
http://www.r-e.cz/download/atcommand_mc35.pdf
( again : Not specifically limited to the Siemens, as stated above )
My next project will be the other way around … :
)
Sending SMS to control several appliances in my house
Regards ,
Vincent Snijder
Netherlands
dom says:
Jun 26, 2009
I have the same setup. It’s cheaper to pay for a tmobile prepaid card from the US, which is valid for 90 days. Costs the same amount per text message.
Kyle says:
Aug 22, 2009
Hi Ben,
Cool project.
I just bought the same shield myself, have got it set up the same as you with external power and a capacitor, but I am getting nothing. No response from the GPRS?
Confusing indeed.
Is there some little trick you did that I am missing?
Seb says:
Jan 15, 2010
Hi, Just wondering how you’re going with your parsing code? I’m currently attempting to write an SMS parser on the Arduino and am wondering if you have any tips!
Strath says:
Feb 4, 2010
Wow, I want to do the same thing. Just got my GPRS shield, and have wired up a spare starter key fob using a transistor as a switch to close the start button contacts. Now I just need an sms parser. Any idea when your code will be available? The idea of starting my car via text message from the bus to my car in the pan-and-ride is very appealing.
Cold in Edmonton!
FKSI says:
Feb 28, 2010
Hey,
I’m want to do the same project as you ! How can you do an Realtime GPS tracking system ? I also purchase the GPS Shield for Arduino.
Thanks
3dotter says:
Mar 16, 2010
Hi Vincent Snijder,
Very nice what you did with the Siemens modem to get a car alarm. Could you please share that code with us?
Thanks
Vincent Snijder says:
Dec 15, 2012
You can mail me for the code at :
— (at) 4ease . c0m —
Vincent Snijder says:
Dec 15, 2012
Again …
— (myfirstname) (at) 4ease . c0m —