What is the electric imp? In essence, the Imp provides an easy, integrated way to connect almost any hardware device both to other devices and to internet services. It's more than just a WiFi card, or even a WiFi module with processing built in - it's an integrated platform that deals with the drudgery of connectivity, allowing you to concentrate on the application instead of the mechanics.
The Imp itself is very small - 32mm x 24mm x 2.1mm - but packs a lot inside.
For starters, there's industry standard 802.11b/g/n WiFi, complete with WEP, WPA and WPA2 encryption, along with a great antenna.
Next, there's the processor. A Cortex-M3 core gives great performance combined with low power consumption, allowing the Imp to deal with both maintaining a secure connection to the service and also executing the developer's code in a stable environment.
Finally, there's the I/O. Though there are only six pins available for application use, they're six very capable pins. UARTs, I2C, SPI, analog in and out, PWMs, GPIOs... all selectable under software control.
For more details, see the electric imp hardware page.
Developing for the Imp is quite unlike most embedded development. No SDK to install, no JTAG pods, no long download times... you develop your code in a browser-based IDE and can compile and run your code on the Imp - wherever it is in the world - in under a second. The Imp even sends logging back to your browser.
Software that runs on the Imp is written in Squirrel, a C-like language, with extensions to communicate with the hardware interfaces and the service. As the Squirrel code runs on top of the electric imp OS, you get many big system benefits like buffered I/O and crash recovery - plus you can push updates to devices in the field with a few clicks.
Data passes to and from the service over a TLS encrypted interface, and can take many forms including scalars, strings and tuples. An open API on the server allows devices to communicate with other communications networks (email, SMS, twitter, etc), theyb pages (displaying data and controls), APIs to communicate with other services (RESTful API, TCP pipes) and of course soft nodes, that can perform server-side processing on data that would be inconvenient to do device-side.
This innovative wifi controller has a few things that you'll want to watch for. Although it is shaped like an SD card it will not work in a device that uses SD cards for storage. It won't damage the imp or the device, but it wont work at all. Instead, a project that uses the imp is supposed to use an SD socket in a unique configuration with an Atmel ID chip. The SD shape just makes it easy to find matching sockets, the ID chip is so the imp knows 'where it is' and what program to download into its memory - so that you can swap in a new imp at any time and it will change its behavior based on the socket. If you're starting out, we suggest picking up an April breakout board - it takes care of the ID chip, socket and power supply, letting you get on with the project!
PLEASE NOTE: The April board is not included!