Difference between revisions of "Software Oscilloscopes"

From TheAnalogThing
(Adding nanoscope)
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
To watch and measure the values and curves produced during an analog computation or simulation you need additional instruments. The Analog Thing contains a '''voltmeter''' as instrument to setup the coordinates or OP_TIME values. Depending on the mode of operation in '''REP''' with predefined operation time or '''OP''' with infinite operation this display may be useful for static or slow moving values only.
+
What follows is a curated list of '''Software oscilloscopes''' (also abbreveated as '''Softscopes'''). While basically any modern digital [[Oscilloscope]] is formally a softscope, we want to discuss here only software running on commodity/consumer level hardware such as on
 
 
[[Image:DSO_Yt_display.png|thumb|typical Yt display of signals on a DSO]]
 
To measure faster events or display signal curves the best tool is an '''oscilloscope'''. For longer operation times (REP, 0.1-10s) a digital storage oscilloscope (DSO) is preferred rather than an analog oscilloscope with a cathode ray tube (CRT). These DSO did get cheaper in the last years but useful DSO's with minimum 2 channels and XY mode are in the price range of about 150-300 € up. XY mode is useful for many applications and allow a better view of complex signals than displaying them just over the time in Yt mode. The typical Lissajous figures for example require the XY mode.
 
 
 
[[Image:DSO_XY_display.png|thumb|typical Yt display of signals on a DSO]]
 
There are low cost oscilloscope on the market as well in the range of 40-100 € as well but these come with missing features and have mostly only one channel to display like DSO 138 or missing XY mode like DS 212/213. This is only partly useful with analog computations or simulations and all theses cheap handhelds have only a very small display. Some low cost oscilloscopes come without a display and are connected to a computer as display by software. So what are the requirements to met with an oscilloscope for The Analog Thing ?
 
 
 
<big>'''Minimum requirements'''</big>
 
* analog oscilloscope with CRT display or software display while connected to computer
 
* 2 channels minimum
 
* XY display mode
 
* 100 kHz bandwith
 
 
 
<big>'''Better requirements'''</big>
 
* 4 channels or separate trigger input
 
* DSO type (digital storage)
 
 
 
There is a cheaper alternative for beginners with low budget while using a '''Soundcard Oscilloscope''' software. These solutions are based on using a sound input of the computer and a software to display the signal while reading digitized data of AD converters on the soundcard. If your computer contains a sound input you are lucky as you can get the software for free. Unfortunately many newer computers no more have classical sound input in stereo (so called 'line-in') and if so it is mostly only a microphone input as mono (1 channel instead of 2). This is the same lack as an oscilloscope with only 1 input channel.
 
 
 
An alternative to the missing inbuild audio input is a USB device. There are not many '''line-in stereo''' devices and most are only mono to use with microphones. A well tested device was the Behringer UFO202 with line-in and line out (each stereo) which is connected to USB, don't need any drivers and suitable for WIN, Mac and Linux in the price range of approx. 20 €. If your computer has already a microphone (mono) input you may buy a second cheap mono "microphone in" USB device for approx. 10 €. Be sure, that there is also an audio input and not just an audio output.
 
 
 
<big>'''The Analog Thing audio connectors'''</big>
 
 
 
The Analog Thing is already prepared to work with the above listed classic audio in devices as the used frequencies in an analog computation or simulation is mostly in the range of '''20 Hz ... 20 kHz'''. There are 4 chinch connectors named with '''X, Y, Z, U''' which can be used either as signal output or signal input as well. The voltage range of +/- 10V of the reference voltage (representing the analog values 1.0 ... -1.0) is '''reduced by factor 10 to +/- 1V''' (representing 0.1 ... -0.1). This is a safe voltage for audio input devices (line in).
 
 
 
To feed signals into a soundcard you need to connect for example X and Y chinch connector to the line in jack of the computer or external sound device. Additional you must choose which signal in your analog circuit should be displayed by connecting any output of a computing element (integrator, summer, multiplier or comparator) to the OUT field on the front panel with a patch cable. If you want to input a signal to your analog circuit you do the same on the patch panel but connect the used chinch connector to an audio output. Some of the software solutions can display incoming signals but also offer signal generators additionally.
 
 
 
