Arduino Wireless Communication via the Electric Imp

Contributors: jimblom
Favorited Favorite 8


Imagine two Arduinos, half-a-globe away from each other, talking and sharing sensor information over a serial port, as if they were right next to each other. When we stuck the Electric Imp on an Arduino shield, this is just the beginning of what we were envisioning.

Our goal with this tutorial is to create a black box "data pipeline" to move information from one Arduino to another, utilizing a Internet-connected WiFi networks. The Arduinos will simply share data across a serial bus, ignorant to the crazy-complicated path that data is taking to reach the other side.

Imp data pipeline model

Our "data pipeline." Information goes from one Arduino, through an Imp, up to an agent, through the web to another agent, and back down to Imp and Arduino number 2.

Why the Imp? There are dozens of ways to connect your Arduino to the world-wide-web and share data -- WiFi Shields, WiFi XBees, Cellular Shield name a few -- but the Electric Imp is one of the cheapest and easiest solutions. Plus, it's a good excuse to learn about and toy with the awesome little development platform.

What You'll Need

We'll focus on using the Electric Imp Shield, but there are a variety of hardware setups that can be made to work. Here is an example wishlist of what you might need to use the Imp Shield and a RedBoard:

If you want to communicate from one Arduino to another, you'll need to double the quantities on each of those items, but you can test the setup with a single 'duino and Imp combo.

In place of the Shield, you could pair an Electric Imp Breakout with a breadboard, jumper wires and headers.

We'll use a RedBoard, but, of course, any Arduino-compatible board should work.

Suggested Reading

  • Electric Imp Breakout Hookup Guide -- This tutorial serves as an introduction to the Electric Imp. We definitely recommend reading through the hookup guide before proceeding with this tutorial, it'll help you get your Imp's all set up.
  • What is an Arduino? -- If you've never used Arduino before, this tutorial will introduce you to the popular beginner-friendly platform.
  • Serial Communication -- There'll be a lot of talk about serial communication in this tutorial. If you're unfamiliar with baud rates, RX, or TX, definitely take some time to read through this tutorial.