Skip to main content

impC001 Pin Mux

This information is preliminary and subject to change

In addition to LTE cellular connectivity, the impC001 provides the most extensive array of GPIO and standard buses of any imp module yet, including seven UARTs, five SPI buses and four I²C buses, plus a single USB host port.

Pin Mux

Pins A—W

Pin uart
DCAB
uart
EVMT
uart
NU
uart
HJKL
uart
PQSR
spi
DCAB
spi
PQRS
spi
EVMT
i2c
JH
i2c
KL
usb
AB
ADC DAC PWM Wake
From
Sleep
State
Change
Callback
A RTS SCK DATA+ Yes
B CTS NSS DATA-
C RX MISO Yes
D TX MOSI Yes Yes
E TX MOSI Yes
F Yes
G
H TX SDA Yes Yes
J RX SCL Yes Yes
K RTS SCL
L CTS SDA Yes
M RTS SCK Yes Yes
N TX
P TX MOSI Yes
Q RX MISO
R CTS SCK
S RTS NSS Yes Yes
T CTS NSS Yes Yes
U RX Yes Yes
V RX MISO Yes Yes
W Yes Yes

Pins XA—XD

Pin uart
XBADC
i2c
XBA
i2c
XDC
PWM
XA RX SDA
XB TX SCL
XC CTS SDA
XD RTS SCL Yes

Pins YA—YU

Pin uart
YABCD
spi
YJTHU
spi
YRFES
ADC DAC PWM Wake
From
Sleep
State
Change
Callback
PHY SDIO
YA TX CLK
YB RX CMD
YC RTS DATA0
YD CTS DATA1
YE SCK DATA2
YF MISO DATA3
YG CLK
YH SCK TXEN
YJ MOSI Yes Yes CRSDV
YK Yes Yes Yes MDIO
YL Yes Yes Yes MDC
YM TXD0
YN TXD1
YP Yes RXD0
YQ Yes RXD1
YR MOSI Yes
YS NSS Yes Yes
YT MISO Yes Yes
YU NSS Yes

Notes

Updates

  • Breaking Change From impOS 39.10, pins W, YK and YL now have state-change callbacks; pins B, R and YU do not have state-change callbacks.

impC001 Identification

Call imp.info() — this returns a meta object with the property type, which is is a string containing the imp module name:

if (imp.info().type == "impC001") {
  // Code running on impC001...
}

Reading Bus Names

Bus names prefixed with X or Y should be read with that prefix being applied to all of the subsequent pins included in the bus name, not just the first. For example, uartXBADC indicates that this UART uses pins XB, XA, XD and XC, not pins XB, A, D and C or pins X, B, A, D and C.

Wake pins

Currently, only pinW is supported for wake-from-sleep. The additional wake pins will be supported in impOS 42.

DAC

Whilst DAC functionality is available on the impC001 pins named in the table above, they are not currently accessible via hardware.fixedfrequencydac APIs.

UART

The UARTs provided by the impC001 initially have a minimum speed of 1526 baud and a theoretical maximum of 12.5Mbaud. If your application requires lower rates, please contact us.

USB

The impC001 has a single USB bus accessed via pins A and B and controlled in Squirrel using hardware.usbAB.

Ethernet

The impC001 when running impOS 42 or later supports an Ethernet PHY connected to the following pins:

impC001 Pin PHY Pin
YH CLK
YH TXEN
YJ CRSDV
YK MDIO
YL MDC
YM TXD0
YN TXD1
YP RXD0
YQ RXD1

WiFi

The impC001 when running impOS 42 or later supports an external 802.11abgn WiFi via an external SDIO WiFi module. SDIO is available on the following pins:

impC001 Pin SDIO Pin
YA CLK
YB CMD
YC DATA0
YD DATA1
YE DATA2
YF DATA3