Blog Home

Poorman´s Oscilloscope

dcuartiellesJuly 3rd, 2008

During my last workshop at iMAL (actually it was also the first one) I was lucky to meet a lot of interesting people. We were making music instruments out of Arduino … but his post is not about how much fun we had playing electronic instruments on the streets of Brussels 🙂

performing in Brussels, copyright (c) 2008 by Accrochages

Among others I found a couple of young Quebec artists (on the next picture). Skilled as they are with electronics and AVR coding, they spend quite a lot of time crafting the electronics to shape their needs within the field of installation art and public interventions. Sofian Audry and Samuel St-Aubin have been artists in residence at iMAL for one month; during that period they have created several interesting pieces.

a cup of noise

picture CC 3.0 SA by Cuartielles

They also produce small tools that can benefit many of us during our work. The one giving the title to this post, the poorman´s oscilloscope is one of my favorites. It is a combo putting together a Processing sketch and an Arduino program to plot the values from an analog port to the screen. Simple and pretty.

poorman´s oscilloscope, copyright (c) 2008 by Accrochages

On the other hand, during the workshop, they also produced “Glade […] a free software audio library for Arduino (for use with Atmega8 and Atmega168 chips). The library provides basic functions for 8-bit audio playback using PWM, together with a digital audio processing library inspired from softwares such as PureData and ChucK“. Personally I love the idea of using 8-bit sound filters on top of my own stereo sound sequencer.

3 Responses to “Poorman´s Oscilloscope”

  1. Snaptastic Says:

    What’s the maximum frequency that this can do? I presume it’s more than fast enough to do audible frequencies?

  2. Quijonsith Says:

    Actually, it’s not fast enough for all audio frequencies. The fastest the arduino ADC can sample is (idealy) 10k samples/sec. One’s sampling rate should be ATLEAST double the highest frequency being analyzed. In general this would be 40k samples/sec for audio with 20khz being the high end of average human hearing.

    They state in the “poorman’s oscope” link that it’s not like a “real oscope” because of the meager 10-bit resolution, but if one needs to analyze a lower voltage you could always hook up a series of range resistors with switches or a potentiometer to the analog reference pin to “zoom in” on lower voltages. This is ranging on “real oscopes” works.

  3. cyphunk Says:

    The ADC pins on the Atmega128 used on the Arduino board take +0-VCC DC, which is 5V. Meaning +0 to 5VDC. The sample rate is around 10,000 per sec at an accuracy of 4.9mV (hence, no ECG monitoring of the heart pulse which is around 0.1mV to 1.5mV). However, these are averages the Arduino community report and in truth it appears with an external clock and VCC one could get much higher rates.

    instead of using processing there is a arduino sketch to patch it to Liberlab which will then let you both use it as a scope and a logic analyzer:

    I would love to hear if anyone used am external clock or other means to increase the accuracy in the mV range

Leave a Reply

You must be logged in with your Arduino account to post a comment.