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

  • Nathan Johnson: 100 channels. Not many are legal in any given area. Be sure to comply with local laws.
  • William Brodie-Tyrrell: It's getting to the point where it's cheaper and definitely easier to use a Pi Zero or similar and a $20 3G USB dongle. Power...
  • KH: IIRC most of the actual operating system of modern HDDs is in one of the platter(s); the stuff on the 25VF010 is a bootup firmware......
  • Trev: I don't know of any inexpensive 3G modules (prices start around $US 50), but it does explain why 2G modules are relatively inexpensive by comparison....
  • Zonie: This site Rocks!