Loadcell to Modbus Transmitter
Compact Modbus RTU remote I/O module for loadcell sensor / strain gauge input.

Key Features
- One Load Cell / Strain Gauge input to Modbus RTU
- Two modes of operation – Scale Mode and Force Mode
- 20-bit resolution analog to digital precision conditioner
- Clean analog front-end designed for industrial environments
- Free software based easy configuration
- Integer and IEEE754 float value support
- Modbus RTU over RS-485
- Write to remote device – Master Mode
- DIP switch for address selection from 1 to 15
- Wide Supported baud rates from 300 to 115200
- DIN Rail mount support
- Dimensions: 60mm x 50mm x 20mm (L x W x H)
ModViz – Modbus Configuration & Visualization Tool
ModViz is a powerful yet simple configuration and visualization tool designed to work seamlessly with Veawe Modbus I/O modules. It enables engineers, system integrators, and technicians to quickly configure, monitor, and test field devices through an intuitive graphical interface.
The software can be downloaded from https://veawe.io/modviz/


Ordering Information
| Product Code | Description |
|---|---|
| MIO-1LD | LOADCELL TRANSMITTER |
Applications
- Industrial Automation – Integrate load cell and strain gauge sensors into PLC and SCADA systems via Modbus RTU
- Process Monitoring – Continuous weight measurement for tanks, hoppers, and platform scales in Scale Mode
- Quality & Force Testing – Capture peak force events for press monitoring, tension testing, and crimp verification in Force Mode
- Material Handling & Logistics – Check-weighing, batching, and fill-level control on production lines
- Remote Monitoring – Ideal for distributed weighing or force-measurement points reporting scaled engineering values over Modbus RTU
Specifications
| Parameter | Value |
|---|---|
| Mounting | DIN rail |
| Dimensions | 60 mm x 50 mm x 20 mm (L x W x H) |
Electrical Specifications
| Parameter | Value |
|---|---|
| Supply Voltage | 9–24V DC or USB 5V |
| Excitation Voltage | 5V DC |
| Communication Port | RS-485 |
Input/Output Specifications
| Parameter | Value |
|---|---|
| Channel Count | 1 |
| Sensor Type | Strain gauge / Wheatstone bridge load cell |
| ADC Resolution | 20-bit |
| Excitation Voltage | 5V DC |
| Signal Range | ±20mV (differential) |
| Conversion Rate | Configurable sample speed |
Isolation & Protection Specifications
| Parameter | Value | Notes / Description |
|---|---|---|
| Supply Reverse Polarity Protection | Integrated | Series protection diode (continuous protection, zero reverse leakage) |
| Supply Isolation | Non-Isolated | Common ground between input power, internal circuitry, analog inputs |
| Transient Voltage Clamping | Up to 600W | Clamps overvoltage spikes (10/100 µs peak pulse rating) |
| EMC & Immunity Standards | Class-Compliant | Meets IEC 61000-4-2 (ESD), IEC 61000-4-4 (EFT), & IEC 61000-4-5 (Surge) |
| RS-485 Bus ESD Protection | 15kV HBM/Air | IEC61000-4-2 Integrated high-ESD protected transceiver on A/B lines |
Mechanical Dimensions

Terminal Details
| Pin | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Signal | 24V+ | 24V- | A+ | B- | EX- | S- | S+ | EX+ |
Wiring Diagrams
Note: All images and connection diagrams shown are for illustrative purposes only and may differ from the actual product.

