Arduino!

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 ;)

15 Responses to “Arduino!”


Evgeny
June 2nd, 2009 at 6:08 am

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
June 5th, 2009 at 2:20 pm

@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
June 8th, 2009 at 1:29 am

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
June 8th, 2009 at 1:33 am

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
June 15th, 2009 at 10:39 am

I made a car alarm with the same setup :o )
Arduino + Siemens MC35i Terminal.

When the alarm gets triggered I get a call and/or SMS.

 

Ben
June 15th, 2009 at 12:47 pm

@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
June 15th, 2009 at 1:56 pm

@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
June 16th, 2009 at 4:40 am

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
June 16th, 2009 at 4:42 am

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 :o )

Regards ,
Vincent Snijder
Netherlands

 

dom
June 26th, 2009 at 4:35 pm

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
August 22nd, 2009 at 3:03 pm

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
January 15th, 2010 at 7:02 am

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
February 4th, 2010 at 10:54 pm

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
February 28th, 2010 at 3:44 am

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
March 16th, 2010 at 8:04 am

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 :)

 

Leave a Reply