Serial Monitor Guide

A browser-based serial terminal with a 6×16-bit status panel for watching registers, flags or GPIO states live. No drivers or desktop software beyond your board's USB-UART driver.

Open the Serial Monitor →

Connecting a device

  1. Use Chrome or Edge on desktop and open the tool over HTTPS (or localhost).
  2. Plug in your board and choose the baud rate your firmware uses.
  3. Click Connect and pick the port in the browser dialog.
  4. Incoming data appears in the log. Type in the send box and press Send to write a line (a newline is appended).
  5. Click Disconnect before unplugging, or simply unplug — the tool detects it.

Status panel data format

Every received line is shown in the log. Lines that match the status format also update one of the six indicator rows:

STAT<n>:<hhhh>
  • n — indicator number, 1 to 6.
  • hhhh — exactly four hex digits (0000–FFFF), upper or lower case.
  • One status per line, terminated by \n or \r\n. Lines may arrive split across reads; the tool reassembles them.
  • LEDs are drawn MSB → LSB: the leftmost LED is bit 15, the rightmost is bit 0.
  • Anything else (boot messages, debug prints) is logged and otherwise ignored, so you can mix both.

Examples

STAT1:ABCD   → row 1 = 1010 1011 1100 1101
STAT6:0001   → row 6, only bit 0 lit
stat2:ff00   → row 2, upper byte lit
STAT7:1234   → ignored (no row 7)
STAT1:123    → ignored (needs 4 digits)

Arduino / ESP32 firmware snippet

void setup() {
  Serial.begin(115200);
}

void loop() {
  uint16_t status = readStatusRegister();   // your 16-bit value
  char line[16];
  snprintf(line, sizeof(line), "STAT1:%04X", status);
  Serial.println(line);                     // ends with \r\n
  delay(100);
}

No hardware at hand? The Generate (randomize all) button fills the panel with random values so you can preview the layout.

Troubleshooting

The page says Web Serial is not supported.

Web Serial is only available in Chromium-based desktop browsers (Chrome, Edge, Opera). Firefox and Safari do not support it, and neither do most mobile browsers.

The page says it requires HTTPS or localhost.

Browsers only expose Web Serial on secure origins. Open the tool over https:// or from http://localhost when running the site locally.

My device does not appear in the port picker.

Check the USB cable carries data (not charge-only), install the USB-UART driver for your board (CP210x, CH340, FTDI) if your OS needs one, and close any other program that has the port open, such as the Arduino IDE serial monitor.

I see garbled characters in the log.

The baud rate does not match the device. Disconnect, select the same baud rate your firmware uses (9600, 19200, 57600 or 115200), and connect again.

Text appears in the log but the indicators do not change.

Each status line must be exactly STAT<n>:<hhhh> on its own line: n from 1 to 6, exactly four hex digits, nothing else on the line, terminated by a newline. Leading and trailing whitespace is ignored.

The connection drops when the board resets.

Many boards re-enumerate on reset, which closes the port. The log shows [Device disconnected]; click Connect and select the port again.