# mbusd

> A self-hosted Modbus gateway bridging TCP networks to RTU serial devices, letting multiple clients share one RS-232/485 bus on tiny hardware.

- **Category:** Industrial IoT
- **Licence:** BSD-3-Clause
- **Latest version:** v0.5.3
- **Open source:** oss
- **Languages:** C, Python
- **Platforms:** Docker, Build from Source, Systemd
- **Tags:** Embedded, Iot, Gateway, Modbus, Tcp, Modbus Tcp, Serial, Modbus Rtu, Industrial, Rtu, Rs485, Rs232

## Description

This gateway connects Modbus TCP clients to RTU serial devices, acting as a TCP server that becomes an RTU master on the serial bus. Multiple TCP clients can share the same RS-232 or RS-485 line. Serial parameters like baud rate, parity, and timeouts are fully configurable. It handles RS-485 direction control automatically or via RTS, and can discard local echo from adapters that loop back transmissions. Standard function codes 1-7, 15, and 16 are supported; others work best-effort. Deployment options include building from source with CMake, running as a systemd service, or using the Docker image. The default port 502 needs root access. Settings come from command-line flags or a config file.

## Links

- [Homepage](https://github.com/3cky/mbusd)
- [Docker](3cky/mbusd)
- [GitHub repository](https://github.com/3cky/mbusd)
- [Issue tracker](https://github.com/3cky/mbusd/issues)

---
Source: https://selfhost.directory/project/mbusd