built-in toolkit

Undocumented equipment,
made to introduce itself.

The usual obstacle with legacy machines is not technical — it is that nobody remembers the comms settings. The serial toolkit works through the possible combinations systematically, judging each one by whether real frames arrive intact and CRC checks out, until it locks on.

serial autodetect / com3

Illustrative output. Real scans reorder candidates based on observed traffic and timeout settings.

search space

There are more combinations than you would guess.

By hand, every candidate means changing settings and waiting out a timeout. A few hundred permutations quickly becomes an afternoon. The toolkit walks them in milliseconds.

BAUD RATE

Baud rate

1200 / 2400 / 4800 / 9600 / 19200 / 38400 / 57600 / 115200

FRAME

Frame format

7/8 data bits × none/even/odd × 1/2 stop bits

PROTOCOL

Protocol

Modbus RTU / ASCII plus signatures of common vendor protocols

SLAVE ID

Slave IDs

Sweeps 1 – 247 and lists every station that responds

how it decides

Evidence, not guesswork.

Four layers of signal narrow the field and rule out candidates that merely "look like" a response.

  1. Framing and parity errors

    At the wrong baud rate the UART raises framing and parity errors. High-error candidates are discarded immediately.

  2. Silent-interval consistency

    At the correct baud rate, the gaps between frames settle into a stable, protocol-specific pattern.

  3. Checksum verification

    CRC-16 (RTU) or LRC (ASCII) is recomputed. Only several consecutive passes count as a hit.

  4. Semantic plausibility

    Function codes must be in the legal set, declared and actual lengths must agree, address ranges must be sensible.

passive mode first

When an HMI is already polling, the toolkit defaults to passive listening: it transmits nothing at all and derives the settings purely from existing traffic.

That matters wherever injecting frames into a running machine is not permitted — which is most production lines.

active mode · authorisation required

If no master is present on the line — an idle machine, or a standalone PLC — the toolkit can probe with the lowest-risk read-only requests (Modbus FC03/FC04).

Active mode always requires explicit human enablement and can be limited to specific station IDs and address ranges.

output

The scan ends with a usable configuration.

  • — Confirmed serial parameters (baud, data bits, parity, stop bits)
  • — Protocol type and the list of stations answering on the line
  • — Observed poll cycles and per-station share of traffic
  • — Register address ranges actually accessed — your tag list starting point
  • — A config file for the Falcon, plus a data summary for the AI agent

That last item matters most: the summary is the input to the one-hour remote HMI workflow.

scan-result.json
{ "port": "COM3", "baud": 38400, "frame": "8E1", "protocol": "modbus-rtu", "confidence": 0.98, "slaves": [ { "id": 1, "polls_per_sec": 4.2 }, { "id": 2, "polls_per_sec": 1.1 } ], "observed_ranges": [ "4x:0-19", "4x:100-107", "0x:0-31" ], "errors": { "crc": 0, "timeout": 2 } }

Got a machine nobody understands?

That is exactly the right place to start.