Skip to main content

imp002 Pin Mux

The functions available from the imp002’s pins

The imp002 is no longer in production and should not be used as the basis for commercial hardware designs

The imp002 solder-down modules provide all of the same pins as the imp001, with all the same functions, plus five more pins: 6 and A through E.

Pin Mux

Pin
 
 
uart
1289
 
uart
57
 
uart
12
 
uart
6E
 
uart
B
 
i2c
89
 
i2c
12
 
spi
257
 
spi
189
 
DAC
 
 
ADC
 
 
PWM
 
 
Pulse
Count
 
Wake
From
Sleep
PTPG
Trigger
 
1 CTS TX SCL SCLK Yes Yes Yes Yes Yes
2 RTS RX SDA MISO Yes Yes
5 TX SCLK Yes Yes Yes For Pin 7
6 TX
7 RX MOSI Yes Yes
8 TX SCL MOSI Yes Yes For Pin 5, 9
or C
9 RX SDA MISO Yes Yes For Pin 2
A Yes
B RX (only) Yes
C Yes
D
E RX

Default Pin States

All of the imp002’s pins are tri-stated (floating) by default, ie. on power on, after chip reset, or after deep sleep.

Notes

  • In GPIO mode pins may source or sink up to 4mA.

  • All of the imp002’s pins are tristated (floating) by default, ie. on power on, after chip reset, or after deep sleep.

  • The wakeup pin, pin 1, can be used to wake the imp002 from a deep sleep, but only if the pin is configured with this capability before the imp002 goes into deep sleep. To configure the pin for this role, use the following code:

    hardware.pin1.configure(DIGITAL_IN_WAKEUP, callbackFunction);
    

    Once the imp002 is in deep sleep — typically with a server.sleepfor() or server.sleepuntil call — setting pin 1 to logic high will wake the device. However, Squirrel is started afresh so the registered callback request will be lost. The callback function will be called if the imp002 is already awake when the pin is triggered.

    The imp002 wakes when the pin is high, not on the rising edge. The external device responsible for signalling the wakeup pin should subsequently drive the pin low; the imp002 cannot return to sleep if the wakeup pin is high. An internal pull-down is automatically enabled when wakeup is configured.