A while ago we caught wind of the Electric Imp, a very cool little device that packs an ARM microcontroller and a WiFi adapter into an SD card. We got our hands on an Imp last week, and now it’s time to show off what this little device can do. You can check out the rest of this hands on tutorial with the Electric Imp after the break.
Sorry for filming this with a potato.
In the interests of full disclosure, I paid for my Imp and dev boards out of pocket ($25 USD for the Imp, $25 for the Hannah dev board, and $7 for the April board), but [Kevin Fox] over at Electric Imp was kind enough to bump me to the front of the queue for developer units.
As you can see, it’s fairly easy to connect an Electric Imp to the Internet, but what about doing something useful? For that, Electric Imp has a cloud-based IDE to develop code and push it to Internet connected Imps.
Click to embiggen
When you first connect your Electric Imp to the Internet and log on to the Electric Imp ‘planner,’ as it is called, you’re presented with a blue box representing your Imp and dev board. In the picture above, I have a ‘Hello World’ program running on my Imp that simply passes a text string to the cloud. In this case, my Imp has sent ‘Hello World’ to the cloud.
Displaying a line of text is all well and good, but how about something with a little more I/O? Clicking on the ‘code’ link above the planner allows you to write your own code for the Electric Imp:
I used a piece of example code for the Hannah development board called colorblink. It’s nothing too terribly complex; it uses the I2C port expander on the Hannah to cycle an RGB LED through a few colors. Uploading the code to my Imp is a piece of cake:
Again, sorry for the potato.
So there you have it, folks. A wireless, cloud-based microcontroller platform that fits inside an SD card.
As far as the Electric Imp is concerned, I’m going to go on record and say it’s a neat piece of hardware that functions exactly as advertised. I must point out, though, that even though the Electric Imp comes packaged inside an SD card, it’s not an SD card. There’s currently no way for you to plug Electric Imp into an SD card socket connected to an Arduino (or other microcontroller platform) and have it function like an Eye-Fi.
There’s a good amount of info covering the necessary support hardware over on the Electric Imp dev wiki, and surprisingly the Imp doesn’t need much. The only components necessary to turn an SD card socket into an Electric Imp-able piece of hardware is a small crypto chip connected to pin 6 on the Imp. This chip provides the necessary identification for the Electric Imp IDE/cloud environment. This makes it very easy to add an Electric Imp to whatever project you’ve got in mind.
There’s a lot I haven’t covered with this short tutorial, including pushing data from the Imp’s cloud environment to your server (thus making it possible to use the Imp as a wireless sensor platform), or connecting an Imp to other hardware designed for this ‘Internet of Things’ I’ve been hearing about. I’ll start working on a few demos for later this month.
For me, I only have two issues with the Imp: first, the Electric Imp requires the use of the Electric Imp ‘cloud.’ I’d really like to see another Imp developer come up with a way to either run my own Imp cloud, or simply program an individual Imp to work with a non-Imp server.
Secondly, and I think it’s necessary to reiterate this point, the Electric Imp is not an SD card. The Electric Imp provides no storage; it just happens to be a small microcontroller platform with a WiFi adapter stuffed into the shell of an SD card.
I’ve looked through the documentation for the Electric Imp and found that all the pins required to write to an SD card are available as GPIO pins. This leads me to believe it might be possible to write a bit of code to emulate an SD card and make the Imp serve as an invisible bridge between a microcontroller and a server. Yes, it might just be possible to turn the Electric Imp into an Eye-Fi, but don’t quote me on that.
In short, the Electric Imp is really cool, does everything it’s advertised to, and shows a lot of potential for WiFi-enabled builds. I’ll play around with this a little more and keep Hackaday readers updated.