Real-Time Monospace Console & Multi-Variable Canvas Plotter
The Web Serial Monitor & Plotter is an interactive, browser-based hardware debugging utility designed for software engineers, firmware developers, and IoT hobbyists working with microcontrollers such as Arduino, ESP32, ESP8266, and Raspberry Pi Pico.
Using the standard Web Serial API supported in desktop versions of Google Chrome, Microsoft Edge, and Opera, this tool opens a secure, direct connection to your device’s USB serial controller. All incoming data streams are processed locally in your browser — no logs, code, or serial terminal transmissions are ever uploaded, saved, or sent to our servers.
How It Works & Data Formatting
To plot numerical data, your microcontroller simply needs to write numbers to the serial connection separated by standard delimiters.
Arduino Code Example (Single Variable)
To plot a single variable, print the number followed by a newline:
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
Serial.println(sensorValue); // Prints a single number per line
delay(50);
}
Arduino Code Example (Multiple Variables)
To plot multiple lines parallelly on the chart, print the numbers separated by commas, tabs, or spaces:
void setup() {
Serial.begin(115200);
}
void loop() {
float temperature = readTemp();
float humidity = readHumidity();
// Format: "value1,value2"
Serial.print(temperature);
Serial.print(",");
Serial.println(humidity);
delay(100);
}
The plotter engine dynamically detects the number of values in each line and maps them to distinct, colored lines in the real-time canvas chart.
Step-by-Step Instructions
- Connect Your Microcontroller: Connect your Arduino or ESP development board to a USB port on your desktop computer.
- Select Settings: Select the Baud Rate that matches your firmware’s settings (usually
9600or115200). - Grant Permissions: Click Connect Port. A native browser popup will list your connected COM/USB devices. Select your device and click Connect.
- Inspect Output: View the incoming prints in the scrolling Serial Monitor. Check Timestamps to debug delay parameters, or toggle Autoscale Y-Axis on the canvas plotter to adjust the chart viewport automatically.
- Send Commands: Use the command transmitter box at the bottom of the monitor to send messages back to your hardware.
Frequently Asked Questions (FAQ)
Is my hardware data private and secure?
Yes. The Web Serial API operates locally. The data received from your COM port is parsed and rendered entirely within your browser’s sandboxed client session. No data is stored, tracked, or sent to DwellixTools servers or any third-party analytics services.
Why is my browser displaying an “Unsupported Browser” warning?
The Web Serial API requires native operating system access to USB hardware, which is only implemented by Chromium-based desktop browsers (Google Chrome, Microsoft Edge, Opera). It is not supported by Mozilla Firefox or Apple Safari. Mobile operating systems (iOS and Android) also block direct USB hardware port requests due to sandbox restrictions.
Why can’t I connect to a port that is already open?
Only one application can communicate with a serial COM port at a time. If you have the Arduino IDE, VS Code (PlatformIO), or a serial utility like PuTTY open and connected to the board, you must disconnect it before connecting through this web tool.
What baud rates are supported?
This tool supports standard baud rates from 300 up to 1,000,000 bits per second. Ensure the baud rate selected in the dropdown matches the rate specified in your board’s setup function (e.g., Serial.begin(115200)).