Universal EXTension (UEXT) is a connector layout which includes power and three serial buses: Asynchronous, I2C, and SPI. The connector layout was specified by Olimex Ltd and declared an open-project that is royalty-free.
The UEXT connector consists of 10 pins, in a two row by five male pin configuration, with a plastic keyed-shroud. All pins have a spacing of 0.1 inch (2.54 mm). The socket is mated with a 2x5 (10-pin) IDC female connector, and typically connected to a Ribbon cable. The UEXT cable assembly is referred to as a 10-pin IDC Connector Ribbon Cable. These cables are readily available and cheap.
The UEXT connector presents power and three serial buses: Asynchronous, I2C, SPI. All pins conform to 3.3 volt digital logic. The asynchronous serial bus requires additional level-shifting circuits and connectors to support RS-232, RS-422, RS-485, DMX512, or MIDI.
|3||TXD||O||PP||Transmit Data for Async Serial bus|
|4||RXD||I||PP||Receive Data for Async Serial bus|
|5||SCL||O||OD||Clock for I2C bus|
|6||SDA||I/O||OD||Bidirectional Serial Data for I2C bus|
|7||MISO||I||PP||Serial Data In for SPI bus|
|8||MOSI||O||PP||Serial Data Out for SPI bus|
|9||SCK||O||PP||Clock for SPI bus|
|10||SSEL||O||PP||Slave Select for SPI bus|
- Direction is relative to host board. I = Input, O = Output.
- S = Power Supply, PP = Push-Pull logic, OD = Open-Drain logic, all pins conform to 3.3 volt digital logic
Alternate pin uses
The functionality of most microcontroller pins are multipurpose, thus allowing the engineer to redefine the purpose of the pin. It is fairly common that a pin will have a choice to be either a general purpose I/O or a peripheral.
If a microcontroller pin is connected to the UEXT connector and redefined to be something other than Asynchronous Serial Bus / I2C Bus / SPI Bus, then some thought should be given to the design before making the changes. To minimize the chance of damaging various UEXT boards or the microcontroller, redefined pins should continue to adhere to the direction of the data in this table or alternately redefined as an input. For a safe design, it is recommended that you don't redefine pins 4 or 7 to be outputs, and use pin 6 as an output with caution.
If a person is concerned about damaging the data lines of the microcontroller, additional over-voltage protection diodes and/or separate drivers should be added between the microcontroller and UEXT connector. Additionally, a resettable fuse might be added between the host power and pin 1 to protect against over-current conditions.
Some devices use a layout based on the UEXT connector but have chosen not to implement all of the functionality. In particular the asynchronous serial connection may have been omitted. In these cases the spare pins are usually assigned other purposes, such as connecting to a device reset line, so care should be taken to check the exact connector layout on the schematic of a particular device.
- UEXT I/O Boards
- Host Boards
- Olimex Olimexino-328, 16 MHz ATMEGA328 (Atmel AVR)
- Olimex Olimexino-STM32, 72 MHz STM32F103RBT6 (ARM Cortex-M3)
- Olimex LPC-P1114, 50 MHz NXP LPC1114 (ARM Cortex-M0)
- Olimex DuinoMite, 80 MHz MicroChip PIC32MX795 (PIC32)
- Olimex STM32-P207, 120 MHz ST STM32F207 (ARM Cortex-M3)
- IDC connector and Ribbon Cable.
- Asynchronous serial bus, using a UART, such as RS-232 and RS-422.
- I2C serial bus, also known as "2-wire" bus.
- SPI serial bus.