UEXT


Universal EXTension 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.

Physical characteristics

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. The socket is mated with a 2x5 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.

Electrical characteristics

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.
PinNameI/OLogicPrimary Use
13.3VSS+3.3 volt
2GNDSSGround
3TXDOPPTransmit Data for Async Serial bus
4RXDIPPReceive Data for Async Serial bus
5SCLOODClock for I2C bus
6SDAI/OODBidirectional Serial Data for I2C bus
7MISOIPPSerial Data In for SPI bus
8MOSIOPPSerial Data Out for SPI bus
9SCKOPPClock for SPI bus
10/SSELOPPSlave Select for SPI bus

Notes:
  1. Direction is relative to host board. I = Input, O = Output.
  2. 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.

User concerns

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. Open source UART dongles are available that are explicitly designed to be pin compatible with UEXT, and may be used to interface a UEXT device directly with a computer over USB.

5V warning

Some boards might provide 5V output on UEXT pins if they are configured for operation at 5V. For example, OLIMEXINO-328 and OLIMEXINO-32U4 have a 3.3V/5V PTH jumper that changes the power mode of the board. If the 3.3V/5V jumper is set to 5V, this jumper also changes the voltage available at pin #1 of UEXT as well as the voltage levels of all data signals available there. As the UEXT standard only defines 3.3V, many UEXT modules may not be 5V tolerant, and thus get damaged if the board has such jumper set to 5V. Users are advised to verify their boards are configured for 3.3V before connecting UEXT hardware to prevent damaging said hardware.

Parallel cables

It is possible to connect multiple UEXT devices in parallel by clamping additional IDC connectors onto the same ribbon cable. This will result in a correct distribution of power and allow data communication over I²C. However, the SPI bus will not work since all the SS lines are tied together, and neither will UART work since multiple devices are transmitting and receiving on the same lines. Series resistors are necessary on conflicting SPI and UART pins to limit short circuit currents due to conflicts, if compatibility with other UEXT devices is desired.

Similar connectors

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.

Implementations

;UEXT I/O Boards
;Host Boards