Wavewatch, a soundcard oscilloscope and waveform generator

ww_gui D4p0up shared his open source soundcard oscilloscope in the project log forum:

Here is a tool that might help some of you in your DIY activities : WaveWatch, a soundcard oscilloscope 100% made with Processing.
I’ve just released the 1.3 version, making it a very credible, user friendly and totally open source alternative to existing soundcard scope systems, so that it’s worth sharing it !
It’s got all the features you’d expect from a standard scope,

  • dual channel,
  • configurable Triggering (single/Auto),
  • time and voltage measurement,
  • frequency calculation,
  • markers with delta calculation
  • voltage calibration

Project info at Banson project page. All files are available on Github.

Via the forum.

Join the Conversation


  1. How do i connect this to make it work ? audio ouput of my soundcard ? or mic line ?

    i have read you have to use a simple circuit to control the current passing through your soundcard ?

    thanks, i d like to give a try and make it work.

  2. Hi!

    You can connect any signal to the line or microphone input of your sound card. But be carefull as this signal may damage your soundcard, at least use a serial resistor, or as you mention use an input voltage divider to be sure. You can do some alignment later on inside WaveWatch to have the input voltage matching display voltage.

    And by the way, thanks Dangerous Prototypes for sharing the tool!

    1. I’ve seen many projects of this sort but have never investigated them in detail to resolve some questions in my head. One niggling question:
      – Some mic input schematics for PC audio chips show 1uF blocking caps for each channel. So would the oscilloscope (say your specific example) work with DC, or is it AC-only? Also most examples I’ve seen like to show sine waves, but what would a 20kHz square wave (e.q. viewing PWM output) look like?

  3. You’re correct, bypassing the cap -should- make it DC compatible. I’ve never tested it, and the potential problem around it would be to deal with the biasing that is performed inside any soudncard line input to make it 0-Vcc compatible.

    A 20kHz signal with WaveWatch is feasible, since there are only 2 samples per period, so it looks like a square wave, it will look like a square wave and timing information would be hardly usable.

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.