Skip to content

What ViewPoint Is

ViewPoint is a desktop application for visualizing and interacting with high-speed serial data from embedded systems. The desktop app receives both data and configuration from a microcontroller such as Teensy or Arduino (using our provided, open-source libraries) or another serial source, then renders that stream as live plots with multiple traces and analysis views.

In practice, ViewPoint sits somewhere between a serial plotter, a live instrumentation tool, and a lightweight analysis environment.

A live ViewPoint plot of a square-wave signal

What ViewPoint is and How to Use it

The normal workflow looks like this:

  1. A sketch on the device (microcontroller) sends commands and data over serial (USB-emulated, RS-232).
  2. ViewPoint receives those commands and uses them to configure plots, traces, labels, ranges, and modes.
  3. ViewPoint renders the incoming data in real time.
  4. The user can then further configure, inspect, tune, capture, or export what they see from the desktop UI.
  5. Additional commands can be sent and interleaved with data to update configuration.

The key idea is that the sketch can define the starting structure, while the desktop app gives the user ways to analyze and interpret what's received.

Live HelloPlotter session
Live HelloPlotter session — a working Cartesian plot with live data.
#include <ViewPoint.h>

void setup() {
    view.begin();
    view.setTitle("Hello Plotter");
}

void loop() {
    view.addData("A0", analogRead(A0));
    view.send();
}

Upload this (examples/Cartesian/HelloPlotter.ino), open the desktop app, and select the board's serial port from Settings. ViewPoint draws a single Cartesian plot titled "Hello Plotter" with one trace labelled A0, scrolling left to right as new samples arrive. With a floating input, the trace shows ambient ADC noise. See the detailed QuickStart guide for the full walkthrough.

Tip

Looking for the full manual offline? See the Downloads page for the PDF.


Created by VoidLoop · Founded by Gregory Kovacs · Written by Zachariah Magee