// the find
slowtec/tokio-modbus
A tokio-based modbus library
Async Modbus client/server library for Rust, built on tokio. Covers TCP, RTU, and RTU-over-TCP in both async and blocking variants. The target audience is industrial automation developers who need to talk to PLCs, sensors, or other Modbus devices from Rust.
Fine-grained Cargo feature flags let you pull in only what you need — no RTU code compiled into a TCP-only binary. The sync wrappers are a practical concession to industrial codebases that aren't async-native yet. CI includes a security audit workflow and feature-matrix checks, which matters more in embedded/industrial contexts than in web services. Active maintenance since 2017 with a changelog and structured commits suggests this isn't abandonware.
540 stars after nine years is thin for something this foundational — the Modbus ecosystem in Rust is fragmented and this library hasn't become the obvious default. Server-side implementation is described as 'a starting point for a customized implementation,' which is honest but means you'll be writing non-trivial glue for anything beyond echo-register demos. No mention of Modbus ASCII transport support despite it appearing in the topics. Integration testing against real or emulated hardware isn't documented, so you won't know how it handles timing edge cases until you're in the field.