Overview
emModbus is SEGGER's implementation of the Modbus protocol. It provides embedded devices with Modbus communication capabilities via UART (ASCII and RTU) and Ethernet (Modbus/TCP and Modbus/UDP), allowing them to connect with a range of industrial equipment, employ master and slave functions, and run efficiently on small microcontrollers with only minimal memory capacity.
Key features

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.

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 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 drives in factories, refineries, and power plants.
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.
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.
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.
| Feature | Master | Slave |
|---|---|---|
| Master API (including samples for ASCII, RTU and Modbus/TCP) | ||
| Slave API (including samples for ASCII, RTU and Modbus/TCP) | ||
| ASCII frame encapsulation | ||
| RTU frame encapsulation | ||
| Modbus/TCP frame encapsulation (also supports Modbus/UDP) | ||
| Kernel abstraction layer for embOS and Windows | ||
| Modbus master application for Windows (binary) | ||
| Modbus master application for Windows (source) | ||
| Modbus slave application for Windows (binary) | ||
| Modbus slave application for Windows (source) |
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 we offer a Friendly License.
Get in touch with us
Have questions or need assistance? Our Embedded Experts are here to help!
Reach out to us for:
- Licensing quotes
- Technical inquiries
- Project support

