Arduino oscilloscope uses ROS code

Posted on Saturday, July 9th, 2011 in Arduino, oscilloscope by the machinegeek 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.)

This entry was posted on Saturday, July 9th, 2011 at 3:00 pm and is filed under Arduino, oscilloscope. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

One Response to “Arduino oscilloscope uses ROS code”

  1. privatier says:

    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 Reply

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

Recent Comments

  • Drone: The LM7171 used in this very simple design can be simulated in LTspice with reasonable results at 10MHz using the non-encrypted PSPICE model from TI...
  • Jon Jackson: I would be interested in 1 or 2 of your circuit boards. Jon
  • Max: An actual Saturday "detector" built with the same hardware would use the precisely timed slightly varying length of the day (and some built-in astronomy data)...
  • KH: In the old days, these things remained on paper forever as whimsical scrawls. Today, they are brandished about on blogs for the entire world to...
  • KH: So he doesn't really know what he's doing. Yawn. It's sensor-controlled. It's not an oscillator. A leaf covers the window, you're toast. TLV3702? Overkill. The...