Be aware, that the chinch connectors are connected with a passive resistor divider and have a low output impedance of approx. 500 Ohm. This is suitable for the audio inputs as the typical input impedance is in the range of approx 5-10 kOhm. Anyway the shown values for voltages of the software oscilloscopes are more or less an approximation or maybe can be adjusted by a factor in the configuration. Even audio outputs can often drive such impedances without problems. If an input signal of +/- 1V should be transferred in the range of +/- 10V it is easy to use the 10x input of a summer or integrator and use whose output.
 
 
 
Beside the chinch connectors it is easily to adapt signals directly at the patch cables with oscilloscope probes or feed signals directly with a cable adapter (cut one end of a patch cable and solder it to any signal of a programmable barebone controller board like arduino or similar.
 
 
 
The following oscilloscope software products have been tested and are free of charge (or nearly).
 
 
 
[[Image:Oscilloppoi1.png|thumb|Mac OS oscilloscope software]]
 
<big>'''Mac OS - Oscilloppoi'''</big>
 
 
 
This is a very handy software solution, available over the official Apple App Store for a symbolic price of  approx. just 1 € while the solution is very fast and has many interesting options including the XY mode. The default controls with the round knobs are a bit tricky to use (turned in a circle) but can be replaced with sliders in the configuration.
 
 
 
It is a dual channel oscilloscope software with XY mode as well and has an inbuild signal generator for use with audio outputs or also as input channel. Oscilloppoi works very well in the frequency range of 20 Hz up to 20 kHz while showing some distortions in the sine waves at more than 10 kHz. This is related to the maximum sampling rate of 48 kHz on the audio channel. The software has no voltage shown on Y axis but using the scale factor 4.5x is showing a signal with approx. 5V/div.
 
 
 
[[Image:Oscilloppoi2.png|thumb|Two signals displayed in XY mode]]
 
In single trigger mode you can display a single trigger event for further investigations. At any point screenshots can be made with CMD-C and are copied to the clipboard and easily copied in any other software for documentation or other purposes.
 
 
 
Features of Oscilloppoi:
 
* Dual Channel with XY mode
 
* Math operations (add and subtract of signals)
 
* Trigger mode Auto, Normal, Single with Holdoff
 
* Internal signal generator with sine wave, triangle, sawtooth, square and wave editor
 
 
 
[https://apps.apple.com/de/app/oscilloppoi/id1102313524?mt=12 Oscilloppoi App from Apple App Store]
 
 
 
[[Image:WIN Softscope 1.png|thumb|Win Soundcard Oscilloscope]]
 
<big>'''WIN - Soundcard Oscilloscope'''</big>
 
 
 
A software solution for Windows user is the Soundcard Oscilloscope from Christian Zeitnitz which is free of charge for private use. The software runs under several WIN versions like 7/8/10 and was very stable during tests. A calibration factor of 2.5 in the settings gives an approx. good result of the input signal of 1V amplitude. The software supports dual channel display including XY mode and has also an inbuild signal generator. Additionally this software has a feature of FFT to show the Fourier spectrum of a signal.
 
 
 
[[Image:WIN_micro_settings.png|thumb|input may be need change to stereo under WIN]]
 
Features of WIN Soundcard Oscilloscope:
 
* Dual Channel with XY mode
 
* Math operations (add, subtract and multiplication)
 
* Frequency analysis
 
* Trigger mode Auto, Normal, Single
 
* Internal signal generator
 
* Audio recorder to record incoming signals to a file
 
 
 
There was a small issue with the audio input device we used. WIN 10 recognized this as a mono device (microphone) only while it supports stereo line in. This issues can be solved in the WIN configuration
 
 
 
[https://www.zeitnitz.eu/scope_en Windows Soundcard Oscilloscope]
 
 
 
 
 
 
 
What follows is a curated list of '''Software oscilloscopes''' (also abbreveated as '''Softscopes'''). While basically any modern [[Oscilloscopes|digital storage oscillscope]] is formally a softscope, we want to discuss here only software running on commodity/consumer level hardware such as on
 
  
 
* Desktops and Laptops: Windows/Mac/Linux
 
* Desktops and Laptops: Windows/Mac/Linux
Line 79: Line 7:
 
For data aquisition, several techniques exist:
 
For data aquisition, several techniques exist:
  
* [[Soundcard]] input for mono or stereo audio recording
+
* [[Soundcard Oscilloscope|Soundcard]] input for mono or stereo audio recording
 
* ADCs on boards for analog to digital conversion, typically embedded within microcontrollers
 
* ADCs on boards for analog to digital conversion, typically embedded within microcontrollers
 
== Soundcard based input ==
 
[[Image:Jack.jpg|thumb|A chinch to stereo jack adapter cable]]
 
In this case, the idea is that you connect your [[Analog Thing]] to your [[Soundcard]] input with a simple Chinch-to-jack adapter, such as depicted in the right. This allows to connect to the 3.5mm phone connector (German: ''Klinke'') which is still present in many notebooks, tablets, smartphones, also for some single board systems (unfortunately not [[Raspberry Pi]]). If your system does not have such an input, you may use a USB adapter (often referred to as ''USB sound card''). For a list of possible hardware, see the article about [[Soundcard]]s.
 
 
Note that a single chinch socket has to pins: One for ground, one for the signal. This puts it on equal footing with a BNC connector or a ''mono'' phone connector. The adapter shown on the right joins two outputs together to a ''stereo'' sound signal.
 
  
 
=== List of software based oscilloscopes ===
 
=== List of software based oscilloscopes ===
 
<gallery>
 
<gallery>
 +
  File:Webscope_Screenshot.png|link=Web Oscilloscope|[[Web Oscilloscope|Browser based oscilloscopes]]
 +
  File:Win Softscope 1.png|link=Win Soundcard Oscilloscope|[[Win Soundcard Oscilloscope]]
 
   File:Xoscope_Screenshot.png|link=Xoscope|[[Xoscope]] linux desktop oscilloscope
 
   File:Xoscope_Screenshot.png|link=Xoscope|[[Xoscope]] linux desktop oscilloscope
 +
  File:Oscilloppoi1.png|link=Oscilloppoi|[[Oscilloppoi]] Mac OS X desktop oscilloscope
 +
  File:nanoscope.png|link=Nanoscope|[[Nanoscope]] open-source Linux/Mac/Win Python-based desktop oscilloscope
 
</gallery>
 
</gallery>
  
== Microcontroller/System on Chip based input ==
+
== Data aquisition tools ==
 +
 
 +
We will soon report additional solutions and projects for data aquisition based on barebone microcontroller boards with ADC shields to digitize the analog signals.
 +
 
 +
Microcontroller/System on Chip based input:
 
* [[Arduino]] for data aquisition
 
* [[Arduino]] for data aquisition
 
* [[Teensy]] for data aquisition
 
* [[Teensy]] for data aquisition

Latest revision as of 19:16, 31 May 2022

What follows is a curated list of Software oscilloscopes (also abbreveated as Softscopes). While basically any modern digital Oscilloscope is formally a softscope, we want to discuss here only software running on commodity/consumer level hardware such as on

  • Desktops and Laptops: Windows/Mac/Linux
  • Mobile devices: tablets and smartphones
  • Embedded: System on chips and microcontrollers, such as Raspberry Pi and Arduino

For data aquisition, several techniques exist:

  • Soundcard input for mono or stereo audio recording
  • ADCs on boards for analog to digital conversion, typically embedded within microcontrollers

List of software based oscilloscopes

Data aquisition tools

We will soon report additional solutions and projects for data aquisition based on barebone microcontroller boards with ADC shields to digitize the analog signals.

Microcontroller/System on Chip based input: