Note to Self: Hooking Up an Arduino Uno to WiFi So It Can Text Me

What I’m working with

I have an Arduino Uno R3 with a bunch of sensors, LEDs, a small breadboard, various jumper wires, a multimeter.

Goal: detect with sensor, send me a text

I want to build a prototype that can read sensor data and notify me via text message (SMS) or Email when certain conditions are true. For example, I just created a quick human motion detector alarm using this tutorial, with slight modifications because my piezo buzzer is different:
http://instagram.com/p/nLfxjgF1Y7/

Roadblock: No built-in WiFi with an Uno

My Arduino Uno R3 was great to get started with. It’s simpler than a Leonardo or a Yun. The Yun has built-in WiFi and a built-in mini Linux server. An RFDuino is smaller and has built-in WiFi. I wanted to start with the simple stuff first. Now that I’ve worked my way up to building more complex prototypes, internet connectivity is a must.

Other Option: Uno + Laptop + WiFi = Interwebs

There are ways to have an Uno send a text or email by keeping it hooked up to a laptop or PC that’s running a python script that talks to a web service or your local web server. I can also use BreakoutJS or NodeJS library like Johny-Five in a similar fashion, where the Uno has to be connected to my laptop so it can have internet connectivity. I want my toys to be free-standing, independent of a laptop, so, it looks like I’ll need to get a WiFi Shield or a WiFi breakout board.

WiFi Options for Uno

So far, Adafruit’s CC3000 looks like the best option for laptop-free Arduino Uno WiFi solution. It claims to be faster than other WiFi shields / boards because it’s not using UART. I need to look into this further.

I’ll need to order CC3000 WiFi Shield from Adafruit and sign up for a web service provider that lets me call their API, something like Amazon Web Services (SNS service), Twillio, TelAPI, TextBelt. The AWS account allows up to 100 free texts/mo and small fee if you go over. TextBelt is free but describes itself as “fairly reliable”.

CC3000 Shield v. the CC3000 Breakout Board

Shield:

Board:

  • breakout board, you have to solder it but if I switch to an Arduino Mini tomorrow, it will still work since it connects to a breadboard and not the board directly

With CC3000 there’s the initial one-time cost of buying a few soldering tools. I guess, in that sense an official Arduino WiFi Shield won’t require soldering, even though it costs a bit more than double. I need to see if that UART speed issue is a factor.

Future iterations

There’s a cool tutorial from Open Home Automation to set up a motion detecting HUB with two micro controllers, one (or more) for the sensor and the other as the central hub.

This is a work-in-progress. To be continued…