Arduino oscilloscope uses ROS code presents this project tutorial demonstrating that a simple oscilloscope can be implemented using the Arduino. They write:

In this tutorial, we will be making a poor man’s oscilloscope using the Arduino’s ADC (analog to digital converter) and rxplot. We will set up a publisher which will forward the analog values from each of the Arduino’s 6 ADC pins to ROS using rosserial. This will be a relatively bad oscilloscope (very low sampling frequency and resolution), but it will be perfect for many quick and dirty setups.

This project requires that you have the ROS (Robot Operating System) installed on your machine. ROS provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. It is available in a supported Ubuntu package download here. (Experimental packages are also available for other operating systems.)

Join the Conversation

1 Comment

  1. For another implementation of an oscilloscope using an Arduino as data acquisition device, see my lxardoscope, available at
    – display modes: two channels, time/add/xy
    – vertical: 2mV to 10V per division
    – overall gain control for calibration
    – horizontal: 100us to 5 sec, for full sweep
    – trace position adjustments: vertical and horizontal
    – trigger: on/off, channel 1 or channel2, rising or falling edge
    – trigger level: -10 to +10V
    – signal level measurements: max, min, pp, avg, rms
    – signal levels and time shown for mouse pointer location selected on display
    – up to 3000 samples per second, per channel
    – option for recording input data stream to file
    – option to display recorded data from file
    – timebase calibration adapts to Arduino’s conversion speed
    – GND calibration allows for selecting arbitrary GND potential

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.