Hardware GPIO questions

Just went throgh the IMP002 docs and I have two questions:

  1. "The imp002 can be woken from low power sleep mode with a rising edge on PIN1. If this signal is pulsed, the minimum pulse width is 20ms"
    What this 20ms means? We used 50Hz zerocross to do wakeup on PIN1 which means 10msec pulsing signal (since 50Hz produces 100 zerocross/sec) and it worked well. Does this means it works accidentally? Or it won’t work with the US 60Hz?

  2. "I/O input leakage current 4uA"
    This is for one GPIO or it’s for all of them?

The 20ms thing is actually the same for IMP-001 card imps. It’s referring to the use of DIGITAL_IN_WAKEUP on pin 1 to wake up from the deep sleep of server.sleepfor() or server.sleepuntil(), and not to the “wakeup” on interrupts from the shallow sleep of imp.wakeup().

What it means is, although shorter pulses will wake the imp from deep sleep, 20ms is the shortest pulse that is guaranteed to not be mistaken for a timer wakeup, if both happen nearly simultaneously.

That is, if a 10ms pulse wakes up the imp from server.sleepfor, at the same moment that the sleepfor timer expires and the imp wakes up anyway, then the wakeup will be incorrectly reported as timer-based, not pin-based. A 20ms, or wider, pulse on the wakeup pin will be correctly reported as a pin-based wakeup even if the timer expires at almost the same moment.

As for the leakage current question, maybe one of the hardware folks will chime in?


Input leakage number is maximum per pin (but that value applies to all 6 pins). Leakage is lower on the extra pins on the module as they are not heavily muxed.

One more thing related to IMP002 - what kind of phototransitor (or family) is recommended? Is there any aplication note to a basic IMP002 connection board like the April was for IMP001?

A couple of suggested phototransistors:

  • SunLED XZRNI56W-1 (as used within an imp)
  • Liteon LTR-4206 (3mm LED-style)

We do have a breakout board for the module, called Amber. We’ll get the design online in the next few weeks.