====== Introduction U3 I/O shield on ubuntu ====== {{http://dn.odroid.com/homebackup/U3IOShieldR03AS.jpg?300|}} The ODROID-U3 I/O Shield board can be plugged on the neat of ODROID-U3 via tiny 8 pin and 4 pin IO connector.\\ The shape and dimension are exactly same as ODROID-U3. It comes with 12pcs of PCB spacers for easier and solid stacking assembly.\\ The IO shield has 3 blocks. * I2C IO expansion block * Arduino Compatible block * SPI Interface block(ODROID-U3+ and I/O shield Rev_0.3 or later) [[http://www.hardkernel.com/main/products/prdt_info.php?g_code=G138760240354|Where to buy]] ===== I2C IO expansion block ===== TI's TCA6416A I2C to Parallel Port Expander is used in this block.\\ The major benefit of this device is its wide VCC range.\\ It can operate from 1.65 V to 5.5 V on the P-port side and on the SDA/SCL side separately.\\ It allows bidirectional voltage-level translation GPIO Expansion between 1.8V SCL/SDA(VCCI) and 5Volt Port(VCCP).\\ == Access GPIO from linux user space. == Standard Linux kernel have inside a special interface allow to access to GPIO pins. 1. Need to super-user permition sudo su [sudo] password for odroid : odroid 2. Load the kernel modules modprobe i2c-gpio-custom bus0=4,200,199 modprobe gpio-pca953x 3. Set the I2C address of the module echo tca6416 0x20 > /sys/devices/platform/i2c-gpio.4/i2c-4/new_device 4. Enable GPIO's on the board.\\ **If Kernel version is higher than 3.8.13.30 gpio_n = 341 ~ 356**\\ else Kernel version is older than 3.8.13.30 gpio_n = 289 ~ 304\\ echo NUM > /sys/class/gpio/export cd /sys/class/gpio/gpioNUM echo out > direction echo 1 > value echo 0 > value ===== Arduino Compatible block ===== Atmel’s ATmega328P is used as a slave CPU to expand the IO port. \\ You can use the Arduino IDE on ODROID-U3 to build & upload your sketches to this Arduino-compatible block, \\ without additional/external cable connections.\\ Like the Arduino Uno, it has 14 digital input/output pins (of which 6 can be used as PWM outputs), \\ 6 analog inputs which provides 10 bits of resolution. They operate at 5 volts range.\\ ===== SPI Interface block(ODROID-U3+ and I/O shield Rev_0.3 or later) =====