
Advanced Mode shows int16, uint16, int32, uint32, float and more side-by-side for every register. Stop guessing which data type is correct. See them all at once.
Assign a specific data type to each register: integers, floats, timestamps, UTF-8 strings or bitmaps. Add scaling factors and linear interpolation to convert raw values into real units.
Define 16-bit bitmaps with per-bit labels, colors (default, warning, error) and invert logic. See at a glance which alarms are active and which bits mean what.
Scan Unit IDs to find active devices on the bus. Scan register ranges to discover where data lives. No more guessing wrong addresses from outdated documentation.
Simulate up to 10 servers with 248 Unit IDs each. Use value generators with configurable intervals to produce realistic test data including timestamps.
Run client and server side-by-side in separate windows. Great for learning Modbus or testing PLC implementations against your own simulations before going on-site.
Connections, register configs, server setups: everything saves automatically between sessions. Save and load complete configurations as versioned JSON files.
Windows and macOS. Modbus TCP and RTU with automatic COM port discovery. Adjustable timeouts and big/little-endian toggle for any device.
Four years ago, I was thrown into a CHP plant commissioning with zero Modbus experience. The client didn't know the addresses. I didn't know the protocol. I had a scanner that found... something... and a hex reader that showed me values I couldn't interpret.
Is that temperature in register 100 or 101? Does the documentation start at 0 or 1? Why does TIA Portal call it 40000 when the manual says holding register 0? Is it big-endian or little-endian?
This went on for four years. I watched colleague after colleague hit the same walls. The tools we had could read a float or an int if you were lucky, but they never gave you the full picture. Endianness? Swap the registers yourself and hope. Documentation starting at the wrong offset? Good luck.
So I built something that shows you every possible data interpretation at once. That scans not just for devices, but for where the actual data is. That lets you test PLC implementations against simulated devices before you're on-site hoping everything works.
Get startedSaved configs are JSON. Show Claude, Gemini, or any other LLM a few example registers, paste your device documentation, and ask it to complete the mapping. Load it back into Modbux.
Modbux is free and open source. Found a bug? Have a feature idea? Contributions are welcome — open an issue or submit a pull request on GitHub.
git clone https://github.com/ploxc/modbux.git
cd modbux
yarn
yarn dev # development mode
yarn build:win # or build:mac / build:linux