What is nodeLynk I²C Communication?
nodeLynk I²C is a physical I²C communications bus standard developed by National Control Devices in 2014. nodeLynk devices use I²C communications to communicate between an I²C Master device and a chain of I²C Node devices. nodeLynk I²C is a physical standard that does not alter the I²C communications protocol in any way.
If you are already familiar with I²C communications, you can use nodeLynk devices to quickly expand your hardware platform without the need for soldering. nodeLynk is the ideal standard for expanding popular computing platforms such as Raspberry Pi, Arduino, Feather, ESP32, or any other computing platform that supports I²C communications.
FEATURES
- Quickly Connect Expansion Devices with No Soldering
- Connect nodeLynk Master Devices to Many Popular Computing Platforms
- Raspberry Pi, Pi 2, Pi 3, Pi Zero
- Arduino Uno, Nano, Micro, and Others
- Feather, Particle Boron, Argon, and Xenon
- Espressif ESP32 & ESP8266
- Use the nodeLynk Master Device to Communicate to nodeLynk Nodes
- Relay Controllers & FET Controllers
- Pulse Wide Modulators
- GPIO Expansion Devices
- Mini Modules
- FET Controllers
- 4-20mA Input and Output Devices
- 0-10V ADC and DAC Expansion Devices
- nodeLynk Uses Standard I²C Communications to Speak to All Expansions
- Chain Devices Together using the nodeLynk I²C Expansion Standard
- Connect nodeLynk Nodes using USB or Wireless Communications
- Use Multiplexers to add more nodeLynk I²C Expansion Ports
How are nodeLynk I²C Devices Connected?
Start by selecting a nodeLynk Master
nodeLynk devices are easy to connect. First, start by selecting a nodeLynk Master. The nodeLynk Master adapts your favorite computing platform to the nodeLynk bus standard. The Raspberry Pi (above) is shown connected to a nodeLynk Master adapter with nodeLynk devices chained to it using I²C communications. For proper operation of the chain each nodeLynk device must have a different I²C address. Note that some nodeLynk I²C devices have a fixed address while others allow configuration of the address across a limited range of addresses.
Below you will find a partial list of popular nodeLynk Master devices that support nodeLynk I²C communications. For a complete list click click here.
What Kind of nodeLynk I²C Expansions are Available?
Chain a wide variety of nodeLynk devices to your nodeLynk Master using the included 4-Pin plug-and-play cable. Expanding the capabilities of your favorite hardware computing platform could not be easier or more versatile. Take a look at the vast number of nodeLynk Nodes currently available. For a complete list of nodeLynk Nodes, please click here.
Expanding nodeLynk Devices Using Multiplexers
Add nodeLynk communication ports for more control
8-Channel Model (PCA9547) shown
A multiplexer is a device that has a single nodeLynk I²C Input and provides either 4 or 8 nodeLynk I²C Output ports. This effectively converts a single nodeLynk I²C Port into multiple nodeLynk I²C ports, which allows branching for control of many more devices. Some I²C devices may have a fixed address, limiting the use of a single device on the nodeLynk I²C port. Using Multiplexers, it’s possible to have multiple devices of the same type and address shared with a single nodeLynk I²C port. Simply send a switching command and all subsequent communications is directed out the selected nodeLynk I²C output port.
The following multiplexers are available for expanding nodeLynk communication ports.
Can I Connect Computers to nodeLynk Controllers?
Absolutely. nodeLynk controllers and sensors are not limited to computing platforms, they may also be used with PCs, Mac, and Linux machines that support USB Virtual COM Port Communications. Using USB to I²C Converters, it’s possible to connect nodeLynk devices to the USB port with a simple adapter. For more powerful and faster communication options, the endNode development board is also a ideal solution. Please note that while our controllers are cross-platform compatible, our software is currently limited to Visual Studio. We do have plans to integrate node-Red drivers in the future. But for now, consider the following devices for communications with a PC.
What's the Difference Between
nodeLynk
and
endNode?
endNode devices are master devices designed to communicate with computers and cloud platforms. They are extremely powerful serial to I²C converters with enhanced commands for relay control as well as device specific commands. endNodes are essentially master devices whereas nodeLynk devices are expansion devices. nodeLynk devices will plug into endNode controllers for the purposes of adding hardware functionality. Simply send I²C communication commands to a endNode controller to speak to the expansion devices. Scan the I²C bus to see which addresses are available. Send write commands to control nodeLynk expansions. Send read commands to read data from nodeLynk expansions. Send write/read commands to speed up communications to nodeLynk expansions using a single command structure.
endNode devices are infinitely expandable because endNode is a serial to I²C conversion technology whereas nodeLynk is device expansion technology. As you can see in the illustration below, they were designed to work together.
endNode device (left) connected to a chain of endLynk expansion devices.
How Many nodeLynk Devices may be Chained Together?
While I²C communications generally supports in excess of 100 devices, there are many factors which can limit the number of devices that may be chained on a nodeLynk I²C communications bus.
I²C Addressing is the first limiting factor of I²C communications. Each nodeLynk I²C device has either a fixed address or a few jumpers that allow altering the device address within a limited range. For instance, MCP23008 based relay controllers have 3 jumpers that allow address configuration, which limits the maximum number of I²C devices to 8 per nodeLynk I²C port. Some I²C communication chips only allow 1 or 2 devices on the bus, so be sure to check datasheets for more information on device addressing.
Cable Distance is another limiting factor of I²C communications. I²C devices in general were never designed to operate across long cables. However, the noise immunity of most I²C communication chips have allows cable lengths of up to 30 Meters. We do not advocate using cables of this length. Generally speaking, keep the cable length as short as possible and carefully test each device prior to adding another device to the nodeLynk I²C bus. We have seen many reliable nodeLynk I²C bus wires in 2 to 3 Meter range, but once again, keep the cables as short as you can and test carefully.
I²C Communications Speed will also play a significant role in the total number of nodeLynk devices allowed. Generally speaking, slower is better when chaining I²C devices together over cables. We have experienced excellent results by using 100KHz I²C communication speeds. Higher speeds such as 400KHz or more tend to introduce capacitive slewing on the I²C bus, which reduces reliability over cables. One way to combat the effects of signal slewing is to use the 4.7K I²C bus termination jumpers available on most nodeLynk I²C devices.
Using a 5V I²C communication bus is standard for nodeLynk devices. We took care of this one for you, as all nodeLynk devices comply with a strict 5V standard. This allows for greater cable length because of the larger voltage differential between 0 and 5V data signals. The down side to using a 5V nodeLynk I²C bus standard is that it is NOT directly compatible with most of today’s CPUs due to their exclusive support of 3.3V or lower voltage standards. For this reason, all NCD nodeLynk Master Adapters convert the 3.3V standard of common microprocessors into a 5V nodeLynk I²C Bus standard. This is absolutely essential when working with I²C devices using cables, particularly when using longer cables and higher speeds. So please, NEVER directly connect nodeLynk devices to your favorite 3.3V microprocessor WITHOUT a properly designed 5V I²C Level Shifter in place or damage will result. Please contact us if you need a properly designed nodeLynk adapter. In most cases, we will design and manufacture these adapters free of charge when working with popular computing platforms.
nodeLynk I²C Cables and Connectors
nodeLynk devices are joined together using nodeLynk cables, which are included with all applicable devices, controllers, and sensors. If you need to build your own hardware that is compatible with nodeLynk I²C devices, we also have the connectors available.