← All tutorials · Ohmforge

Tutorial 17 of 20

Serial monitor – talk to your board, plot its numbers, measure them

Intermediate 10 min

Connect to an Arduino or another USB serial board with Web Serial, read and send lines, plot numbers live and hand the recording to the Capture analyzer.

The Serial monitor connects Ohmforge to a board on a USB serial port: an Arduino, an ESP32, a USB-to-UART adapter or any device that prints text. You read what it sends, send commands back, plot lines of numbers live and measure them with the Capture analyzer.

Open it with Instruments → Serial monitor….

Browser support

The monitor uses the browser's Web Serial API. It works in Chrome, Edge and Opera on a desktop computer (Windows, macOS, Linux, ChromeOS). Firefox, Safari and phone browsers do not have Web Serial; the first line of the window says so. You can still use Open log file… and Example logs there.

Ohmforge's workspace is the only usefulweb page that may ask for a serial port. Every other page, including Ohmforge's own landing page and tutorials, blocks serial access.

Connect

  1. Choose the Baud rate your sketch uses, for example 115200 for Serial.begin(115200). Other baud rate… accepts any value, such as 74880 for ESP8266 boot messages.
  2. Leave Data bits 8, Parity None, Stop bits 1 and Flow control None unless your device needs something else. Together that is 8N1. Web Serial offers 7 or 8 data bits, no/even/odd parity and 1 or 2 stop bits.
  3. Press Connect…. The browser shows its own list of ports. Pick your board and press its connect button. Nothing happens without this choice, and Ohmforge never connects by itself, not even to a port you chose before.

The status line then shows, for example, Connected at 115200 baud, 8N1 (USB device 2341:0043). Many Arduino boards restart when a port is opened, so the first lines are often boot messages. If the port cannot be opened, another program such as the Arduino IDE probably has it open; close that program first.

Terminal

The Terminal tab lists every received line. Show timestamps adds the arrival time, Show bytes as hex shows the raw bytes (useful for binary protocols and odd characters), and Scroll to new lines keeps the newest line in view. Control characters appear as symbols such as ␛, so they do not disturb the display. Screen-reader users can switch on Announce new lines to screen readers; it is off by default because a busy device would talk all the time.

To send, type into Send to the device, choose the Line ending your device expects (Newline (LF) for most Arduino sketches, Carriage return and newline (CR LF) for AT commands) and press Send or Enter. Send as hex bytes sends values such as 48 65 0D.

Be careful with commands: sending data to a device you do not know can make it act. It can move motors, switch relays or erase its memory. Sends are limited to 5 per second and 1024 bytes each. Ohmforge never flashes firmware.

Download log saves the recording as text with a date and time on every line, for example [2026-11-02 10:15:30.125] temp:21.5 hum:40. Lines you sent start with >>. Clear starts a new recording.

Plotter

The Plotter tab draws every line that holds numbers, like the Arduino serial plotter: 512, 1.5 2.0, 1,2,3 or labelled values such as temp:21.5 hum:40. Text lines are skipped. Unlabelled numbers are named Value 1, Value 2 and so on. Choose the Time window to see the last 10 seconds up to Everything, and use Pause plot to freeze the picture while data keeps arriving. Latest values shows the newest number of every series.

Send to capture analyzer

Under Send to capture analyzer, pick the Time base:

  • Arrival times of the lines – the receive times. They have about 1 ms resolution and a few milliseconds of USB jitter, which is fine for slow sensors.
  • First number is the device time – best for fast signals. Print millis() or micros() first, for example Serial.print(millis()); Serial.print(','); Serial.println(analogRead(A0));, and choose the Unit of the time column.
  • Fixed sample rate – when the sketch prints at a steady rate, enter the lines per second.

Press Send to capture analyzer. The Capture analyzer opens on top with up to four series as channels. It measures frequency, duty cycle, rise time and RMS, and shows the spectrum with the same code it uses for oscilloscope files. Close it to return to the still-running monitor.

Try it without hardware: choose ADC logger with millis() time column, 1 Hz sine under Example logs, press Open example, then Send to capture analyzer on the Plotter tab. The analyzer reports 1 Hz.

Privacy and limits

The port closes when you close the Serial monitor window. Disconnect when this tab is hidden closes it when you switch tabs. The recording stays in this browser tab and is not uploaded. A saved log can also be analysed with the tool ohmforge-serial-log-to-capture through the JSON API and MCP. There is no logic-analyzer mode and no firmware upload.

Ready to try it?

Launch Ohmforge →