IO-Link Distance Sensor and more

Table of contents

RoadTest: Maxim Integrated - Industrial Communications with IO-Link Distance Sensor

Author: cghaba

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: STEVAL-IOD04KT1 Smart Sensor Kit, Dual, Io-Link, STEVAL-IOD004V1, Industrial Smart Sensor, STEVAL-IOM001V1 Evaluation Board, L6360 IO-Link Master Transceiver, ST Morpho, For STM32 Nucleo

What were the biggest problems encountered?: Finding detailed documentation for the kits

Detailed Review:

The hardware provided in this roadtest consists of a distance sensor kit, and a IO-Link master kit i.e.:

  • MAXREFDES165# Four-Channel IO-Link Master;
  • MAXREFDES171#: IO-Link Distance Sensor;

The two can be tested only working together or if another IO-Link sensor or IO-Link master are available. For me is not the case as this technology, though I heard and read about it, is knew.

Unboxing the kit

The first part of the roadtest was the unboxing of the two kits, inspecting their board and identifying the main parts of the kits. This means, for the sensor kit, identifying the distance sensor device, the microcontroller and the transceiver chip. For the IO-link master the identification will seek for the microcontroller, the tranceiver chips and the other components.

IO-Link Roadtest kit boxIO-Link transceiver box

Transceiver box components

IO-Link Distance sensor

The main components of the distance sensor are the VL53L1 distance sensor, the MAX32660 microcontroller and the MAX22513 IO-Link transceiver.

All IO-Link Roadtest kit parts


The main components of the IO-Link Master are 2 dual-channel MAX14819 IO-Link master transceivers, a MAX14931 digital isolator (front side), an STM32F4 Arm Cortex-M4 microcontroller and a FTDI FT2232 USB-to-SPI transceiver and driver (back-side).

The second part of the road test will consist of downloading and installing on the PC the software provided by  TMG TE for testing the IO-link master and IO-link devices that are using the TMG TE’s IO-Link master stack. The software can be used to operate the master, see how it identifies devices that are connected to its connectors at power up or which are hot-plugged into its connectors after power up, or how the master detects that one sensor is hot-unplugged from its connectors.

The software can be downloaded from the TMG TE web page in the Download section. The access to the download page is password protected therefore, a password must be requested using a Contact form. 

The password and additional information about the products were received after a couple of days. 

 Installing TMG TE software (IO-Link Device Tool V5.1.1-7475 PE – Setup)

The installation of the software implied the following steps:

- Choosing  the language (English)

- Accepting the license agreement

- Selection of the destination folder

- Installation of the CodeMeter runtime (for protection and licensing of the software).

The next step in using the IO-Link Device Tool is discovering the master connected to the PC where the software runs. The MAXREFDES165# IO-Link Master must be powered and connected using the USB cable to the PC. The figure below shows that the master was discovered.

IO-Link MAXREFDES165 Master discovered

The discovered master appears in the topology window as connected via USB port.

IO-Link MAXREFDES165Master offline

In order to see the information about the master, a IOLM (IO Link Master description can be imported into the software).

The IOLM file can be imported or the description can be retrieved from the manufacturer (TMG TE) web site. The figure bellow

shows the information provided by the IOLM file. The IOLM file is in fact an xml file. As we can see the IOLM provides also 

manufacturers' logos and a picture of the device.

IO-Link MAXREFDES165Master page

The next step is getting the device online in order to discover the sensors attached to the master. The discovery of the slave devices

is initiated by pressing the Check devices button. The figure below shows that the MAXREFDES171# sensor was discovered. 

IO-Link MAXREFDES171 sensor discovered

In order for the sensor to be managed by the master, the "Takeover devices into engineering" button must be pressed. After that,

the sensor will appear in the Ports tab of the master.

IO-Link MAXREFDES171 managed

In order for the master to manage the device, a IODD (IO-Link Device Description) file must be imported into the software.

The IODD file is an xml file that contains all the information the master needs to manage the sensor. By double-clicking the line of the sensor, a new window opens that contains multiple tabs that represent the interface provided 

by the software to:

- get information about the sensor,

- display the available parameters of the sensors,

- display data sent by sensor,

- load configuration of the sensor from the sensor memory,

- change the configuration and upload the new configuration into the sensor memory,

- display sensor data in a raw or user-friendly format. 

The picture below shows the main information about the sensor such as the vendor, ID, Product Name, description of the sensor, communication speed (in this case COM3), cycle time, and connection information (cable type and connector pins).

A photo of the sensor is also provided.

IO-Link MAXREFDES171 Sensor page Common Tab

