The Imp card has nine pins; of these two are used for power and one is used to communicate with the ID chip that lives in every device, leaving six pins for connection to peripherals.
As you'd expect, all pins can be digital inputs (with software selectable pull-ups and pull-downs), digital outputs with 4mA drive, or analog inputs that feed into a multiplexed ADC... but that's just the start.
Every pin has its own dedicated PWM channel, allowing complete flexibility in PWM clocking. There are three UARTs available, two SPIs, two I2Cs (master or slave), two DACs, a pulse counter (with definable sampling window) and one pin can be used to wake the card from low power sleep mode.
If you require more GPIOs for your application, we recommend using an I2C GPIO expander. Some of these, for example the one used on our Hannah devboard, can also be used to wake the Imp from deep sleep as well as providing PWM LED drive features.
If you're building a product which is reliant on connectivity, you might want to use the imp module. This is a solder-down Imp which gives you twelve I/O pins as well as the freedom to place the LEDs and photosensor where works best in your product. It's available with an antenna or with a u.FL connector for you to attach one of your own.
The Imp looks at the peripherals in use and configures itself to the lowest power state at all times; this includes use of clock scaling and gating, ensuring that power is not wasted without the developer having to concentrate too much on these details.
When connected to a WiFi network but otherwise idle, the Imp takes under 10mA (sometimes much less, depending on peripheral configuration). When actively transmitting at maximum power, the peak current is around 250mA - but because transmit periods are very short, the average power consumption is still low.
For very low power applications, the Imp can go into deep sleep where it takes only 6uA of current and can wake on a timer or a rising edge on the wakeup pin. The Imp can wake up in milliseconds to perform local processing, storing data in internal nvram for later transmission. When the Imp wants to return data to the service or check for waiting messages, it can boot, connect to WiFi and the service, exchange data and go back to sleep again in around a second. This low power sleep and quick wake means that for many periodic applications the whole system can run on 2xAA batteries for years.
Our state-of-the-art WiFi implementation provides unparalleled sensitivity and excellent transmit power, giving a link budget of ~114dBm under ideal circumstances. Our antenna has been tuned to work with our recommended SD socket, and has a very consistent pattern to help with awkward locations.
You can find more information about the imp hardware on our dev wiki.