Communication Interface
| Protocol | Physical Layer | Default Baud Rate | Default Format |
|---|---|---|---|
| Modbus RTU | RS-485 | 19200 | 8N1 |
Basic Process Registers
| Signal | Address | Type | Description |
|---|---|---|---|
| Weight (int16 / float) | 30001 / 30021–30022 | int16 / float | Scaled weight value / Engineering float value |
| Raw ADC Counts | 30043–30044 | int32 | Raw uncalibrated ADC counts |
| Tare Command | 00731 | Bit | Set current weight to zero (Tare) |
Supported Modbus Function Codes
| Read | Write |
|---|---|
| 01 – Read Coils | 05 – Write Single Coil |
| 02 – Read Discrete Inputs | 06 – Write Single Register |
| 03 – Read Holding Registers | 15 – Write Multiple Coils |
| 04 – Read Input Registers | 16 – Write Multiple Registers |
Register Map Overview
| Function | Address Range | Type | Description |
|---|---|---|---|
| Discrete Inputs | 10601 | Bit | Loadcell alarm active indication |
| Discrete Inputs | 10621 | Bit | Loadcell sensor open indication |
| Discrete Inputs | 10641 | Bit | Loadcell latched alarm status |
| Discrete Inputs | 10731 | Bit | Stable flag (Scale Mode) |
| Discrete Inputs | 10733 | Bit | Peak captured flag (Force Mode) |
| Coils | 00601 | Bit | Reset alarm counters |
| Coils | 00731–00732 | Bit | Tare now / Clear tare |
| Coils | 00733 | Bit | Reset captured peak measurement |
| Coils | 00734 | Bit | Reset production counter |
| Input Registers | 30001 | int16 | Loadcell scaled value |
| Input Registers | 30021–30022 | float | Loadcell scaled engineering value |
| Input Registers | 30041–30042 | int32 | Live scaled value (32-bit) |
| Input Registers | 30043–30044 | int32 | Raw ADC counts |
| Input Registers | 30045–30046 | int32 | Peak value (Force Mode) |
| Input Registers | 30047–30048 | uint32 | Production count |
| Input Registers | 30051–30052 | uint16 | Peak time / time above threshold |
| Input Registers | 30601–30602 | int16 | Loadcell alarm counters |
| Holding Registers | 40101 | int16 | Modbus slave address |
| Holding Registers | 40621–40622 | float | Loadcell gain calibration |
| Holding Registers | 40661–40701 | int16 | Alarm mode / minimum / maximum |
| Holding Registers | 40731 | int16 | Operating mode: 0 = Scale, 1 = Force |
| Holding Registers | 40732–40737 | int16 | Sample speed, filter strength, stable window/time, decimal point, unit |
| Holding Registers | 40741–40744 | int32/int16 | Peak threshold, peak drop, peak reset mode |
Detailed Register Tables
Discrete Inputs (1xxxx)
Stable Flag
| Address | Description |
|---|---|
| 10731 | Stable Flag becomes 1 when the measured value remains within the configured Stable Window for the configured Stable Time. |
| 10732 | Reserved |
In Scale Mode – this flag indicates the load value is now stable as per the configured condition.
Peak Captured
| Address | Description |
|---|---|
| 10733 | Peak Captured becomes 1 after Peak Threshold is exceeded and the measured value subsequently drops by the configured Peak Drop percentage. |
In Force Mode – this flag indicates the peak force value is captured and available as per the configured condition.
Peak Capture Graph in ModViz

Analog Input Live Alarm Status
| Address | Description |
|---|---|
| 10601 | Loadcell alarm active indication |
If a loadcell sensor value is out of the range set in Alarm Configuration:
- The corresponding alarm LED is ON.
- The alarm indication status bit is set.
Analog Sensor Open Status
| Address | Description |
|---|---|
| 10621 | Loadcell sensor open indication |
If the analog sensor device is faulty, open, or out of voltage range:
- The corresponding sensor open status bit is set.
Analog Input Latched Alarm Status
| Address | Description |
|---|---|
| 10641 | Loadcell latched alarm status; auto clears on read |
Latched alarm status stays high even after the alarm is cleared, and auto-clears only after the master reads this bit.
Coils (0xxxx)
Loadcell Tare Now
| Address | Description |
|---|---|
| 00731 | Tare now |
| 00732 | Clear tare – clears the tare counts |
Tares the loadcell’s current value. This bit auto-clears. All scaled loadcell values become zero.
Loadcell Peak Reset
| Address | Description |
|---|---|
| 00733 | Resets the captured peak measurement |
In Force Mode, resets the captured peak measurement. This command clears:
- Peak Value
- Peak Time
- Time Above Threshold
- Peak Captured Flag
This bit automatically clears after execution.
Counter Reset
| Address | Description |
|---|---|
| 00734 | Reset production counter |
| 00601 | Reset alarm counters for loadcell |
Writing 1 to the coil resets the corresponding retentive counter value. This bit is self-clearing.
Input Registers (3xxxx)
Loadcell Live Values
| Address | Type | Description |
|---|---|---|
| 30001 | int16 | Loadcell scaled value |
| 30021–30022 | float | Loadcell scaled engineering value (float) |
| 30041–30042 | int32 | Loadcell scaled engineering value (32-bit integer) |
| 30043–30044 | int32 | Loadcell raw ADC count value (32-bit integer) |
Force Measurement Values
| Address | Type | Description |
|---|---|---|
| 30041–30042 | int32 | Live value – current loadcell scaled value |
| 30043–30044 | int32 | Loadcell raw ADC count value (32-bit integer) |
| 30045–30046 | int32 | Peak value – maximum pressing value |
| 30047–30048 | uint32 | Production count – number of successfully completed peak capture events |
| 30051 | uint16 | Peak time – time from Peak Threshold crossing until Peak Value is detected |
| 30052 | uint16 | Time above threshold – dwell time under load |
Analog Input Alarm Counter Values
| Address | Type | Description |
|---|---|---|
| 30601–30602 | int16 | Loadcell alarm counters |

