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. Advanced power management lets you build products that can run for years from a couple of AA cells.
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 deeply embedded implementations, the Imp is also available in module form, both with and without an antenna. This module is soldered to your PCBA and provides even more I/O and flexibility.
For more detail, see our 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.
The software you run on the Imp is written in Squirrel, a C-like language. This high-level language, combined with the imp OS hardware APIs and dynamically reconfigurable interfaces provided by the Imp, makes it easy to quickly build and debug your embedded application. As the code runs on top of our 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.
The other half of the story is of course talking to the rest of the world. The data to and from the Imp passes over a TLS encrypted pipe connected to your Agent, a pico-server that runs within the Imp Cloud.
Your Agent can talk to almost any web service using an HTTP API, and can also accept connections from your app or server, providing a flexible interface between the Imp and the rest of the world. The combination is powerful enough that you can ship entire products without needing to run a server of your own.
For more detail, see our software page.