The process data tab presents the data corresponding to the sensor function. The MAXREFDES171# is a distance sensor based on an optical sensor,

therefore the processing data includes the distance to the detected object from the sensor. The pictures below show the processing data for two positions

of an object in front of the sensor (2116 mm and 60 mm)

Distance sensor Process Data tab 2116 mm

Distance sensor Process Data tab 60 mm

Distance sensor Tabs

For each connected sensor, the software provides 7 tabs that allow the user to learn about sensor characteristics, read sensor configuration parameters from sensor memory, change sensor configuration parameters in the sensor memory,  and read process data from the sensor. 

{gallery}Distance Sensor Tabs


Distance Sensor: Common Tab


Distance Sensor. Process Data

The Process Data tab shows the values read periodically from the sensor. This depends on the type of sensor. In the case of Distance Sensor, the process data include Distance, Signal rate, Ambient light rate and Range status. The data is according to VL53L1X sensor characteristics (see sensor data sheet at


Distance Sensor. Identification Tab

The Identification tab shows the identification data such as the Vendor name, Product name, Product ID and others. This data is normally set by the manufacturer of the sensor and are read-only data. There can be also other data that can be used to set different tags for each sensor that would allow to identify sensor location, function or application (I guess these are useful to set when different sensors of the same type are used in the application and we need to identify them easily).


Distance Sensor: Observation Tab

The Observation tab displays information that is useful for the sensor maintenance part of the application. We can find here how many hours was operated, how many power cycles were performed, average distance measured and so on. Process data is also displayed in this tab. 


Distance Sensor: Parameter Tab

The Parameter tab is used to give access to different configuration parameters of the sensor. These parameters can be read only, write only or read/write. The writable parameters can be modified and the new values can be loaded into sensor memory. Also, at any time we can download the actual configuration of the sensor. The sensor parameters and the list of those that can be modified depending on the sensor type. For example, for the distance sensor we can configure if it will work in short or long distance mode.


Distance Sensor: Diagnosis Tab

The Diagnosis Tab shows us the status of the sensor. In the picture above we can see that the sensor is OK.


Distance Sensor: Scope Tab

The Scope Tab displays the modification of processing data from the sensor. The scope displays the waveform of 4 signals but, unfortunately, there is no information on what is displayed. The user is left to guess. Doing an experiment, resulted that the waveform in red could correspond to the distance measured by the sensor while the blue one, corresponds to detecting the moment an object passes a threshold distance limit, a parameter that can be configured. The main use of this scope is to see that the sensor is working because you can see the waveforms changing according to the measured distance to a moving object. So the sensor is sending data and the master receives it.


Distance Sensor: Generic Tab

In the Generic Tab we can see data that is sent from the sensor to the master in raw format.


Distance Sensor: IODD Tab

The IODD Tab is the tab that displays information provided by the IODD file in an easy to see and understand format. 

C/Q Signals

Next step in the roadtest of the IO-link distance sensor was to visualize the signals used to communicate between the sensor and the master. The communication is done on the C/Q line. In order to see these signals, the sensor was connected using a fabricated cable (four individual wires) that allowed it to connect the probes of an oscilloscope. The signals are shown below. As IO-link protocol works, there are three types of communication. These can contain process data, on-request data, and system management commands/requests. Process data communication is used to request cyclical process data from the sensor. The other communication types are acyclic and are used for the configuration and maintenance of the sensor or for event-triggered messaging. The waveforms in the picture below correspond to the cyclic process data communication.


In order to understand the signals on C/Q line, I used a logic analyzer. For that, I had to use a voltage divider to adapt the 0-24 V logic signals to 0-5V logic signals that can be input to the logic analyzer.


Trying to decode the signals using the asynchronous serial protocol gives some framing errors. IO-link standard must be consulted in order to understand the protocol used for sensor- master communication.


The next step planned for the Distance Sensor roadtest was to capture the signals on the I2C bus between the optical sensor and the microcontroller. The probes were put in place but, unfortunately, a wrong movement while the sensor was in operation produced probably a short in one of the sensor components. 

After that, the sensor could not be found anymore by the master, sensor non-functioning being proven by the fact that the sensor's green led didn't light anymore. 

Using the testpoints at the brake away I could see that the 3.3V is missing. Because this voltage is supplied by the MAX22513 IO-Link device transceiver from the 24 V supplied to the sensor via the IO-link connector, I suppose that this chip is the problem. Though it is said that the MAX22513 features extensive integrated protection to ensure robust communication in harsh industrial environments, it seems that it was submitted to something worst. I will see if I can order this chip but replacing it, is for the moment beyond my reach.

... and More

As the title of the road test indicates, I planned in my test to do more than roadtesting the IO-link master and the Distance Sensor. The more in the title refers to another IO-link device that I obtained with the occasion of a giveaway campaign from Maxim Integrated. The device is the MAXREFDES177, i.e. an analog I/O device with IO-link connectivity. The device is based on the MAX2251 IO-link transceiver,  Atmel ATSAM microcontroller and the MAX22000 industrial universal analog IO configurable for all common industrial analog input and output, voltage and current ranges (

Analog I/O device

The device was connected to the IO-link master, and was recognized by it.

If the IODD is not available and not imported in the IO-Link Device Tool software, the software still detects the sensor and is able to receive and display process data. 

Analog IO dected unknow

In this case, only two tabs are available in the software. The Generic tab and the FW Update tab. In the generic tab we can see the process data sent by the connected device. To test the device I have connected a variable voltage supply made with a 9 V battery and a potentiometer, as the device is configured to act like an -10 to 10 V analog input.

DIstance sensor and Analog IO

Below are two screenshots where we can see that the input values changed when the potentiometer position changed.

Analog IO generic tab no IODDAnalog IO generic tab no IODD 2

In the FW update tab one can import the FW package. A list of vendors are available but I didn't find Maxim Integrated. 

Vendor Table

After importing the IODD of the device which is available on the device webpage, the seven tabs described for the Distance sensor device were also available.

{gallery}Analog I/O


Analog I/O. Common Tab


Analog I/O. Process Data Tab

The device is configured as Voltage analog input so in this tab we can see the voltage applied at the device input..


Analog I/O. Identification Tab


Analog I/O. Observation Tab

The tab shows that the device functions as an -10V to 10V analog input


Analog I/O. Parameter Tab

This is the tab where we can change the function of the device (analog input or analog output)


Analog I/O. Diagnosis Tab

In the diagnosis tab we can see if the device is OK, number of errors (if occurred) and number of hours the device was in operation.


Analog I/O. Scope Tab

In the scope we can see the recording of input data when the voltage was modified using the potentiometer. As said before, we can only see the input changed but we cannot see or estimate the values of the input.


Analog I/O. GenericTab


Analog I/O. IODD Tab

  1. At the beginning of the road test I knew very little about IO-link technology and therefore I was not able to understand why were the IO-link devices more expensive than the devices used in traditional control systems (for example those based on PLCs which I was familiar with). Then I learned that IO-link systems are taking the control systems to a higher level where data is exchanged both ways between sensors/actuators and the control devices. This allows for a large set of new use cases and applications such as the possibility to configure sensors to fit the application, get maintenance data from IO-link devices, getting usage statistics and many more. This new level of interaction and data exchange makes even the simpler sensor need a microcontroller in order to implement the IO-link stack and also provide memory for storing configuration and other operational data in the sensor. There is also a need for devices to adapt from high voltage levels (24V) specific to the industrial application to the low voltage levels of microcontrollers and other silicon devices, together with all circuitry needed to ensure different levels of protection to create a robust and reliable industrial device. These all, additional hardware (compared to simple sensors or actuators), together with the necessary firmware implementing IO-stack, microcontroller-sensor communication and other functionalities, are adding to the cost of the IO-link devices.
  2. During the roadtest period, Maxim Integrated takeover by Analog Devices was finalized, therefore I experienced some problems accessing my Maxim account, which was needed for accessing some web pages or downloading documentation and design files related to the devices used in the roadtest (MAXREFDES 165, MAXREFDES171 and MAXREFDES177). It was my mistake that I didn’t download all the files related to these devices from the beginning when my Maxim account was still working, but I didn’t know about this change (I heard about it but I didn’t know when will it take effect and what problems could arise). The things get worst as at the moment when my Maxim account was transferred into an Analog Device account I already had two AD accounts (due to a change in the professional email address) and this confused me as emails/passwords combinations were different and when I tried to log in, the combination didn’t match the good one. A second problem of this integration of Maxim in AD was that some web pages were not available on the AD website, one being the page related to the MAXREFDES171 Distance Sensor. I needed the schematic, to see how can I access the I2C bus between the microcontroller and optical sensor, but I could not find it. I raised the problem to the AD support team and after a few days, the page was available. Unfortunately, by then, the Distance Sensor was already broken.
  1. When I enrolled in the roadtest I was hoping that I could test the devices also in a real application, meaning that the data received from the Distance Sensor I could use in a simple application based on a PLC, i.e. based on the received data from Distance Sensor I can activate an output of a PLC, to light, for example, a lamp if the detected object is within a certain range. The MAXREFDES165 IO-link master device was not conceived for this. It connects to a PC using a USB cable and the IO-link Device Tool Software from TMG-TE with which you can test the device's ability to connect to sensors and visualize information related to these sensors and data exchanged between master and sensor. You cannot send this data (or I didn’t find it out) to another device and use it to take some actions.
  2. I tested both available devices MAXREFDES171 (Distance Sensor) and MAXREFDES177 (analog I/O) in conjunction with the IO-link master. Both were recognized and information could be displayed in the tabs of the IO-link Device Tool Software (after importing the corresponding IODDs) as demonstrated in the roadtest. I also wanted to try that an IO-link device from another manufacturer could be also connected to the IO-link master and would be recognized after importing the IODD of the device (as software claims). I was promised such a device but didn’t get it yet, which is also one of the reasons for not providing the roadtest in time.
  3. I wanted to capture some signals that were not available at the pins of the devices and because I didn’t plan this carefully, I broke the Distance sensor and, I am not sure yet if it is not also the case with the Analog IO. The Distance sensor is very expensive (approx 350 EUR on Farnell site), so I won’t try to buy another one. Maybe I will fix it by replacing the MAX2251 chip which is about 10 EUR, if this chip is the problem. A cheaper version of a Distance sensor is also available from Maxim (now AD), the MAXREFDES174 at about 125 EUR. The Analog IO is also not very expensive (approx 100 EUR) so I can replace it if it is broken too. I know it is my fault, but I was expecting these devices to be more robust and resistant to mishandling, miswiring and so on. I will be more careful next time.
  4. Videos were also planned to demonstrate the roadtests but now, some of the main actors are not able to perform.

Roadtest Updates

I managed to fix the Distance sensor. As I suspected, the problem was the MAX2251 IO-link transceiver. I replaced it with a new one and now the sensor is working again.

In the meantime, I borrowed an industrial temperature sensor (TA2115) manufactured by IFM and I tested it to see if it can be discovered by the IO-link master and if I can have access to similar data as for the other IO-link devices.

As we can see from the following picture, the temperature sensor comes in a metal case that protects the temperature sensor and the electronic circuitry against potentially dangerous environmental factors (moisture, corrosive agents, electromagnetic disturbances, vibrations, etc). A final product based on the MAXREFDES171 device will need also such a protective case.

IO-link sensors

The sensor was connected to the IO-link master and the discovery command was issued in the IO-link Device Tool software. The sensor was discovered and the Generic Tab where the raw data from the sensor can be read. For this sensor the data represents the measured temperature. We can see that without the information from an IODD file, the sensor is marked as unknown though some informatio is extracted from the sensor (type TA2115, ID, version, revision etc).

TA2115 discovered

TA2115 visible for master

Generic Tab before IODD loadded

The IODD file was downloaded from the sensor manufacturer's web page and imported in the IO-link Device Tool software.

TA2115 loading IODD file

After we have imported the IODD file, the extended set of tabs is available in the IO-link Device Tools software, similar to those for the other IO-link devices tested in this roadtest.

Comparing these tabs with those for the other IO-link devices we can say that this sensor is simpler than the other tested devices.

  • I managed to fix the Distance sensor. As I suspected, the problem was the MAX2251 IO-link transceiver. I replaced it with a new one and now the sensor is working again.

    In the meantime, I borrowed an industrial temperature sensor (TA2115) from IFM and I connected it to the IO-link master. I discovered I could see the raw data (temperature) read from the sensor but, only after I loaded the IODD file, I could access the other set of tabs where more information about the sensor could be found and where I can, for example, configure the sensor. I updated the road test with this new information and there we can see that a finite IO-link device (not a demonstration board) has a metallic case that protects the sensor and electronic circuitry and make it robust so it can be used in a harsh industrial environment.

    The demonstration software has only USB connection, to the PC where the demonstration software runs but I am sure that if one wants to develop a IO-link master product, she/he will be able to buy a license that provides the Ethernet/IO or Profinet connectivity.

  • Good review, the step by step progress was very clear.  I am interested in learning about IO Link in industry, smart sensors will be very useful once they become available.  Too bad about the I2C problem.  The connectors for IO Link look very robust, but of course you were dealing with bare PCBs, so it's easy to short something.  The laser distance device is expensive, but I see simpler IO lInk devices available for lower prices (US $20 for a proximity sensor).  It is hard understanding what data is available from IO Link devices, I mostly see vague marketing brochures.

    I see from your screen shots that connections to a PLC would presumably use Ether/IP or Profinet.  Those we not included in the kit of course, but for industrial use I assume that will become the normal method of communication.