Arduino Wireless Communications – SIM900 GSM Shield and GSM Library

The SIMCom SIM900 GSM module isn’t very well documented (in English, at least), but it is dirt cheap.  If you fancy putting cellular communications in your Arduino project, there are a few intrepid pioneers that have paved the way.

Seeedstudio sells a GSM/GPRS shield utilizing the SIM900, and have a well-developed wiki page with getting started tips, a walkthrough, and plenty of sample code.

If you’re looking for more of a drop-in solution, Open Electronics has a library to talk to a similar shield with the same SIM900 module.  It’s unclear if that particular shield is still for sale, but the library should be adaptable to Seeedstudio’s version or others without too much work.

Hush little microprocessor… AVR and Arduino sleep mode basics

Using low power and sleep modes on the Arduino can drastically cut energy use.

Sleep and power saving modes are popular topics in the various AVR and Arduino communities.  How do I put my device to sleep?  How can I wake it up?  How can I control what does or doesn’t get turned off?  It took me a while to round up answers to all of these questions during my own hacking journey, so this post is an attempt to compile the basics in one place.

What do I need to know before putting my precious Arduino to sleep?

Putting your Arduino to sleep is not as drastic as, say, doing the same to the family pet, but there are a few things you should be aware of before you start. 

Continue reading

Interfacing Arduino with a Cellular GSM Modem

If you’re looking to make your Arduino talk with the outside world, you have lots of options.  A cellular modem can give you the most flexibility in terms of where and how you can send messages or transfer data.  Cell modems can be finicky and difficult to work with, but some are easier than others.

Although the Telit GM-862 has been superseded by other modules in Telit’s GSM lineup, it’s still relatively easy to find, easy to work with, and inexpensive.  Alexander Weber’s description of how to connect a GM-862 to the Arduino’s serial bus and his sample library code are largely applicable to many cell modems.  Most units still utilize some form the ancient Hayes AT command set, so the commands used in Alexander’s project can be adapted elsewhere with little modification.