Pinout for the i.MXRT machine modules¶
UART pin assignment¶
The pin assignment of UARTs to pins is fixed. The UARTs are numbered 0..8. The rx/tx pins are assigned according to the tables below:
Board / Pin |
UART0 |
UART1 |
UART2 |
UART3 |
---|---|---|---|---|
Teensy 4.0 |
0/1 |
7/8 |
14/15 |
|
Teensy 4.1 |
0/1 |
7/8 |
14/15 |
|
MIMXRT1010-EVK |
Debug USB |
D0/D1 |
D7/D6 |
|
MIMXRT1015-EVK |
Debug USB |
D0/D1 |
D7/A1 |
|
MIMXRT1020-EVK |
Debug USB |
D0/D1 |
D9/D6 |
D10/D13 |
MIMXRT1050-EVK |
Debug USB |
D0/D1 |
D7/D6 |
D8/D9 |
MIMXRT1050-EVKB |
Debug USB |
D0/D1 |
D7/D6 |
D8/D9 |
MIMXRT1060-EVK |
Debug USB |
D0/D1 |
D7/D6 |
D8/D9 |
MIMXRT1064-EVK |
Debug USB |
D0/D1 |
D7/D6 |
D8/D9 |
MIMXRT1170-EVK |
Debug USB |
D0/D1 |
D12/D11 |
D10/D13 |
Adafruit Metro M7 |
D0/D1 |
D7/D3 |
A1/A0 |
|
Olimex RT1010Py |
RxD/TxD |
D7/D8 |
D5/D6 |
|
Seeed ARCH MIX |
J3_19/J3_20 |
J4_16/J4_17 |
J4_06/J4_07 |
Board / Pin |
UART4 |
UART5 |
UART6 |
UART7 |
UART8 |
---|---|---|---|---|---|
Teensy 4.0 |
16/17 |
21/20 |
25/24 |
28/29 |
|
Teensy 4.1 |
16/17 |
21/20 |
25/24 |
28/29 |
34/35 |
MIMXRT1010-EVK |
|||||
MIMXRT1015-EVK |
|||||
MIMXRT1020-EVK |
D15/D14 |
A1/A0 |
|||
MIMXRT1050-EVK |
A1/A0 |
||||
MIMXRT1050-EVKB |
A1/A0 |
||||
MIMXRT1060-EVK |
A1/A0 |
||||
MIMXRT1064-EVK |
A1/A0 |
||||
MIMXRT1170-EVK |
D15/D14 |
D25/D26 |
D33/D34 |
D35/D36 |
|
Olimex RT1010Py |
|||||
Seeed ARCH MIX |
J4_10/J4_11 |
J5_08/J5_12 |
PWM pin assignment¶
Pins are specified in the same way as for the Pin class. The following tables show the assignment of the board Pins to PWM modules:
Pin/ MIMXRT |
1010 |
1015 |
1020 |
1050/60/64 |
1170 |
Metro M7 |
---|---|---|---|---|---|---|
D0 |
Q1/1 |
F1/1/B |
||||
D1 |
Q1/0 |
F1/1/A |
||||
D2 |
F1/3/B |
F1/3/A |
F1/3/B |
|||
D3 |
F1/3/A |
F1/0/A |
F2/3/B |
F4/0/A |
F1/2/A |
|
D4 |
F1/3/A (*) |
Q1/2 |
Q2/1 |
F2/3/A |
Q4/2 |
F1/0/B |
D5 |
F1/0/B (*) |
F1/0/B |
F2/3/A |
F1/3/A |
F1/2/B |
F1/0/A |
D6 |
F1/2/B |
F2/0/A |
Q3/2 |
F1/0/A |
||
D7 |
F1/0/A |
Q3/3 |
||||
D8 |
F1/0/A |
F1/1/B |
F1/0/B |
F1/1/X |
Q4/3 |
F1/3/A |
D9 |
F1/1/B (*) |
F1/2/A |
F2/0/B |
F1/0/X |
F1/0/B |
F1/3/B |
D10 |
F1/3/B |
F2/2/B |
F1/0/B (*) |
F2/2/B |
F1/2/A |
|
D11 |
F1/2/A |
F2/1/A |
F1/1/A (*) |
F1/2/B |
||
D12 |
F1/2/B |
F2/1/B |
F1/1/B (*) |
F1/1/A |
||
D13 |
F1/3/A |
F2/2/A |
F1/0/A (*) |
F2/2/A |
F1/1/B |
|
D14 |
F1/0/B |
F2/3/B |
F1/0/B |
|||
D15 |
F1/0/A |
F2/3/A |
F1/0/A |
|||
A0 |
F1/2/A |
|||||
A1 |
F1/3/X |
F1/3/B |
F1/2/B |
|||
A2 |
F1/2/X |
F1/3/A |
F1/3/A |
|||
A3 |
F1/2/A |
F1/3/B |
F1/3/B |
|||
A4 |
Q3/1 |
F1/2/X |
||||
A5 |
Q3/0 |
|||||
D31 |
F1/2/B |
|||||
D32 |
F1/2/A |
|||||
D33 |
F1/1/B |
|||||
D34 |
F1/1/A |
|||||
D35 |
F1/0/B |
|||||
D36 |
F1/0/A |
Pins denoted with (*) are by default not wired at the board.
Pin |
Teensy 4.0 |
Pin |
Teensy 4.1 |
---|---|---|---|
0 |
F1/1/X |
0 |
F1/1/X |
1 |
F1/0/X |
1 |
F1/0/X |
2 |
F4/2/A |
2 |
F4/2/A |
3 |
F4/2/B |
3 |
F4/2/B |
4 |
F2/0/A |
4 |
F2/0/A |
5 |
F2/1/A |
5 |
F2/1/A |
6 |
F2/2/A |
6 |
F2/2/A |
7 |
F1/3/B |
7 |
F1/3/B |
8 |
F1/3/A |
8 |
F1/3/A |
9 |
F2/2/B |
9 |
F2/2/B |
10 |
Q1/0 |
10 |
Q1/0 |
11 |
Q1/2 |
11 |
Q1/2 |
12 |
Q1/1 |
12 |
Q1/1 |
13 |
Q2/0 |
13 |
Q2/0 |
14 |
Q3/2 |
14 |
Q3/2 |
15 |
Q3/3 |
15 |
Q3/3 |
18 |
Q3/1 |
18 |
Q3/1 |
19 |
Q3/0 |
19 |
Q3/0 |
22 |
F4/0/A |
22 |
F4/0/A |
23 |
F4/1/A |
23 |
F4/1/A |
24 |
F1/2/X |
24 |
F1/2/X |
25 |
F1/3/X |
25 |
F1/3/X |
28 |
F3/1/B |
28 |
F3/1/B |
29 |
F3/1/A |
29 |
F3/1/A |
33 |
F2/0/B |
33 |
F2/0/B |
36 |
F2/3/A |
||
37 |
F2/3/B |
||
DAT1 |
F1/1/B |
42 |
F1/1/B |
DAT0 |
F1/1/A |
43 |
F1/1/A |
CLK |
F1/0/B |
44 |
F1/0/B |
CMD |
F1/0/A |
45 |
F1/0/A |
DAT2 |
F1/2/A |
46 |
F1/2/A |
DAT3 |
F1/2/B |
47 |
F1/2/B |
48 |
F1/0/B |
||
49 |
F1/2/A |
||
50 |
F1/2/B |
||
51 |
F3/3/B |
||
52 |
F1/1/B |
||
53 |
F1/1/A |
||
54 |
F3/0/A |
Pin |
Seeed ARCH MIX |
---|---|
J3_04 |
Q4/3 |
J3_10 |
Q1/3 |
J3_12 |
Q2/3 |
J3_13 |
Q3/3 |
J3_16 |
Q3/0 |
J3_17 |
Q3/1 |
J3_19 |
F1/3/X |
J3_20 |
F1/2/X |
J4_08 |
F4/0/A |
J4_09 |
F4/1/A |
J4_16 |
Q3/2 |
J4_17 |
Q3/3 |
J5_32 |
Q1/0 |
J5_28 |
Q1/1 |
J5_29 |
Q1/2 |
J5_30 |
Q2/0 |
J5_04 |
Q2/1 |
J5_05 |
Q2/3 |
J5_06 |
F2/0/A |
J5_07 |
F2/0/B |
J5_08 |
F2/1/A |
J5_12 |
F2/1/B |
J5_13 |
F2/2/A |
J5_14 |
F2/2/B |
J5_23 |
F1/3/A |
J5_24 |
F1/3/B |
J5_25 |
F2/3/A |
J5_26 |
F2/3/B |
J5_42 |
Q3/0 |
J5_43 |
Q3/1 |
J5_50 |
F1/0/X |
LED_RED |
F2/3/A |
LED_GREEN |
F1/3/A |
LED_BLUE |
F1/3/B |
Pin |
Olimex RT1010PY |
---|---|
D0 |
|
D1 |
F1/0/B |
D2 |
F1/0/A |
D3 |
F1/1/B |
D4 |
F1/1/A |
D5 |
F1/2/B |
D6 |
F1/2/A |
D7 |
F1/3/B |
D8 |
F1/3/A |
D9 |
|
D10 |
F1/0/B |
D11 |
F1/0/A |
D12 |
F1/1/B |
D13 |
F1/1/A |
D14 |
|
A0 |
|
A1 |
F1/2/B |
A2 |
F1/2/A |
A3 |
F1/3/B |
A4 |
F1/3/A |
SDI |
F1/3/X |
SDO |
F1/2/X |
CS0 |
F1/1/X |
SCK |
F1/0/X |
Legend:
Qm/n: QTMR module m, channel n
Fm/n/l: FLEXPWM module m, submodule n, channel l. The pulse at a X channel is always aligned to the period start.
Pins without a PWM signal are not listed. A signal may be available at more than one Pin. FlexPWM pins may also be pure CPU pin, not assigned to a board signal. In that case the PWM output is disabled. The PWM channel of a submodule 0 may still be used as synchronization source for other channels of the same module, unless used by another peripheral.
Submodule 0 pins for i.MX RT1011:
Pin |
Channel |
---|---|
Pin.cpu.GPIO_01 |
B |
Pin.cpu.GPIO_02 |
A |
Pin.cpu.GPIO_AD_12 |
X |
Pin.cpu.GPIO_SD_01 |
B |
Pin.cpu.GPIO_SD_02 |
A |
Submodule 0 pins for i.MX RT1021:
Pin |
Module & Channel |
---|---|
Pin.cpu.GPIO_AD_B1_06 |
FLEXPWM1 Channel A |
Pin.cpu.GPIO_AD_B1_07 |
FLEXPWM1 Channel B |
Pin.cpu.GPIO_EMC_26 |
FLEXPWM1 Channel A |
Pin.cpu.GPIO_EMC_27 |
FLEXPWM1 Channel B |
Pin.cpu.GPIO_AD_B0_14 |
FLEXPWM2 Channel A |
Pin.cpu.GPIO_AD_B0_15 |
FLEXPWM2 Channel B |
Pin.cpu.GPIO_EMC_10 |
FLEXPWM2 Channel X |
Pin.cpu.GPIO_EMC_38 |
FLEXPWM2 Channel A |
Pin.cpu.GPIO_EMC_39 |
FLEXPWM2 Channel B |
Submodule 0 pins for i.MX RT1052, i.MX RT1062 and i.MX RT1064:
Pin |
Module & Channel |
---|---|
Pin.cpu.GPIO_AD_B0_02 |
FLEXPWM1 Channel X |
Pin.cpu.GPIO_EMC_23 |
FLEXPWM1 Channel A |
Pin.cpu.GPIO_EMC_24 |
FLEXPWM1 Channel B |
Pin.cpu.GPIO_SD_B0_00 |
FLEXPWM1 Channel A |
Pin.cpu.GPIO_SD_B0_01 |
FLEXPWM1 Channel B |
Pin.cpu.GPIO_B0_06 |
FLEXPWM2 Channel A |
Pin.cpu.GPIO_B0_07 |
FLEXPWM2 Channel B |
Pin.cpu.GPIO_EMC_06 |
FLEXPWM2 Channel A |
Pin.cpu.GPIO_EMC_07 |
FLEXPWM2 Channel B |
Pin.cpu.GPIO_EMC_29 |
FLEXPWM3 Channel A |
Pin.cpu.GPIO_EMC_30 |
FLEXPWM3 Channel B |
Pin.cpu.GPIO_AD_B1_08 |
FLEXPWM4 Channel A |
Pin.cpu.GPIO_EMC_00 |
FLEXPWM4 Channel A |
Pin.cpu.GPIO_EMC_01 |
FLEXPWM4 Channel B |
Submodule 0 pins for i.MX RT1176
Pin |
Module & Channel |
---|---|
Pin.cpu.GPIO_EMC_B1_00 |
FLEXPWM4 Channel A (*) |
Pin.cpu.GPIO_EMC_B1_01 |
FLEXPWM4 Channel B (*) |
Pin.cpu.GPIO_EMC_B1_06 |
FLEXPWM2 Channel A (*) |
Pin.cpu.GPIO_EMC_B1_07 |
FLEXPWM2 Channel B (*) |
Pin.cpu.GPIO_EMC_B1_23 |
FLEXPWM1 Channel A (*) |
Pin.cpu.GPIO_EMC_B1_24 |
FLEXPWM1 Channel B (*) |
Pin.cpu.GPIO_EMC_B1_29 |
FLEXPWM3 Channel A (*) |
Pin.cpu.GPIO_EMC_B1_30 |
FLEXPWM3 Channel B (*) |
Pin.cpu.GPIO_AD_00 |
FLEXPWM1 Channel A |
Pin.cpu.GPIO_AD_01 |
FLEXPWM1 Channel B |
Pin.cpu.GPIO_AD_24 |
FLEXPWM2 Channel A |
Pin.cpu.GPIO_AD_25 |
FLEXPWM2 Channel B |
Hardware SPI pin assignment¶
The SPI signals have fixed assignments to GPIO pins. It depends on the board design, which SPI’s signals are exposed to the user, as detailed in the table below. The signal order in the table is: CS0, CS1, MOSI, MISO, CLK.
Board / Pin |
SPI0 |
SPI1 |
SPI2 |
---|---|---|---|
Teensy 4.0 |
10/-/11/12/13 |
0/-/26/1/27 |
|
Teensy 4.1 |
10/37/11/12/13 |
0/-/26/1/27 |
-/29/50/54/49 |
MIXMXRT1010-EVK |
D10/D7/D11/D12/D13 |
||
MIXMXRT1015-EVK |
D10/-/D11/D12/D13 |
||
MIXMXRT1020-EVK |
D10/-/D11/D12/D13 |
A3/D0/A5/A4/A0 |
|
MIXMXRT1050-EVK |
D10/-/D11/D12/D13 (*) |
||
MIXMXRT1050-EVKB |
D10/-/D11/D12/D13 (*) |
||
MIXMXRT1060-EVK |
D10/-/D11/D12/D13 (*) |
||
MIXMXRT1064-EVK |
D10/-/D11/D12/D13 (*) |
||
MIXMXRT1170-EVK |
D10/-/D11/D12/D13 |
D28/-/D25/D24/D26 |
-/-/D14/D15/D24 |
Adafruit Metro M7 |
-/-/MOSI/MISO/SCK |
||
Olimex RT1010Py |
CS0/-/SDO/SDI/SCK |
SDCARD with CS1 |
|
Seeed ARCH MIX |
J4_12/-/J4_14/J4_13/J4_15 |
J3_09/J3_05/J3_08_J3_11 |
Pins denoted with (*) are by default not wired at the board. The CS0 and CS1 signals are enabled with the keyword option cs=0 or cs=1 of the SPI object constructor.
Hardware I2C pin assignment¶
The I2C signals have fixed assignments to GPIO pins. It depends on the board design, which I2C’s signals are exposed to the user, as detailed in the table below. The signal order in the table is: SDA, SCL.
Board / Pin |
I2C 0 |
I2C 1 |
I2C 2 |
I2C 3 |
I2C 4 |
---|---|---|---|---|---|
Teensy 4.0 |
18/19 |
17/16 |
25/24 |
||
Teensy 4.1 |
18/19 |
17/16 |
25/24 |
||
MIXMXRT1010-EVK |
D14/D15 |
D0/D1 |
|||
MIXMXRT1015-EVK |
D14/D15 |
||||
MIXMXRT1020-EVK |
D14/D15 |
A4/A5 |
D0/D1 |
||
MIXMXRT1050-EVK |
A4/A5 |
D1/D0 |
|||
MIXMXRT1050-EVKB |
A4/A5 |
D1/D0 |
|||
MIXMXRT1060-EVK |
A4/A5 |
D1/D0 |
|||
MIXMXRT1064-EVK |
A4/A5 |
D1/D0 |
|||
MIXMXRT1170-EVK |
D14/D15 |
D1/D0 |
A4/A5 |
D26/D25 |
D19/D18 |
Adafruit Metro M7 |
D14/D15 |
D0/D1 |
|||
Olimex RT1010Py |
SDA1/SCL1 |
SDA2/SCL2 |
|||
Seeed ARCH MIX |
J3_17/J3_16 |
J4_06/J4_07 |
J5_05/J5_04 |
Hardware I2S pin assignment¶
Pin assignments for a few MIMXRT boards:
Board |
ID |
MCK |
SCK_TX |
WS_TX |
SD_TX |
SCK_RX |
WS_RX |
SD_RX |
---|---|---|---|---|---|---|---|---|
Teensy 4.0 |
1 |
23 |
26 |
27 |
7 |
21 |
20 |
8 |
Teensy 4.0 |
2 |
33 |
4 |
3 |
2 |
5 |
||
Teensy 4.1 |
1 |
23 |
26 |
27 |
7 |
21 |
20 |
8 |
Teensy 4.1 |
2 |
33 |
4 |
3 |
2 |
5 |
||
Seeed Arch MIX |
1 |
J4_09 |
J4_14 |
J4_15 |
J14_13 |
J4_11 |
J4_10 |
J4_10 |
Adafruit Metro M7 |
1 |
D8 |
D10 |
D9 |
D12 |
D14 |
D15 |
D13 |
Olimex RT1010Py |
1 |
D8 |
D6 |
D7 |
D4 |
D1 |
D2 |
D3 |
Olimex RT1010Py |
3 |
D10 |
D9 |
D11 |
||||
MIMXRT_DEV |
1 |
“MCK” |
“SCK_TX” |
“WS_TX” |
“SD_TX” |
“SCK_RX” |
“WS_RX” |
“SD_RX” |
Symbolic pin names are provided for the MIMXRT_10xx_DEV boards. These are provided for the other boards as well.