There are 400 pins on the chip. 160 of the pins are multiplexed, meaning that each pin can perform multiple functions. This is how the EV3 uses each multiplexed pin. See section 10.4.9 in the AM1808 technical reference manual to see where this came from.
This is based on the lms2012 code and hardware schematic revision J. Both are not 100% reliable representations of the mass produced hardware, so there could be inaccurate information here. You have been warned.
MUX | Function | Schematic Cross- reference |
Usage | |
---|---|---|---|---|
0 | 28 | UART2 CTS | CTSMCU_RTSBT | Bluetooth |
24 | UART2 RTS | RTSMCU_CTSBT | Bluetooth | |
20 | AHCLKX | PRUCLK | PRU clock for soft UARTs | |
16 | AHCLKR | PRUCLK | PRU clock for soft UARTs | |
12 | GPIO 0-12 | DIGIC0 | Input Port 3 Pin 5 I/O | |
8 | GPIO 0-13 | DIGIB1 | Input Port 2 Pin 6 I/O / I2C Data | |
4 | GPIO 0-14 | DIGIB0 | Input Port 2 Pin 5 I/O | |
0 | GPIO 0-15 | DIGIA1 | Input Port 1 Pin 6 I/O / I2C Data | |
1 | 28 | ECAP1 APWM1 | MDPWM | Output Port D Motor Driver |
24 | GPIO 0-1 | DIGID0 | Input Port 4 Pin 5 I/O | |
20 | GPIO 0-2 | DIGIA0 | Input Port 1 Pin 5 I/O | |
16 | GPIO 0-3 | MBIN0 | Output Port B Pin 2 | |
12 | GPIO 0-4 | DIRA | Output Port A Pin 6 In | |
8 | GPIO 0-5 | BTCLKDIS | Pull down bluetooth "slow clock" signal | |
4 | GPIO 0-6 | ADCBATEN | A/D Converter Battery Enable (switches battery voltage to ADC channel 4) | |
0 | ECAP2 APWM2 | BTSLOWCLK | Bluetooth "slow" clock | |
2 | 28 | ECAP0 APWM0 | MCPWM | Output Port C Motor Driver |
24 | AXR1 | RXIND | Input Port 4 Pin 6 UART RXD | |
20 | AXR2 | RXINC | Input Port 3 Pin 6 UART RXD | |
16 | AXR3/ GPIO 1-11 |
TXIND | Input Port 4 Pin 5 UART TXD / I2C Clock | |
12 | AXR4/ GPIO 1-12 |
TXINC | Input Port 3 Pin 5 UART TXD / I2C Clock | |
8 | GPIO 1-13 | BUT1 | Button 1 (Enter) | |
4 | GPIO 1-14 | DIGIC1 | Input Port 3 Pin 6 I/O / I2C Data | |
0 | GPIO 1-15 | DIGID1 | Input Port 4 Pin 6 I/O / I2C Data | |
3 | 28 | N/C | ||
24 | SPI0 CS | ADCCS | SPI chip select to analog/digital converter | |
20 | UART0 TXD/ GPIO 8-3 |
TXINB | Input Port 2 Pin 5 UART TXD / I2C Clock | |
16 | UART0 RXD | RXINB | Input Port 2 Pin 6 UART RXD | |
12 | SPI0 SIMO | ADCMOSI FMOSI |
SPI data from analog/digital converter | |
8 | SPI0 SOMI | ADCMISO FMISO |
SPI data to analog/digital converter | |
4 | EPWM0B | SOUND_ARMA | PWM to speaker amplifier | |
0 | SPI0 CLK | SPI0_CLK | SPI Clock to analog/digital converter | |
4 | 28 | UART1 TXD/ GPIO 1-0 |
TXINA | Input Port 1 Pin 5 UART TXD / I2C Clock |
24 | UART1 RXD | RXINA | Input Port 1 Pin 5 UART RXD | |
20 | UART2 TXD | TXMCU_RXBT | Bluetooth | |
16 | UART2 RXD | RXMCU_TXBT | Bluetooth | |
12 | I2C0 SDA | I2C0_SDA | EEPROM I2C data | |
8 | I2C0 SCL | I2C0_SCL | EEPROM I2C clock | |
4 | SPI0 SCS0 | NPCS0 | Flash memory SPI chip select | |
0 | ? | PRU_CLK | ||
5 | 28 | GPIO 2-8 | DIRD | Output Port D Pin 6 In |
24 | GPIO 2-9 | DIRB | Output Port B Pin 6 In | |
20 | SPI1 SIMO | MOSIDIS | LCD SPI data | |
16 | GPIO 2-11 | MISODIS | LCD A0 display data/command selector | |
12 | GPIO 2-12 | CSDIS | LCD chip select (active low) | |
8 | SPI1 CLK | SCKDIS | LCD SPI Clock | |
4 | EPWM1B | MAPWM | Output Port A Motor Driver | |
0 | EPWM1A | MBPWM | Output Port A Motor Driver | |
6 | 28 | GPIO 2-0 | FHOLD | Flash memory hold (active low) |
24 | GPIO 2-1 | MBIN1 | Output Port B Pin 1 | |
20 | GPIO 2-2 | LEGDETA | Input Port 1 Pin 2 In | |
16 | N/C | |||
12 | N/C | |||
8 | GPIO 2-5 | DETB0 | Output Port B Pin 5 In | |
4 | N/C | |||
0 | GPIO 2-7 | N/C | FIQ shadowing (*was TP4 on pre-release hardware) | |
7 | 28 | GPIO 3-8 | DETC0 | Output Port C Pin 5 In |
24 | N/C | |||
20 | N/C | |||
16 | N/C | |||
12 | N/C | |||
8 | N/C | |||
4 | GPIO 3-14 | DIRC | Output Port C Pin 6 In | |
0 | GPIO 3-15 | MAIN0 | Output Port A Pin 1 | |
8 | 28 | N/C | ||
24 | N/C | |||
20 | GPIO 3-2 | HWID2 | Hardware ID (not used) | |
16 | GPIO 3-3 | PIC_EN | Bluetooth PIC enable | |
12 | GPIO 3-4 | HWID1 | Hardware ID (not used) | |
8 | GPIO 3-5 | HWID0 | Hardware ID (not used) | |
4 | GPIO 3-6 | MAIN1 | Output Port A Pin 2 | |
0 | N/C | |||
9 | 28 | N/C | ||
24 | GPIO 4-9 | BTnSHUTD | Bluetooth enable (active low) | |
20 | GPIO 4-10 | HWID3 | Hardware ID (not used) | |
16 | N/C | |||
12 | N/C | |||
8 | N/C | |||
4 | GPIO 4-14 | PIC_RST | Bluetooth PIC reset | |
0 | N/C | |||
10 | 28 | N/C | ||
24 | N/C | |||
20 | MMCSD0 DAT3 | MCI0_DA3 | SD Card Reader | |
16 | MMCSD0 DAT2 | MCI0_DA2 | SD Card Reader | |
12 | MMCSD0 DAT1 | MCI0_DA1 | SD Card Reader | |
8 | MMCSD0 DAT0 | MCI0_DA0 | SD Card Reader | |
4 | MMCSD0 CMD | MCI0_CDA | SD Card Reader | |
0 | MMCSD0 CLK | MCI0_CK | SD Card Reader | |
11 | 28 | GPIO 5-8 | INTB0 | Output Port B Pin 5 In |
24 | GPIO 5-9 | MCIN1 | Output Port C Pin 2 | |
20 | GPIO 5-10 | MDIN0 | Output Port D Pin 2 | |
16 | GPIO 5-11 | INTA0 | Output Port A Pin 5 In | |
12 | N/C | |||
8 | GPIO 5-13 | INTC0 | Output Port C Pin 5 In | |
4 | GPIO 5-14 | SD_SW | SD card detect switch | |
0 | GPIO 5-15 | DETD0 | Output Port D Pin 5 In | |
12 | 28 | GPIO 5-0 | RSTDIS | LCD reset (active low) |
24 | N/C | |||
20 | GPIO 5-2 | FWP | Flash memory write protection (active low) | |
16 | GPIO 5-3 | MDIN1 | Output Port D Pin 1 | |
12 | GPIO 5-4 | DETA0 | Output Port A Pin 1 In | |
8 | N/C | |||
4 | N/C | |||
0 | GPIO 5-7 | CTS_PIC | Bluetooth CTS | |
13 | 28 | GPIO 6-8 | MCIN0 | Output Port C Pin 1 |
24 | GPIO 6-9 | INTD0 | Output Port D Pin 5 In | |
20 | GPIO 6-10 | BUT5 | Button 5 (Back) | |
16 | GPIO 6-11 | 5VPENON | System 5V Power (used to turn off EV3) | |
12 | GPIO 6-12 | DIODE3 | LED 3 (right, red) | |
8 | GPIO 6-13 | DIODE0 | LED 0 (left, red) | |
4 | GPIO 6-14 | DIODE2 | LED 2 (right, green) | |
0 | GPIO 6-15 | SOUNDEN | Speaker amplifier enable | |
14 | 28 | N/C | ||
24 | N/C | |||
20 | N/C | |||
16 | N/C | |||
12 | N/C | |||
8 | N/C | |||
4 | GPIO 6-6 | BUT4 | Button 4 (left) | |
0 | GPIO 6-7 | DIODE1 | LED 1 (left, green) | |
15 | 28 | N/C | ||
24 | N/C | |||
20 | N/C | |||
16 | N/C | |||
12 | N/C | |||
8 | N/C | |||
4 | N/C | |||
0 | N/C | |||
16 | 28 | GPIO 7-10 | RXIND_EN TXIND_EN |
Input Port 4 buffer enable (active low) |
24 | GPIO 7-11 | LEGDETC | Input Port 3 Pin 2 In | |
20 | GPIO 7-12 | BUT3 | Button 3 (right) | |
16 | N/C | |||
12 | GPIO 7-14 | BUT2 | Button 2 (down) | |
8 | GPIO 7-15 | BUT0 | Button 0 (up) | |
4 | GPIO 6-5 | P_EN | System power enable | |
0 | N/C | |||
17 | 28 | BOOT2 | BOOT2 | Select boot device |
24 | BOOT3 | BOOT3 | Select boot device | |
20 | BOOT4 | BOOT4 | Select boot device | |
16 | BOOT5 | BOOT5 | Select boot device | |
12 | BOOT6 | BOOT6 | Select boot device | |
8 | BOOT7 | BOOT7 | Select boot device | |
4 | GPIO 7-8 | LEGDETD | Input Port 4 Pin 2 In | |
0 | GPIO 7-9 | RXINC_EN TXINC_EN |
Input Port 3 buffer enable (active low) | |
18 | 28 | GPIO 8-10 | I_ONA | Input Port 1 Pin 1 Out |
24 | GPIO 8-11 | RXINA_EN TXINA_EN |
Input Port 1 buffer enable (active low) | |
20 | GPIO 8-12 | I_ONB | Input Port 2 Pin 1 Out | |
16 | N/C | |||
12 | GPIO 8-14 | RXINB_EN TXINB_EN |
Input Port 2 buffer enable (active low) | |
8 | GPIO 8-15 | LEGDETB | Input Port 2 Pin 2 In | |
4 | BOOT0 | BOOT0 | Select boot device | |
0 | BOOT1 | BOOT1 | Select boot device | |
19 | 28 | RTCK | RTCK1 | Realtime clock output |
24 | N/C | |||
20 | N/C | |||
16 | GPIO 6-2 | ADCACK | Analog/Digital converter GPIO0 | |
12 | GPIO 6-3 | OC5V | USB1 overcurrent | |
8 | GPIO 6-4 | I_OND | Input Port 4 Pin 1 Out | |
4 | GPIO 8-8 | SW_RECHARGE | Rechargeable battery indicator | |
0 | GPIO 8-9 | I_ONC | Input Port 3 Pin 1 Out |