Have a power hungry Arduino and looking for a dead simple solution? Fear not, hardware hacker. The community has come to your aid. There are several libraries available that abstract all of the gritty AVR commands needed to make your Arduino drowsy.
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.
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.
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?
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.