All Collections
Connect your Devices
Connect the YuDash LYNX IoT Edge Device to Ubidots
Connect the YuDash LYNX IoT Edge Device to Ubidots

Learn how to send Modbus/RS485 data to Ubidots using YuDash LYNX edge device

Written by Sergio M
Updated over a week ago

YuDash LYNX is an IoT edge device for seamless cloud connectivity of various industrial and operational applications. It is used for Smart enabling of Control panels. Applications include Smart Energy, Industry 4.0 (integration with process meters, VFD drives, PLC/HMI etc), Remote Asset monitoring and Control, Smart Pumps and Air conditioning Systems.

  • Various industrial energy meters, AC drives, PLC and Utilities (like UPS, SVG) through Modbus over RS-485.

  • GSM and WiFi for cloud connectivity. For Indian customers, it supports a built-in GSM sim card for cloud connectivity.

  • DIN rail and wall mounting to suit various industrial applications.

Through a small on-device screen, LYNX provides “WYSIWYG” feature to help engineers with status checks and observations. For legacy systems and devices, it supports reading analog inputs (4-20mA, 0-10V, 0-70Volt), with inputs scaling options before sending them to the cloud.

Using this guide you will learn how to set up your YuDash LYNX to send real-time process data to Ubidots' Application Development Platform. In this example, LYNX is integrated with an energy meter through Modbus. LYNX supports multiple Modbus slaves.


Table Of Contents

  1. LYNX Terminals and basic wiring connections.

  2. Starting LYNX configuration server.

  3. LYNX settings for cloud connectivity.

  4. LYNX general settings and custom IoT platform selection.

  5. Ubidots IoT platform configuration.

  6. LYNX configuration for Modbus/RS485 communication.

  7. Configuration for Energy meter as Modbus Slave.

  8. LYNX starts to send data on Ubidots.

1. LYNX terminals and wiring connections

To begin your LYNX - Ubidots connection, first you need to understand the LYNX terminals and wiring connections.

  • LYNX is powered through a 12/24V DC supply (left most bottom two terminals).

  • The Modbus device (Energy meter) is connected to terminals MODBUS (A & B)

  • The top left (SW and GND) are terminals for the button. A push-button is provided to enable the LYNX configuration server.

  • Here's how this minimal wiring looks like with (i) 24V DC power supply (red and black wire) and (ii) Device connected on MODBUS terminal (yellow and green).

2. Starting LYNX configuration

LYNX is configured through laptop/mobile phone through wifi.

Step 1: On LYNX bootup, press the switch button (top left terminal) to start the configuration server.

Step 2: Once the button is pressed, the device will enter in AP (Access Point) mode, meaning a WiFi network will be broadcasted. The wifi SSID name and password are displayed on the LYNX screen. Connect the laptop to the given wifi and open the LYNX IP address. For example:

  1. wifi SSID: yudash318

  2. Wifi password: 12345678

  3. LYNX IP address:

*Display screen of LYNX when Configuration server is running.

Step 3: Here's how the web-based configuration interface looks like:

3. LYNX settings for cloud connectivity

Step 1: Click on “Read Network Settings” to fetch present settings in LYNX.

Step 2: After fetching the network settings, you will note that the default cloud server is "YuDash cloud", which will be overridden later in this guide.

