emModbus

Communication with any Modbus-Compliant Device

Embedded Modbus protocol implementation for industrial communication

Supports UART (ASCII, RTU) and Ethernet (Modbus/TCP, Modbus/UDP)

Runs efficiently on small microcontrollers with minimal memory requirements

Key Features

full_modbus

Full Modbus Compliance

emModbus supports Modbus RTU, ASCII, and Modbus TCP. Furthermore, it conforms to official Modbus specifications, which ensures interoperation with standard Modbus master-and-slave architectures.

embedded_systems

For Embedded Systems

emModbus has a minimally invasive memory footprint, but impressive performance. It is designed for resource-constrained MCUs with no dynamic memory allocation and configurable features.

portability_flexibility

Portability and Flexibility

With support for multiple protocols (ASCII, RTU, and Modbus/TCP and UDP), master-slave functioning, and the ability to integrate with standard TCP/IP stacks, emModbus integrates easily with a variety of real-time operating (RTOS) and bare-metal systems. It is also highly portable thanks to ANSI-C hardware- independent code that runs on any target, a kernel abstraction layer, and runtime configuration for interfaces.

Use Cases

emModbus is an excellent tool for facilitating simple and reliable exchanges of data and conducting monitoring and data logging in industrial automation, energy management, process control, and building automation. Users benefit from simplicity, interoperability, extensive adoption and support across industrial hardware and software, and versatility.

Industrial Automation

With its small memory footprint, deterministic behavior, and ability to enable easy mapping among application variables and Modbus registers, emModbus aids simple and reliable exchanges of data when connecting PLCs, sensors, actuators, robotic equipment, and motor drivers in factories, refineries, and power plants.

industrial

Energy Management

emModbus facilitates data collection from a wide range of energy-related devices, including smart meters, inverters, batteries, and EV chargers. It is ideal for use in home energy-management systems and grid-level monitoring and enables reliable, standardized communication between devices, for consistent data collection and simplified integration and analysis.

energy

How emModbus Works

emModbus is an efficient, lightweight software stack that allows devices to communicate over UART or Ethernet in a master or slave role. It can serve as a remote terminal unit (with serial communication protocols) or as a Modbus/TCP device (with an Ethernet stack with a socket interface). Used with SEGGER's embOS RTOS, another RTOS, or as a standalone product, it handles the complexities of Modbus messaging, data framing, and network communication.

modbus_stack_layers

Memory and Resource Use

rom

emModbus requires approximately 2.5 KB of ROM for a master device and 3 KB of ROM for a slave device

ram

emModbus requires approximately 30 bytes of RAM for a stack and approximately 300 bytes of RAM for each additional channel added to it

Versions and Features

SEGGER offers emModbus in two versions : emModbus Master and emModbus Slave.

FeatureMasterSlave
Master API (including samples for ASCII, RTU and Modbus/TCP)SupportedNo Supported
Slave API (including samples for ASCII, RTU and Modbus/TCP)No SupportedSupported
ASCII frame encapsulationSupportedSupported
RTU frame encapsulationSupportedSupported
Modbus/TCP frame encapsulation (also supports Modbus/UDP)SupportedSupported
Kernel abstraction layer for embOS and WindowsSupportedSupported
Modbus master application for Windows (binary)SupportedSupported
Modbus master application for Windows (source)SupportedNo Supported
Modbus slave application for Windows (binary)SupportedSupported
Modbus slave application for Windows (source)No SupportedSupported

Requirements

To use Modbus/TCP, emModbus requires a TCP/IP-capable stack and an RTOS, such as SEGGER's emNet and embOS, respectively. emModbus works with any TCP/IP stack that supports standard BSD sockets. For multitasking, although emModbus is fully usable without a real-time operating system, a multitasking system is recommended, particularly when implementing an Modbus master.

Licensing

The software is available under various embedded software license models and can be delivered as source code. All commercial licenses are based on a one-time payment, are royalty-free, and include six months of updates and support from SEGGER’s Embedded Experts.

There are no subscription fees, ensuring predictable and fixed costs over the entire product lifetime.

For non-commercial use, evaluation, and educational purposes, the software is provided under SEGGER’s Friendly License.