Holding Registers (4xxxx)
Loadcell Operating Mode
| Address | Type | Description |
|---|---|---|
| 40731 | int16 | 0 = Scale, 1 = Force |
The loadcell module operates in one of two modes based on this register:
Scale Mode – Measures weight, updates the filtered value, and asserts the Stable Flag when the configured stability conditions are met. Suitable for slow, accurate measurement.
Force Mode – Acquires high-speed samples, detects threshold and peak values, and measures time taken. Designed to capture short-duration peak forces accurately.

Loadcell Sample Speed
| Address | Type | Description |
|---|---|---|
| 40732 | int16 | 0 = Slow, 1 = Fast |
Applies to both modes. Scale Mode may need this set to Slow; Force Mode may need this set to Fast.
Loadcell Filter Strength
| Address | Type | Description |
|---|---|---|
| 40733 | int16 | 0 = Off, 1 = Fast, 2 = Normal, 3 = Stable, 4 = Very Stable, 5 = Slow |
Applies to both modes – sets the filter value of the loadcell input.
Suggested settings by application:
Scale Mode - Platform scales – Stable / Very Stable - Check weighing – Fast / Normal - Tank weighing – Very Stable / Slow
Force Mode - Presses, tension testing, and similar applications – Fast or Normal
Stable Window
| Address | Type | Description |
|---|---|---|
| 40734 | int16 | Maximum allowed variation of the measured weight for stability detection |
Scale Mode – e.g. 5 for ±5 grams variation. Force Mode – Not applicable.
Stable Time
| Address | Type | Description |
|---|---|---|
| 40735 | int16 | Time the measured weight must remain within the Stable Window before the Stable Flag is asserted |
Scale Mode – Expressed in units of 10ms. Actual Stable Time = Register Value × 10ms (e.g. set to 100 for 1 second). Force Mode – Not applicable.
Decimal Point & Unit
| Address | Type | Description |
|---|---|---|
| 40736 | int16 | Configured decimal point |
| 40737 | int16 | Configured unit |
Defined unit values are not used internally – provided for the remote device’s reference:
| Value | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Unit | ADC Counts | Custom | g | kg | ton | N | kN | kgf | tonf | lbf | oz |
Peak Threshold
| Address | Type | Description |
|---|---|---|
| 40741–40742 | int32 | The minimum value to start the peak measurement |
Scale Mode – Not applicable. Force Mode – Example: Unit = N, Peak Threshold = 500 → capture begins above 500N. Unit = kg, Peak Threshold = 20 → capture begins above 20kg.
Peak Drop
| Address | Type | Description |
|---|---|---|
| 40743 | int16 | Peak is considered captured when the measured value falls below the recorded peak by the configured percentage |
Scale Mode – Not applicable. Force Mode – Example: 100 for 10.0% peak-value drop.
Peak Reset Mode
| Address | Type | Description |
|---|---|---|
| 40744 | int16 | 0 = Auto rearm, 1 = Hold until reset (ignore new values until reset) |
Scale Mode – Not applicable. Force Mode – Resets all peak values.
Analog Input Calibration
| Address | Type | Description |
|---|---|---|
| 40621–40622 | float | Loadcell gain calibration |
Calibration register for weight or force measurement. Use a standard, accurate known weight to set the gain.
Formula:
Where:
- Gain = 32-bit float value written to holding registers 40621–40622
- Known Weight = Calibration test weight in desired engineering units (e.g. kg, g, N)
- Net ADC Counts = Value read from registers 30041–30042 with calibration weight applied (after taring)
Calibration Procedure:
- Tare empty scale – Ensure the platform is empty and trigger Tare (write 1 to coil 00731).
- Apply known weight – Place the test weight on the loadcell.
- Read counts – Read the Net ADC Counts from input registers 30041–30042.
- Calculate gain –
Gain = Known Weight ÷ Net ADC Counts - Write gain – Write the calculated float value to holding registers 40621–40622.

