About emModbus

emModbus supports building master and slave devices which can even be combined in the same product. Also, multiple interfaces in the same product are supported. Each interface can be configured at runtime, making it possible to build a pretested library to be deployed in multiple projects for embedded solutions.


  • Easy to integrate
  • Low memory footprint
  • ANSI-C code is completely portable and runs on any target
  • Follows the SEGGER coding standards: Efficient and compact, yet easy to read, understand, and debug
  • Supports ASCII, RTU and Modbus/TCP (and UDP) protocol
  • Sample applications for all protocols included
  • Kernel abstraction layer: can be used with or without any RTOS
  • Works out-of-the-box with embOS
  • Modbus/TCP can be used with standard socket interface and any TCP/IP stack
  • Works out-of-the-box with emNet
  • Project for executable on PC for Microsoft Visual Studio available

The communication protocol Modbus for embedded systems

Modbus is an open, mature, and straight forward communications protocol. It was originally published in 1979 by Modicon (Schneider Electric) and has since evolved into a standard communications protocol for industrial electronic devices.

Modbus was specifically designed to be used in supervisory control and data acquisition systems, connecting a supervisory computer with several remote terminal units (RTU). It therefore uses a master-slave-technique in which one device, the master, initiates transactions (called queries).

Other devices, slaves respond by performing the action requested in the query and/or by supplying the requested data to the master.

emModbus—Available Shipments

SEGGER offers emModbus in two distinct shipments: emModbus Master and emModbus Slave.

Master API (including samples for ASCII, RTU and Modbus/TCP)SupportedNot Supported
Slave API (including samples for ASCII, RTU and Modbus/TCP)Not 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)SupportedNot Supported
Modbus slave application for Windows (binary)SupportedSupported
Modbus slave application for Windows (source)Not SupportedSupported


emModbus is available under various Embedded Software License models and delivered in source code packages. With a wide range of licensing options, emModbus can fulfill commercial requirements as well as technical requirements. All licenses are one-time payments. emModbus is royalty-free and not subscription-based. This makes the software a part of the equipment expenses, keeping the costs static.

* Applies to second seat/product and all additional seats/products of the Single Product License and Single Developer License.