Checking browser support…
Send arbitrary bytes over serial, capture the reply, and reverse-engineer the protocol — right in the browser.
Talks to your device locally over Web Serial — bytes never leave your browser.
Checking browser support…
The Serial Protocol Playground is the advanced companion to the serial monitor: instead of just watching a stream, you actively construct byte packets, send them to a device, capture the response and pick it apart. It's built for people writing firmware for their own serial device, or reverse-engineering the protocol of one they didn't. Everything runs over the Web Serial API in Chrome or Edge — no IDE, no driver install, and nothing you send or receive ever leaves your browser.
The packet constructor takes a mixed spec: hex (0x1A or a bare 1A), decimal (d255), binary (0b10101010) and quoted ASCII with escapes ("AT\r\n"), all in one line. A live preview shows the exact bytes that will go on the wire. Helpers handle the fiddly parts: auto-append a checksum or CRC (Modbus, CCITT, XMODEM, Maxim, SMBus, IEEE CRC-32, plus sum, XOR, LRC and Fletcher-16), auto-fill a length field over any byte range, and wrap the frame in SLIP or HDLC byte-stuffing.
Repeatable tests don't belong in your fingers. The script runner chains a short, loop-free sequence — send a packet, wait a fixed number of milliseconds, wait for a response that contains a given byte pattern — and runs it against the live port, with a timestamped pass/fail transcript for each step. Scripts are saved in your browser and travel inside an exportable protocol-definition file you can hand to a teammate.
Every send and receive is logged with a precise monotonic timestamp and can be exported as text or CSV for timing analysis. A captured response is shown side by side with the request as a hex-and-ASCII dump that matches the hex editor exactly, and an optional decoder annotates the bytes: a built-in Modbus RTU decoder that checks the CRC and names the function and exception codes, an NMEA 0183 sentence decoder, or a field template you define yourself (offset, length, type, label) — the same template idea as the hex editor, applied to an unknown protocol.
Web Serial is a Chromium-only API, so opening a port needs Chrome, Edge or Opera on the desktop (or Chrome 148+ on Android). Firefox and Safari don't implement it, so those browsers see an honest support matrix instead of a broken button — but the CRC/checksum calculator still works there, because it needs no device. Whatever you connect to, the bytes flow directly between this page and the device; the site never sees them.
A monitor is passive — it shows you a stream. This tool is active: you build exact byte packets (with computed checksums and length fields), send them, capture the response, and decode it. It's for testing a device you're building, or reverse-engineering one you're not.
CRC-16/MODBUS, CRC-16/CCITT-FALSE, CRC-16/XMODEM, CRC-8/MAXIM, CRC-8/SMBUS and CRC-32/ISO-HDLC (IEEE), plus the simpler 8-bit sum, XOR, LRC and Fletcher-16 block checks. Each is verified against its canonical check value, and you can auto-append any of them to a packet or use the standalone calculator with no device connected.
Yes. The Modbus decoder validates the trailing CRC-16, names the function code, breaks out request and response fields (start address, quantity, byte count, register values) and flags exception replies with the exception name. If the CRC is wrong it still decodes the frame and shows the value it expected.
You compose a sequence of three step kinds — send, wait a fixed delay, and wait-for-a-response-containing a byte pattern — with no loops or branching, on purpose: it's for repeatable test flows, not writing programs. Running a script produces a per-step transcript with timestamps, so you can see exactly where a handshake stalled.
No. The connection runs entirely through your browser's Web Serial API, so bytes flow directly between the page and the device. Nothing you send or receive is transmitted to a server; the site's anonymous analytics only record that the tool was used, never the data.
Chrome, Edge and Opera on the desktop, and Chrome 148+ on Android, because Web Serial is Chromium-only. Firefox and Safari don't implement it and show a support matrix instead. The CRC/checksum calculator works in every browser since it needs no serial port.
Send a command here, then plot the numeric response over there →