Awesome Industrial Modbus [](https://awesome.re)
May 31, 2026 · View on GitHub
🏭 A curated list of awesome Modbus resources, libraries, tools, and devices for industrial automation, SCADA, and ICS engineers.
Modbus is the most widely deployed industrial communication protocol in the world. Over 50 years after its introduction by Modicon in 1979, it remains the de-facto standard for industrial DC monitoring, battery banks, telecom rectifiers, solar inverters, and millions of legacy and modern industrial devices.
This list focuses on resources that are actively maintained, openly licensed, and genuinely useful for production work — not toy projects, marketing pages, or dead links.
Contents
- Specifications & Documentation
- Client Libraries
- Slave Simulators
- CLI Tools
- GUI Tools
- Network Analysis
- Security & Pentest
- SCADA Integration
- Educational Resources
- Books & Whitepapers
- Talks & Videos
- Related Awesome Lists
- Contributing
Specifications & Documentation
- Modbus.org official specifications - Application Protocol V1.1b3, RTU/TCP specifications, conformance test specs.
- Modbus Organization - The official body maintaining the standard.
- Wireshark Modbus dissector source - Reference implementation of Modbus TCP parsing.
- Modbus on Wikipedia - Comprehensive overview with history and protocol details.
Client Libraries
Python
- pymodbus - The de-facto Modbus implementation for Python. Supports RTU/TCP/ASCII over serial and network transports. Asyncio support. (★ 2400+)
- umodbus - Pure Python implementation of Modbus TCP, UDP and RTU. Server and client.
- minimalmodbus - Minimal Python implementation focused on serial RTU/ASCII.
- pyModbusTCP - Simple Modbus/TCP client and server library for Python.
- async-pymodbus - Async pymodbus wrapper for high-performance polling.
C/C++
- libmodbus - The classic Modbus library for Linux/Mac/FreeBSD/QNX/Windows. (★ 2400+)
- nanoMODBUS - Compact MODBUS RTU/TCP C library for embedded/microcontrollers.
- FreeMODBUS - Free implementation of the Modbus protocol primarily designed for embedded systems.
- Mbed Modbus - Modbus library for ARM mbed OS embedded systems.
- esp-modbus - ESP-IDF Modbus library for ESP32 microcontrollers.
Java
- jamod - Object-oriented Java implementation of the Modbus protocol.
- j2mod - Fork of jamod with bug fixes and additional features.
JavaScript/Node.js
- modbus-serial - Pure JS implementation of Modbus master (client) and slave (server). RTU/TCP/UDP.
- jsmodbus - Node.js implementation of Modbus master and slave.
Go
- goburrow/modbus - Fault-tolerant, fail-fast implementation of Modbus protocol in Go.
- grid-x/modbus - Fork of goburrow/modbus with additional features.
Rust
- tokio-modbus - Modbus library for the Tokio async runtime.
Slave Simulators
Critical for development and CI — let you test Modbus master code without physical hardware on the bench.
- aem-modbus-simulator - Open-source Python Modbus RTU/TCP slave simulator with realistic 147-register industrial DC monitor map (17 functional blocks). Six baudrates (4800-115200), TCP and Serial modes, 3 preset scenarios (telecom 48V, solar strings, automotive 24V). MIT license, pymodbus 2.x/3.x compatible.
- diagslave - Commercial Modbus slave simulator. Free for non-commercial use.
- ModbusPal - Java-based Modbus slave simulator with GUI.
- PeakHMI Modbus Slave Simulator - Windows-based Modbus slave simulator.
- MOD_RSsim - Free Modbus RTU/TCP/ASCII slave simulator for Windows.
- pymbsim - Python-based Modbus slave simulator.
- Simply Modbus - Commercial Windows Modbus simulator with manual documentation.
CLI Tools
- aem-modbus-cli - Open-source Python CLI for Modbus RTU/TCP diagnostics:
scan(sweep IDs 1-247),baudrate(auto-detect),read(with retry diagnostics),bench(RTT and error rate measurement). MIT. - mbtget - Simple Modbus/TCP client written in Perl.
- ctmodbus - Multi-purpose Modbus protocol interaction tool.
- mbusd - Modbus TCP to Modbus RTU gateway daemon (open-source).
- modpoll - Command-line Modbus master tool (commercial, free for non-commercial).
GUI Tools
- QModMaster - Free Modbus master/slave application using libmodbus. Qt-based, cross-platform.
- Modbus Doctor - Commercial Windows GUI for Modbus debugging.
- Modbus Poll / Modbus Slave - Industry-standard commercial Modbus testing GUI (Windows).
Network Analysis
- Wireshark - Industry-standard packet analyzer with full Modbus TCP dissector support.
- tcpdump - Command-line packet analyzer (use with
port 502filter for Modbus TCP). - Scapy Modbus layer - Python packet manipulation for crafting custom Modbus frames.
- ICS-pcap Modbus samples - Real-world Modbus traffic captures for testing.
Security & Pentest
- Nmap modbus-discover.nse - Nmap script for discovering Modbus devices on a network.
- modicon-info.nse - Nmap script for fingerprinting Modicon PLCs.
- Malmod - Scripts targeting Modicon M340 via UMAS protocol.
- Industrial Exploitation Framework (ISF) - Metasploit-like framework for ICS protocols.
- aem-iec62443-checklist - 47-item IEC 62443-4-2 Security Level 2 checklist + interactive Python validator for Modbus-speaking industrial devices.
SCADA Integration
- Ignition (Inductive Automation) - Industrial application platform with native Modbus driver.
- FUXA - Open-source web-based SCADA with Modbus RTU/TCP support. (★ 2100+)
- Elipse E3 - Brazilian SCADA platform with Modbus support.
- AVEVA InTouch HMI - Industry-standard HMI with Modbus support.
- Node-RED modbus nodes - Node-RED nodes for Modbus RTU/TCP integration.
- Telegraf Modbus plugin - InfluxDB Telegraf input plugin for Modbus.
- Home Assistant Modbus integration - Modbus support in Home Assistant for residential/commercial IoT.
- Zabbix Modbus monitoring - Zabbix monitoring agent for Modbus devices.
- openHAB Modbus binding - Modbus support in openHAB home automation.
Educational Resources
- Modbus Mesulog Standard Functions Help - Free comprehensive Modbus reference.
- Introduction to Modbus and Modbus Function Codes (Control Automation, 2023) - Modern introduction with field engineer perspective.
- LRI Modbus Map (Interactive) - Full 147-register Modbus map of an industrial DC monitor with interactive documentation.
Books & Whitepapers
- Modbus Application Protocol Specification V1.1b3 - Official Modbus.org specification (free PDF).
- Modbus RTU for Secure DC Monitoring (LRI, 2026) - 4500-word technical whitepaper covering Modbus RTU architecture, Ed25519 firmware signing, and Secure by Design patterns.
- IEC 62443-4-2 SL2 in Practice (LRI, 2026) - Practical checklist for IEC 62443-4-2 Security Level 2 applied to Modbus-speaking devices.
- Secure architecture for 48V telecom battery banks (LRI, 2026) - Real-world Modbus deployment in telecom DC infrastructure.
Talks & Videos
- Understanding SCADA's Modbus Protocol — Justin Searle @ Black Hat Asia (2015) - Classic intro to Modbus from a security perspective.
- Fun with Modbus 0x5a — Arnaud Soullié @ DEF CON 25 (2017) - Modbus security research talk.
- Modbus Enumeration | SANS ICS Concepts (2021) - Educational series on Modbus security.
- Modbus Man-in-the-Middle | SANS ICS Concepts (2021) - Modbus MITM attack patterns and defenses.
Related Awesome Lists
- Awesome IoT - Broader IoT resources including industrial protocols.
- Awesome Industrial Protocols - Security-oriented list of industrial protocols (Modbus, S7, DNP3, etc).
- Awesome ICS Security - Industrial Control System security resources.
- Awesome Connected Things Security - IoT/IIoT security resources including firmware analysis.
- Awesome Embedded - Embedded systems development.
Contributing
Contributions welcome — please read CONTRIBUTING.md first.
Quality bar:
- Project must be actively maintained (commit within last 12 months)
- License must be clear (open-source preferred but commercial OK if industry-standard)
- Description must be factual, not promotional (max 1 sentence value claim)
- New entries go in alphabetical order within sections
- One PR = one logical addition (don't bundle unrelated entries)
If you maintain a Modbus-related project that fits a section here, feel free to PR with a disclosure of your involvement.
License
CC0 — Public Domain. Use freely.
Maintained by Leandro Roisenberg (LRI Automação Industrial). Disclosure: I maintain aem-modbus-simulator, aem-modbus-cli, and aem-iec62443-checklist which appear in this list. They are listed on technical merit alongside competing tools (commercial diagslave, ModbusPal, Modbus Poll/Slave). Suggestions and competing alternatives are welcomed via PR.