Analog Input Alarm Configuration
| Address | Type | Description |
|---|---|---|
| 40661 | int16 | AI1 alarm mode |
| 40681 | int16 | AI1 alarm minimum |
| 40701 | int16 | AI1 alarm maximum |
Alarms work with 16-bit scaled values only.

Alarm mode values:
- 0 = Disabled
- 1 = Outside minimum or maximum
- 2 = Maximum only
- 3 = Minimum only
- 4 = Inside minimum and maximum window
Communication Settings
| Address | Type | Description |
|---|---|---|
| 40101 | int16 | Modbus slave address (switch value) |
| 40102 | int16 | Baud rate selection |
| 40103 | int16 | Serial format selection |
Modbus Address (40101)
This is set using the rotary or DIP switches.
Baud Rate Register (40102) and Serial Format Register (40103)
| Value | Baud Rate | Value | Baud Rate | Value | Format |
|---|---|---|---|---|---|
| 0 | 300 | 7 | 9600 | 0 | 8N1 |
| 1 | 600 | 8 | 14400 | 1 | 8E1 |
| 2 | 1200 | 9 | 19200 | 2 | 8O1 |
| 3 | 1800 | 10 | 38400 | 3 | 8N2 |
| 4 | 2400 | 11 | 57600 | 4 | 8E2 |
| 5 | 4800 | 12 | 62500 | 5 | 8O2 |
| 6 | 7200 | 13 | 115200 |

Default: 19200 baud, 8N1.
Default Settings
| Setting | Default |
|---|---|
| Slave Address | As per switch position |
| Baud Rate | 19200 |
| Serial Format | 8N1 |
Configuration Settings
Default Mode
Default mode is useful when communication settings are unknown.
When the rotary address switch is set to 00:
- Slave address = 1
- Baud rate = 19200
- Serial format = 8N1

Changing to default mode does not overwrite stored settings. Stored settings remain unchanged until written through Modbus.
LED Indications and Diagnostics
| LED | Description |
|---|---|
| Tx | RS-485 transmit status and run blink every 2 sec when idle |
| A1 | activity status LED1. On when above threshold |
| A2 | activity status LED2. Scale Mode: ON when stable flag Force Mode: ON when peak flag |
Calibration and Engineering Values
The module internally measures loadcell milli volt input as a raw integer value using a 20 bit high precision ADC after an industrial grade analog front end.
Example:
- 0mV = 0
- 20mV = 5,24,287
- -20mV = -5,24,288
Raw values represents ADC counts and not the milli Volt equivalents
Engineering value registers allow the raw loadcell value to be converted into user units such as:
● g ● Kg ● ton ● N ● kN ● kgf ● tonf ● lbf ● oz
Engineering values are available in float format using IEEE754 registers and integer 32
Formula:
Engineering Value = Net Raw Value × Gain
Where:
- Net Raw Value = measured ADC counts after Tare (Raw ADC Counts − Tare Offset)
- Gain = engineering unit multiplier when the known load is applied
Net Raw Counts = 353000
Gain = 0.0025\ Engineering Value = 353000 × 0.0025 = 882.5
(Also Raw ADC Counts = 365420, Tare Offset = 12420)
Revision History
| Revision | Date | Changes |
|---|---|---|
| Rev 1.0 | 2026-08-10 | Initial datasheet, HW Version = 3, FW Version = 2 |
Get the latest version of this datasheet : click here..
Support
Website: www.veawe.io
Email: info@veawe.io