Choosing $1 sound card for DC-capable low speed oscilloscope
This USB sound card that presents itself as C-Media is one of the cheapest sound cards available with price $1.1-$2 depending on vendor.
Device markings: HX2010-0705, production date 40th week of 2013 (or later?).
Device enumerates as composite device: sound card + HID input. HID input part is used for audio volume and mute control and it functionality is slightly broken – same as with multimedia keyboard it controls default sound card settings, not necessary settings for this specific device.
USB descriptor dump:
VID=0x0D8C PID=0x000C Product string: C-Media USB Headphone Set Audio Device Class + HID (composite device)
Judging by the descriptors chip inside is identical as in previously described “C-Media” sound card version without any control keys.
- audio input is mono and two “live” contacts of mic jack are physically shorted together; DLL is intented to be generic (handle stereo cards also), but 2nd channel can be disabled (i.e. hidden) in GUI:
- according to device properties reported by Win7 it offers 44100 and 48000 Hz sampling
- there is 2.23V voltage (DC offset for ADC) on the C6; output impedance of this offset source is relatively high – short-circuit current is 20uA; adding 120k resistor in series reduces it to 8uA
- resistor in series (I’ve used 120k and software is calibrated for it by default) seems like the cheapest way to extend measured voltage range to 0-6V; noise measured in this configuration = 20mVpp
- make sure to disable AGC and set fixed volume (by default plugin is calibrated for Volume = 0) for sound input associated with card (Win7 below):
- C6 capacitor has to be desoldered – its measured capacity is 80nF and it is connected with power supply for mic thus it would severely limit usable frequency range if we’d use additional resistor in series
Beware that with this simple setup oscilloscope input would be equivalent to 2V voltage source with 250k resistance in series. It may be not suitable for circuits with e.g. weak pull-ups. Input buffer would fix it but I’m not considering it economically justified as base STM32F103 board that doesn’t have this problem (and is usable with miniscope v2c firmware/DLL) costs ~$4.
Other approach to building input stage: http://www.epanorama.net/newepa/2012/05/08/usb-soundcard-to-digital-storage-oscilloscope/ (I haven’t tested it yet but it’s simple and looks promising).
Don’t judge a book by its cover (thanks to Daniel Montalvo) – it looks like othes type of sound card is sharing almost the same package: