Expansion Connectors

The Odroid-XU4/3 provides one 30-pin dual row expansion header “CON10”. The location and pinout of these connectors is illustrated below. All signals on expansion headers are 1.8V except PWRON signal.


CON10 - 2×15 pins

Pin Number Net Name GPIO & Export No Pin Number Net Name GPIO & Export No
1 5V0 2 GND
3 ADC_0.AIN0 XADC0AIN_0 4 UART_0.RTSN GPA0.2 (#173)
5 UART_0.CTSN GPA0.3 (#174) 6 UART_0.RXD GPA0.0 (#171)
7 SPI_1.MOISI GPA2.7 (#192) 8 UART_0.TXD GPA0.1 (#172)
9 SPI_1.MISO GPA2.6 (#191) 10 SPI_1.CLK GPA2.4 (#189)
11 SPI_1.CSN GPA2.5 (#190) 12 PWRON
13 XE.INT13 GPX1.5 (#21) 14 I2C_1.SCL GPB3.3 (#210)
15 XE.INT10 GPX1.2 (#18) 16 I2_C1.SDA GPB3.2 (#209)
17 XE.INT14 GPX1.6 (#22) 18 XE.INT11 GPX1.3 (#19)
19 XE.INT22 GPX2.6 (#30) 20 XE.INT20 GPX2.4 (#28)
21 XE.INT21 GPX2.5 (#29) 22 XE.INT23 GPX2.7 (#31)
23 ADC_0.AIN1 XADC0AIN_1 24 XE.INT17 GPX2.1 (#25)
25 XE.INT15 GPX1.7 (Soft I2C SCL) (#23) 26 XE.INT16 GPX2.0 (#24)
27 XE.INT25 GPX3.1 (Soft I2C SDA) (#33) 28 GND
29 VDD_IO(1.8V) 30 GND

OS configuration

If you use Ubuntu 14.04 image, you must consider this. Ubuntu 15.04 image has a proper configuration by default.
The IOBARDUse the IO Expansion Board modules are loaded automatically when the OS boots.
So you will need to add the modules into the blacklist to use more GPIOs.

Open /etc/modprobe.d/blacklist.conf file and add drivername using following syntax:

blacklist ioboard_bh1780
blacklist ioboard_bmp180
blacklist ioboard_keyled

GPIO Map for WiringPi Library (CON10 2 x 15)

Net Name GPIO & Export No WiringPi GPIO Header Pin Header Pin WiringPi GPIO GPIO & Export No Net Name
5V0 5V0 1 2 GND GND
ADC_0.AIN0 AIN0(1.8V Max) 3 4 GPIO_01 GPA0.2(#173) UART_0.RTSN
UART_0.CTSN GPA0.3(#174) GPIO_00 5 6 GPIO_16 GPA0.0(#171) UART_0.RXD
SPI_1.MOSI GPA2.7(#192) GPIO_12 7 8 GPIO_15 GPA0.1(#172) UART_0.TXD
SPI_1.MISO GPA2.6(#191) GPIO_13 9 10 GPIO_14 GPA2.4(#189) SPI_1.CLK
SPI_1.CSN GPA2.5(#190) GPIO_10 11 12 PWR_ON(INPUT) PWR_ON
XE.INT13 GPX1.5(#21) GPIO_02 13 14 GPIO_09 GPB3.3(#210) I2C_1.SCL
XE.INT10 GPX1.2(#18) GPIO_07 15 16 GPIO_08 GPB3.2(#209) I2C_1.SDA
XE.INT14 GPX1.6(#22) GPIO_03 17 18 GPIO_19 GPX1.3(#19) XE.INT11
XE.INT22 GPX2.6(#30) GPIO_22 19 20 GPIO_21 GPX2.4(#28) XE.INT20
XE.INT21 GPX2.5(#29) GPIO_26 21 22 GPIO_23 GPX2.7(#31) XE.INT23
ADC_0.AIN3 AIN3(1.8V Max) 23 24 GPIO_11 GPX2.1(#25) XE.INT17
XE.INT15 GPX1.7(#23) GPIO_05 25 26 GPIO_06 GPX2.0(#24) XE.INT16
XE.INT25 GPX3.1(#33) GPIO_27 27 28 GND GND
VDD_IO VDD_IO(1.8V) 29 30 GND GND

GPIO Map for WiringPi Library (Shifter-Shield 40 Pin)

GPIO WiringPi Name Mode Initial Level Header Pin Header Pin Initial Level Mode Name WiringPi GPIO
3.3V 1 2 5v
209 8 I2C1.SDA ALT5 1 3 4 5v
210 9 I2C1.SCL ALT5 1 5 6 0v
18 7 GPIO. 18 IN 0 7 8 1 ALT5 UART0.TX 15 172
0v 9 10 0 ALT5 UART0.RX 16 171
174 0 GPIO.174 ALT5 1 11 12 0 ALT5 GPIO.173 1 173
21 2 GPIO. 21 IN 0 13 14 0v
22 3 GPIO. 22 IN 0 15 16 0 IN GPIO. 19 4 19
3.3v 17 18 0 IN GPIO. 23 5 23
192 12 MOSI ALT5 1 19 20 0v
191 13 MISO ALT5 1 21 22 0 IN GPIO. 24 6 24
189 SCLK ALT5 0 23 24 0 IN CE0 10 190
0v 25 26 0 IN GPIO. 25 11 25
187 30 I2C5.SDA ALT5 1 27 28 1 ALT5 I2C_5.SCL 31 188
28 21 GPIO. 28 IN 0 29 30 0v
30 22 GPIO. 30 IN 0 31 32 0 IN GPIO. 29 26 29
31 23 GPIO. 31 IN 0 33 34 0v
POWER ON ALT5 0 35 36 0 IN GPIO. 33 27 33
AIN.0 ALT5 0 37 38 0 ALT5 1v8
0v 39 40 0 ALT5 AIN.3

The “gpio readall” shows the pin-map of 40-pin-Shifter-Shield not 30-Pin-header.