finds.dev← search

// the find

hirschenberger/modbus-rs

★ 108 · Rust · MIT · updated Feb 2026

Modbus implementation in pure Rust

Pure Rust Modbus TCP client implementation, covering coil and register read/write operations. Targets embedded and industrial automation developers who need to talk to PLCs, sensors, or other Modbus devices from Rust without a C dependency.

1. Zero C dependencies — pure Rust with no FFI overhead, which matters for cross-compilation to embedded targets. 2. Clean, minimal API surface: the Client trait is straightforward and the TCP transport is usable in a handful of lines. 3. Active maintenance with CI on GitHub Actions and a recent 2026 push, so it's not abandonware. 4. Includes a real integration test server written in C to validate wire-level correctness against an authoritative implementation.

1. TCP only — no RTU or ASCII transport, which rules out RS-485/serial Modbus, the dominant physical layer in actual industrial hardware. 2. Synchronous blocking API with no async support; you're stuck spawning threads if you want to poll multiple devices concurrently. 3. 108 stars in 11 years is a signal the Rust industrial/embedded community hasn't widely adopted it — tokio-modbus exists and has async RTU+TCP, so this crate is solving a narrower problem. 4. Error handling uses unwrap() in the README examples, and the library's own error types are thin — production use will require wrapping everything defensively.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →