Giter VIP home page Giter VIP logo

ux2's Introduction

UX2: Universal Extension Bus

UNDER CONSTRUCTION - LIABLE TO CHANGE

UX2 is an open source, connector-agnostic, board-to-board communication bus. It supports multiple interface protocols, facilitating connection to a vast range of commerically available add-on modules from popular venodors.

Quick Reference

There are four variants which determine the function of the outer pins...

UX2-GPIO – four GPIO
UX2-GPIO

UX2-ALT – two GPIO, one addtional I2C
UX2-ALT

UX2-1IS – 1-Wire, Interrupt and Sound-Wire
Note: Not suitable for hosts that rely on energy harvesting
UX2-1IS

UX2-I2C – two additional I2C
UX2-I2C

See also: Tips on pin variant selection

Pins / Protocols

UX2 Protocol
!Gx GPIO
!W 1-WIRE
!INT INTERRUPT
3V3 GND POWER
RXD TXD UART / Asynch
SDAx SCLx I2C / SMBus
MISO MOSI SCK SSEL SPI
SWD SWC SOUND-WIRE
  • GPIO – General Purpose Input/Output
  • Interrupt – wake master/host MCU via slave/module triggered interrupt
  • UART / Async - serial communication bus
  • Sound-Wire

Modules

UX2 is compatible with hundreds of commercially available and open source modules. For more information, see Modules.

Sound-Wire components

UX2-1IS pin variant, with following wiring:

  • SWD connects to Data
  • SWC connects to Clock or Clk

Note: In circuit schematics, the clock connections are often omitted for sake of clarity (focus is on the data); the clock connection is always required regardless.

RS232, RS485, IRDA, USB, SD/MMC

Use the UEXT bus (see UEXT section above) in conjunction with Olimex Interface Modules.

Any pin variant can be used as they don't affect the UEXT pins.

License

See License.

ux2's People

Contributors

originalfoo avatar

Stargazers

 avatar

Watchers

 avatar  avatar

ux2's Issues

Pinout select switch location

Assuming a standard connector is used for UX2, the pinout select switch component could be placed adjacent to it in such a way that, if a cable is present in the connector, the switch will be inaccessible.

This would ensure that cable must be removed prior to changing pinout, reducing chances of fried circuits.

The power select switch (see: #1), if implemented, would benefit from same approach.

Note: Ensure that putting in the cable doesn't risk accidental alteration of switch settings.

MCU program / custom mode

Separating out from #1 in to dedicated issue to track.

Addition of a power select switch could potentially facilitate, in combination with pin variant switches, additional modes for the MCU and UX2 bus:

  • Reset MCU
  • Program MCU
  • Custom Bus Mode

This would facilitate custom updates to MCU and bus function, making it much more useful to makers.

Voltage select

SMBus operates at lower voltage (2.1V) compared to I2C (3.3V). Rotary switch to select voltage could be useful in this instance.

Furthermore, in combination with pinout select switches, could possibly be used to provide alternate modes for the bus. Specifically, depending on accuracy of GPIO that monitors the pin variant switches, the voltage select could provide a bunch of extra modes.

Example: If the power select had 3 states (1, 2, 3):

  1. Custom bus mode / program mode
  2. 2.1V
  3. 3.3V

With power select set to 1, the MCU could enter a programmable state allowing end-user to completely reconfigure the UX2 bus to their own needs. For example, a bus consisting primarily of GPIO with custom code running on the MCU to translate between it and master MCU.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.