Description of a circuit able to feed signals into an audio card and to use it as oscilloscope
Audio cards are like oscilloscopes, more or less, but they are not provided with special controls and are limited to a narrow band of frequencies, usually 20 Hz to 20 kHz or at most 45 kHz. A real oscilloscope, even if very old, is capable of easily reach 1 MHz or more, therefore being able to show finer details of the input signal. Another important difference is the removal of any DC component in audio cards: the average value is always zero even if a continuous (DC) signal is provided. The last important difference concerns the maximum aplitude of input signals: an audio card accepts signals up to 2.8 V peak to peak or sometimes 3 V p-p, while a real oscilloscope can handle 40 V p-p or more.
The present project aims to build an adaptor to allow a safe connection of generic input signals to the audio card without risking to damage it for overvoltages. The adaptor offers also a DC setting, in case someone is able to modify an audio card to accept signals containing a DC component without eliminating it.
The scheme for a single channel is shown in the following figure, drawn using FidoCadJ. The source for the figure is provided.

On the left a voltage divider reduces the input signal by 1, 10, 100 or 1000 times. The resistors have been measured individually and the final accuracy of the divider should be abut 2.5%. The selector S1 has 4 steps to define the division factor.
The selector S2 defines the desired output signal: DC, AC, ground. With a normal audio card the first two settings are equivalent, a custom modification would be required to remove the capacitor that removes such component.
After S2 two Zener diodes 6.2 V are used to limit the voltage and to protect the rest of the circuit in case the wrong voltage divider is used. As result, the maximum allowable voltage range at this point is 12 V p-p, compatible with two 9 V cells in series as power supply. The resistor R5 is used to limit the current on the diodes. The diodes protect both from positive and negative overvoltages.
The resistor R6 is used to stabilize the opamp and not to leave the input floating. The opamp is configured as non-inverting amplifier and the selector S3 is used to define the amplification factor: 1, 10, 100 times. The opamp power supply is double and cleaned with two capacitors.
The output of the opamp is limited by two diodes to protect the audio card in case of excessive amplification. The maximum tension to the audio card is therefore 1.8 V, corresponding to the voltage drop of the red LEDs used. At the end of the circuit there is a connector for the audio card.
At the time of assembly S1 and S3 can be replaced with a single 2-way, 6 positions selector, so that the voltage divider and the amplification factor are set correctly at the same time: in the first 4 positions the amplification is kept to one and the voltage divider changes between 1/1000x, 1/100x, 1/10x, 1x, then the voltage divider is kept to 1x and the last two positions change only the amplification to 10x or 100x.
The following photos show the phases of the assembly.



















There are several softwares for Windows and Linux to show the input signal visually and to use the audio card as oscilloscope. Under Mac OS X I used MacCRO X, no more developed. I recompiled it for x86, it was available only for PPC. I I corrected some issues in the sources, but there are many more. The binary is available too.
The original website is http://scopeapp.sourceforge.net/
First version: 2009-11-14
Current version: 2014-02-16
Oscilloscopio con una scheda audio
Descrizione di un circuito per usare la scheda audio dei computer come grezzo oscilloscopio
Le schede audio sono più o meno come degli oscilloscopi, però non dotati di particolari controlli e ristretti ad una stretta gamma di frequenze, cioè da 20 Hz fino a circa 20 kHz o 45 kHz, nei casi più comuni. Un oscilloscopio scarso supera invece abbondantemente il MHz, consentendo di visualizzare dettagli più fini del segnale entrante. Un’altra differenza sostanziale sta nel fatto che le schede audio hanno il necessario per rimuovere la componente in continua del segnale, in altre parole il valore medio dell’onda è sempre zero, anche se in ingresso viene fornita una tensione costante diversa da zero. Per finire, il valore assoluto massimo della tensione in entrata, a seconda della scheda audio, varia da 1,4 V a 3 V, mentre un oscilloscopio accetta segnali anche di 20 V o più.
Il presente progetto mira quindi a costruire un adattatore che permetta di connettere la scheda audio a segnali esterni che superano i limiti di tensione e a proteggere la scheda audio da eventuali danneggiamenti. Nel caso qualcuno fosse in grado di modificare la propria scheda audio per permettere la visualizzazione di segnali in continua, questo adattatore permette di reintrodurre l’eliminazione della componente DC del segnale.
Lo schema completo per un solo canale è mostrato nella seguente figura, prodotta con il programma FidoCadJ. Il sorgente del circuito è disponibile per il download.

Sulla sinistra è presente un partitore di tensione con le resistenze calcolate in maniera da ottenere in uscita un segnale che è 1x, 1/10x, 1/100x o 1/1000x del segnale in entrata. Le resistenze sono state misurate individualmente e il calcolo indica un errore massimo del 2,5% dai valori previsti. Il selettore S1 a 4 posizioni definisce il livello di riduzione del segnale.
Il selettore S2 a 3 posizioni definisce invece il tipo di segnale da lasciare passare: AC, DC o nullo (massa). Con una scheda audio normale i primi due hanno lo stesso effetto, mentre chi modifica la propria scheda audio opportunamente potrà usare le due posizioni per escludere o meno la componente continua del segnale.
Segue una sezione con due led e due diodi zener da 6,2 V, utili per evitare il danneggiamento del circuito a valle in caso di errato uso del partitore di tensione: la massima gamma di tensioni in ingresso è quindi circa -6 V .. +6 V, compatibile con l’uso di due pile da 9 V per l’alimentazione. La resistenza R5 è usata per limitare la corrente sui diodi. Vi sono due rami di diodi in maniera da proteggere sia per tensioni positive che negative eccessive.
R6 viene usato per stabilizzare il comportamento dell’opamp e non lasciare il segnale in ingresso libero. L’opamp è configurato come amplificatore non invertente e viene usato il selettore S3 a 3 posizioni per definire il rapporto di amplificazione. Può essere 1x, 10x, 100x. L’alimentazione dell’opamp deve essere doppia ed è stabilizzata da due piccoli condensatori.
In uscita dall’op-amp vi sono altri due diodi che proteggono la scheda audio da un errato uso dell’amplificazione. La massima tensione che arriva alla scheda audio è quindi circa 1,8 V, corrispondente alla tensione di soglia dei LED scelti (rossi). In fondo al circuito va connessa la scheda audio.
Al momento della costruzione è possibile sostituire S1 e S3 con un unico selettore doppio a 6 posizioni e 2 vie, in maniera da impostare assieme correttamente la riduzione e la moltiplicazione del segnale (quando vi è riduzione, la moltiplicazione è zero, mentre quando vi è moltiplicazione, l’attenuazione è nulla). Ciò è fattibile perché l’opamp accetta una gamma di tensioni più ampia di quella della scheda audio.
Le seguenti foto mostrano diverse fasi della costruzione dell’adattatore.



















Esistono molteplici software per Windows e Linux per mostrare a video il segnale di ingresso nella scheda audio, sotto Mac ho usato MacCRO X, un vecchio programma non più sviluppato. La versione ufficiale era compilata solo per processori PPC, quindi era molto lenta sotto Mac con processori Intel. Ho scaricato i sorgenti (successivi all’eseguibile per PPC, infatti l’interfaccia è diversa e più grezza) e corretto gli errori alla buona. Sono riuscito a far compilare il tutto, allego qui i sorgenti con le mie modifiche e qui il programma compilato per Intel. Il sito da cui ho preso tutto è http://scopeapp.sourceforge.net/
Prima stesura: 2009-11-14.
Ultimo aggiornamento: 2014-02-16.