One Dollar USB Sound Card Turned O-Scope

Using the inputs on a computer’s sound card is an old trick to fake a very simplistic, AC coupled, slow oscilloscope. You can get DC operation by desoldering a couple capacitors, but if the sound card is integrated into the motherboard it raises the stakes if you mess that up.

[TMSZ] has a better option, a ~1 dollar USB sound card which is easily hacked to work as a simple oscilloscope. Easily found on eBay, the 7.1 virtual channel sound card is identical in brains to a more expensive c-media model, but the layout of the PCB makes it easier to bypass the DC blocking caps. Software and DLL files to use the sound card with Miniscope v4 — a Windows GUI for oscilloscopes — are also linked, so getting set up should be fairly simple.

Now of course this is not lab-grade measurement equipment: the sampling rate is limited to 44KHz and the voltages must be in the typical “line level” range, under two volts. If you don’t mind a little extra noise, you can increase the input impedance with a single resistor. This extends the input range up to six volts, which covers most hobby and microcontroller usage.

So if you’re really in need of a scope, but only have a buck to spend, this may be just the hack for you! Those willing to shell out a hefty sum for a high-end headless oscilloscope should look onto the virtual bench.

40 thoughts on “One Dollar USB Sound Card Turned O-Scope

  1. I don’t think it would be that difficult to build a differential amplifier stage with range switches for a sound-card based o-scope, I’m mulling such a decision myself at this point.

      1. provided the sound card reliably samples at 96Khz, yes, else a 22Khz IR receiver is the best it can do. remember, half of the sound card’s sampling rate is the max frequency you can sample.

        1. 96kHz sampling should allow up to 48kHz detection (Nyquist limit), in reality with typical filters it will allow up to around 40kHz, so just about usable for modulated 38kHz IR detection (the signal will be distorted a bit as the harmonics above 40kHz won’t be received)

          1. When working with IR (at least IR remotes) carrier frequency is not so important. If you are using TSOP17xx or similar receiver you don’t see the carrier. Recommended pulse length is ten times higher than modulation period, so it should be in sound card range. In fact there are PC applications (AFAIR even plugin for Girder) that use IR receiver connected to sound card for remote control.

          2. That should be; 96kHz allows less than 48kHz detection. A 48kHz signal will give a DC sampled value – a constant. Much less than 48kHz is better to avoid really long sample sequences. OK, just over-sample by 8 for good fast results. Nyquist is misstated so often with an = instead of < that it has become lore.

        2. There’s folding artifacts that happen when you approach the Nyquist frequency, so you can’t use the signal reliably anywhere near it.

          The problem is that your signal is not phase-locked with the sampling rate, which starts to amplitude-modulate the recorded waveform when approaching the Nyquist limit. The frequency of the signal is measured accurately up to the limit, but the amplitude over time is not.

          A naive system with no reconstruction filters to remove the effect would cause spurious signals to appear in the data at anywhere above 2/3 of the Nyquist limit, which is why early CDs were lowpass-filtered as low as 16-17 kHz – some were not, and people with HiFi equipment complained about a metallic noise like someone jangling a bunch of keys in the distance.

        1. I haven’t tried it myself, but I suspect that it’s done using software like SDR# to receive the signal from the RTL-SDR and convert it to audio, which then can be picked up by Audacity. A virtual audio cable program may be needed, depending on your computer’s configuration.

        2. because you’re not recording or sending a 433Mhz signal at all, you’re feeding a slower signal into a 433Mhz transmitter and the receiver downconverts the signal and you’re recording that. if you tried to modulate that 433mHz signal faster than 22Khz, you would start running into problems.

    1. Many cheap sound cards do not support more than 48kHz. C-Media (or C-Media counterfeits?) chips are commonly used, see http://www.cmedia.com.tw/productsdetail/page-p/c1serno-25/c2serno-26/pserno-7.html
      You also won’t get effective 16 bits out of cheap sound card (or even some mid-range sound cards when using mic input) – rather 12-13 when taking noise into account.
      On the other hand hardware modification in laptop is quite risky and you still won’t know if it would be able to capture DC (digital filtering may be used) until you reassemble it. Would be interesting to see some internals though, I always refrain from disassembling mine fully.

  2. For anyone interested only in audio frequencies then there’s nothing wrong with this approach. A dedicated DSO will sample at 10x its bandwidth (in the 10’s if not 100’s of MHz) which will give you a better idea of overshoot, harmonics etc, but for $1 you can’t complain.

  3. 8 out but only 1 sensitive (not line) input, argh! You just have to pay ten and multiple for one of those USB things with two inputs. Those $1 specials are meant for Skype and gaming. I was disappointed with one of the $30 or so models because of offset that messes with looping audio. So…
    I mixed in on that DC side a pair of trimpots that would bias the offset to near zero, enabling the device for my use. I used Audacity for a meter.

  4. Easy to get, cheap, yes.
    But don’t forget that for $3 you can buy a microcontroller with USB and 12 bit 2MSps ADC from quite a few manufacturers.
    Or buy it soldered on some $10 development board.
    Or spend <$20 on that DSO138 available everywhere.

    1. Actually STM32F103 costs $1 and mini-board with it is $4.20. After adding some input protection it is suitable to use with same with same software (miniscope v2c plugin). It isn’t using ADC fully as it based on real time streaming principle (sacrificing speed for continuous recording) thus it is limited by USB FS bandwidth.

      1. might be off with the prices a bit…. but the idea was that there’s no big deal that you can do this with a $1 soundcard. Soundcards are available readily on all PCs, so it is even free. People have been using this trick for a long time.

        What is great now is that you can get something a lot better than the lousy sound card oscilloscope for quite a little money. This first time I wanted an oscilloscope even the cheapest one was over 1000.

      1. Seems like simulation (or my sound card suddenly generates perfect sine waves).
        WebRTC seems to be useful. Also, Chrome supports HID – would be slightly slow but working with other hardware.

  5. You have to do more than just desolder the caps. You need to add a jumper across where the caps were.. or just leave them in and bridge across the pads. Risky as voltage compliance may vary.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

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