Xoscillo Turns Arduino In An Oscilloscope

If you don’t have an oscilloscope you’d be surprised how many times you find yourself needing one. But if you have an Arduino on hand, the next time you might be able to get by with this software suite that can use a development board as oscilloscope inputs. The project is called xoscillo, and it allows an Arduino, or a Parallax USB Oscilloscope, to probe the signals while a computer does the heavy lifting.

The Arduino can be used for up to four input channels at 7 kHz. It’s possible to probe seven signals at 4 kHz as well. But the main feature that caught our eye is the ability to use several Arduino boards at one time in increase the number of channels available to you.

Granted, this is pretty slow for many digital electronic troubleshooting needs. But at least it’s something you can pull out when you just don’t have any other ideas about what is going wrong with your prototype circuit. We’re sure that sooner or later you’ll break down and buy a proper hackable oscilloscope. After all, your Arduino is probably already occupied as an I2C sniffer.

[Thanks Adam]

11 thoughts on “Xoscillo Turns Arduino In An Oscilloscope

  1. The guys seem to have put serious effort in this, hoewever, calling an few bit chart recorder “oscilloscope” is quite a stretch.
    This thing is much more likely to mislead you when trying to debug your circuit than doing any good. If you really have no money at all, go for a soundcard oscilloscope. That sports at least 48 kHz sampling rate and proper shannon nyquist filters.

  2. Yep, you guys are right, i wouldn’t call it an oscilloscope. Maybe a data logger.
    Remember the one made with an ATTiny that runs the USB asp as well ?

    Now, if you used an XMEGA or some PICs that support sampling rates of 1Msps at least, that could be barely called an oscilloscope as about 100KHz of bandwidth is something to work with.

  3. Oh Jesus F’ing Christ… C#! I hope the real work is done within the microcontroller card. For serious data sampling asm or C would be mandatory as they’re at very least 15 times faster than higher level languages such as C# or Java.

  4. Some DSPs from TI (and others) can sample at 4.6MHz, so a 400kHz bandwidth could be within range.

    But the problem isn’t the ADC; fast ADCs aren’t really all that expensive.

    The real problem is the attenuator / amplifier / filter stage; non-linearity and phase shifts over large frequency ranges (say, DC to 100MHz) can make an oscilloscope nearly useless, even though the sampling rate is sufficient.

    It’s a bit like a cheap digital camera; lots and lots of pixels and a crappy lens.

  5. @qwerty

    >>15 times faster than higher level
    >>languages such as C# or Java.

    Not valid for microcontrollers.. but do you realise that modern high-level languages have JIT/runtime optimizing compilers? Java code can end up faster than anything you could code in C.

  6. @qwerty, in practice Java code is slower than C.

    Yes I know there have been many special case examples where Java has beaten a C compiler, but look at real applications written in Java vs. C. Java is bloatware, slower than C in almost every case and needs a huge memory footprint.

    If you want performance you choose C and assembler every time. If you want “enterprise” software, you use Java.

  7. @all-the-haters

    This blog is ‘hack-a-day’, not ‘fully-functional-production-quality-project-a-day’.

    While it is true that a real oscilloscope would be best if you want to do serious work, I think we can all appreciate the creativity and hard work was put into this _hack_.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.