Leave that ticked for an ESP32 or Arduino dev board: opening the port pulses its reset line, so the tool waits for the board to finish booting and throws away the boot message. Untick it for a plain RS485 adapter to connect faster.
You just proved the bus works. Now leave it running.
Tick the registers worth keeping and Synacl will read them every few seconds from an ESP32 gateway: live charts, history, alerts, an API. Five devices free, no card.
- A gateway comes first. Flash an ESP32 from the browser flasher, then register it — no firmware to write.
- The settings carry over. The card holds exactly what worked here.
- Alerts when it drifts. Email, webhook or MQTT on a threshold.
- Five devices free. Compare the plans.
When nothing answers
Work through it in this order — it is roughly the order of how often each one is the culprit.
- The unit id is not what you think. Run the scan. Devices ship as id 1 far less often than datasheets imply, and a device that was ever commissioned may carry someone else's numbering.
- The serial settings are wrong. Run the baud finder. Energy meters commonly use
9600 8E1, sensors more often9600 8N1. If replies arrive but fail their checksum, this is almost certainly why. - A and B are swapped. There is no standard for the labelling. Swapping them is harmless, so try it before anything else physical.
- No termination, or no common ground. On runs over a few metres, a 120 ohm resistor across A and B at each end of the bus, and a ground wire alongside the pair, stop being optional.
- The address is off by one. A datasheet's
40002goes on the wire as address1. An Illegal Data Address exception with a plausible-looking address is usually this.
Questions this page gets asked
Mostly about wiring, and about what it is safe to do.
What hardware do I need?
A USB-to-RS485 adapter and a Modbus RTU device. Any adapter with automatic direction control works; the common CH340, CP2102 and FTDI ones all do. Wire A to A and B to B. If nothing answers, swapping A and B is the first thing to try, because the labelling is not consistent between vendors and swapping them does no harm.
Nothing answers. Where do I start?
In this order: the unit id, then the serial settings, then the wiring. Use the scan to sweep unit ids 1 to 32, which takes a few seconds and rules out the most common problem. If that finds nothing, use the baud finder, which tries the usual speed and parity combinations. If both come up empty, the problem is physical: A and B swapped, no common ground on a long run, a missing 120 ohm termination resistor, or the device not powered.
I get CRC errors on every reply.
A reply that arrives but fails its checksum almost always means the baud rate or parity is close but not right. The bytes are being sampled at the wrong moments, so most of the frame survives and the checksum does not. Many energy meters use 9600 8E1 rather than the more common 9600 8N1. The baud finder tries both.
Which address do I type?
Whichever your datasheet uses — the tool takes all three and shows the others. Datasheets usually number registers from 1 with a type prefix, so 40002 is the second holding register. The address that travels on the wire is zero-based, so that same register is address 1. Getting this wrong by one is the most common Modbus mistake there is, which is why the field offers you the choice instead of assuming.
Can this tool write to my device?
Yes, but only single coils and single registers, and only after a dialog that restates exactly what will be written and where. Writing changes the state of physical equipment, so nothing is written by accident and nothing is written while polling. Multi-register writes are deliberately not offered. If the equipment can move, heat or switch, make sure it is safe before you confirm.
Does Synacl read 32-bit floats?
Not today. A Synacl gateway reads one 16-bit register per tag, unsigned, and applies a scale factor and offset. If your meter publishes a 32-bit float, either add its two registers as separate tags or use the 16-bit integer register most meters also publish. This page tells you which of the values you are reading Synacl can store directly.
Is anything uploaded?
No. Nothing you type or read leaves your browser. The only network request the tool makes is one anonymous ping (a GET to /tools/_/…, no cookies, no identifiers) when a decode or read succeeds, so we know the tool is used. The register values themselves are never sent anywhere.
Why does it not work in Firefox or Safari?
Talking to a serial port from a web page needs the Web Serial API, which only Chromium-based desktop browsers implement: Chrome, Edge, Opera, Arc and Brave. Firefox and Safari have declined to ship it, and no mobile browser has it. The frame decoder and CRC calculator on this site are pure calculation and work everywhere.