No description, website, or topics provided.
Switch branches/tags
Clone or download
Failed to load latest commit information.
ArduinoPrintADC project files added, readme updated Apr 6, 2013
Serial Oscilloscope Log to file tool Jul 21, 2013
.gitattributes initial commit Apr 5, 2013
.gitignore initial commit Apr 5, 2013 Update Aug 5, 2013


Serial Oscilloscope is a Windows application that plots comma-separated variables within any incoming serial steam as channels on a real-time oscilloscope. The application also functions as a basic serial terminal, received bytes are printed to the terminal and typed characters are transmitted. The project uses Michael Bernstein's oscilloscope library to plot up to 9 channels on 3 different oscilloscope with view and trigger menus.

Serial Oscilloscope is compatible with any serial stream containing comma-separated values terminated by a new-line character ("\r"). For example, "11,22,33\r" will be interpreted as values 11, 22 and 33 for channels 1, 2 and 3 respectively. The serial stream can also include non numerical characters which will be ignored. For example, "a=0.5,blue,x=3.14,t1t2t3,8\r\n" will be interpreted as values 0.5, 3.14, 123 and 8 for channels 1, 2, 3 and 4 respectively.

The source files also include an Arduino sketch to send analogue input values over serial. Up to 6 ADC channels can be enabled by sending the characters "1" to "6" to the Arduino. Enabling more channels will reduce the sample rate.

In the YouTube video I show the Arduino and Serial Oscilloscope being used to plot data from an IR distance sensor, a triple-axis accelerometer and a microphone.

Precompiled binary files can be downloaded from the x-io website.

Version history

  • v1.0 Initial release
  • v1.1 Supports non-standard baud rates. Disable terminal feature added.
  • v1.2 Fixed memory leak and bug that prevent plotting of negative numbers.
  • v1.3 No longer ignores "." for plotting decimal values.
  • v1.4 Clear terminal menu item added
  • v1.5 Log to file tool. Remove non-numerical characters from port names.