Step 3: Configure the connectivity options based on your preference:

  • GSM: use GSM network with inbuilt sim card (for India users).

  • WiFi: Use a WiFi network available on-site. WiFi SSID name and password have to be provided. The device supports two WiFi networks as fallback (in case WiFi SSID#1 is not connected).

Step 4: Click on the “Write Network Settings” button to save the changes, followed by “Reboot LYNX Device”.

4. Ubidots IoT platform configuration

Go to the "Lynx Settings" section:

Step 1:Click on “Read Lynx Config” to fetch present settings.

Step 2: The checkbox ModBus (RS485) is ticked to enable ModBus communication.

Step 3: In factory settings, “Use Default Cloud” (pertaining to YuDash) is checked. For using Ubidots cloud platform, uncheck this box.

Step 4: Select “Ubidots” in the “Custom Cloud” radio button.

Step 5: The “Loop Delay” (seconds) is the time interval between sending data to Ubidots.

Step 6: Click on the “Write Lynx Config” button to store these settings.

Step 7: After “Ubidots” is selected in the custom cloud section, credentials related to Ubidots have to be provided in “Custom Cloud Server Settings”.

  • The server name and credentials have to be provided as follows:

  1. “Cloud Server”: Ubidots IoT server (MQTT broker), which is

  2. “Access Token” is the device access token created in your Ubidots account.

  3. The “Device Name” is the “API label” of your device in the Ubidots account.

  4. After updating, click “Update Cloud Settings”.

5. LYNX configuration for Modbus/RS485 communication

These are the communication settings required in Modbus/RS485:

  • Baud rate in bps: Typically 9600/19200 etc.

  • Data Parity and Stop bits. For example “8 N 1”, “8 N 2”.

Step 1: The settings are available in the user manual of the instrument in question (energy meter).

Step 2: These settings have to be provided in LYNX in the section “Modbus RS485 Settings”.

Step 3: In our case, the Baud rate is 19200. Data parity is “8 N 2” which is selected in the drop-down menu.

Step 4: After selection, click on the button “Update Modbus Settings”.

6. Configuration for Energy meter as Modbus Slave

Step 1: LYNX acts as “Master” (or client) and the energy meter acts as “Slave” (Server) for MODBUS communication.

Step 2:The details of slave (unique number of energy meter) and MODBUS register (address and data type) have to be configured. In this example, we have had only one energy meter (with modbus slave ID 1).

Step 3:We will read three modbus registers mapping to voltage, ampere and energy (kWh).

Step 4: First, click “Read Modbus Slaves” to read the present settings.

Step 5: By default, on slave with Slave Id as 1 is pre-configured.

Step 6: Click on “Read MB Slave” to see present registers. We can add, update and delete registers as required.

Step 7: The final setting for our requirement:

  • “Variable Name” is the variable name that will be used on Ubidots for storing data.

  • “Register No” is Modbus register number of the electrical meter as per its manual.

  • “Type” defines the data structure of the input value to be read. Following is a basic table of “Type” definitions.


No of Modbus registers to read

LYNX settings

Integer (16 bit signed)



Float(32 bit signed, little-endian)






  • “Factor”: LYNX supports scaling of input value before sending data to the cloud. The Factor defines the value by which it should be divided. In this example, it is “1” (no scaling).

Notes on Modbus registers and LYNX features:

  • “Factor” feature is useful when the input modbus register is multiple of 10 (or 100). For example, the measured (and displayed) voltage is 231.4 Volt, but the register value is 2314 (which is 10X of the original value, stored as an integer). So, we can set the Factor as 10. LYNX will convert the input value to 231.4 and send it to the cloud.

  • LYNX supports a variety of data types, byte swapping, bit pattern extraction on the edge, which is configured through “Type”.

  • LYNX uses a register numbering base of 0. In case, the electrical meter has Modbus mapping starting with 1, we need to decrement mapping by one. This is applicable in the meter used in our example.

Step 8: After completion of register mapping, click on “Update MB Slave” to store settings in LYNX.

8. LYNX starts to send data to Ubidots

Step 1:After completing the configuration, LYNX has to be rebooted with power recycle.

Step 2: With the above settings, LYNX will enable network connection through GSM and connect to Ubidots IoT platform. It will read three parameters from the energy meter every 30 seconds and send them to Ubidots.

Step 3: The activities of LYNX are visible on the LYNX screen. The following sample snapshot shows the sending of “Voltage” to Ubidots.

Step 4: The data received on Ubidots device will be visible as follows:

Step 5: Following is a representative dashboard created using the values received from LYNX:

  • The above steps and walkthrough are covered in the following video:


LYNX supports various advanced features, such as:

  1. Modbus Features:

    • Up to 16 modbus slaves with a total of 128 variables.

    • Support of scaling on input data from MODBUS registers.

    • Various byte-swapping functions to support little, big-endian formats for 2 and 4 Modbus registers

    • Bit pattern extraction from modbus register. This is used to process alarm conditions in assets like UPS.

    • Modbus register writes for remote configuration of devices and assets.

  2. Powerful two-way communication through Ubidots/MQTT subscribe features:

    • Remote operation of relays (two Digital output relays)

    • Write Modbus registers.

    • Remote configuration and reboot of LYNX through Ubidots.

  3. Configurable and practical edge computing to optimize data bandwidth and cloud computing:

    • Variety of data scaling features before sending. The deployment engineer on site can co-relate the data exactly with the main system.

    • Option to send different variables at different time periods. So, we can send high priority data more frequently and low use data at larger intervals.

    • Option to send some variables: “only on change”. LYNX keeps on reading them but sends only on change. This is useful for the ON/OFF status of machines or alarms.

  4. LYNX supports following features:

    • 4 analog inputs (2 sets of 0-20mA, 1 0-10Volt, 1 0-70 Volt). This is useful to integrate with legacy analog devices, pressure gauges, Temperature/Humidity meters, VFD/AC drives.

    • Analog inputs are fully configurable through configuration portal in software to represent read

    • 2 sets of potential free Digital Inputs. This is used in smart control panels to represent machine ON/OFF status on Ubidots.

  5. Primary configuration of LYNX is done through the web portal shown in this example. Advanced features are “programmed” through JSON format files. The JSON file can be downloaded/uploaded through the configuration server. Please contact YuDash for detailed documentation.

Others also found useful:

Did this answer your question?