Building a Cheap Oscilloscope Using Your PC?
JohnMadison asks: "As a engineering student, I have a lot of projects, but not much test equipment at home. I was wondering if anybody has advice on using my PC as an oscilloscope. I've downloaded a couple of shareware programs that use the sound card for input, but they weren't really useful. I am looking for a good way to make a cheap, yet decent scope. Any sugestions?" While something like this would be an interesting hack, I'm at a loss as to what you would use for probes. The submitter mentions using the sound card as an input, but would that be the best solution? If you were going to make a custom add-on to the PC to do this, what would it need? Does such an add-on already exist? Interestingly enough, this fits in well with an earlier article we did.
The sound card might offer reasonably sensitive voltage comparisons in the 1V range, but really wouldn't be an ideal way to go, IMHO.
:)
Looking at the game ports (two ADCs each) might be one option, and probably "safer". (Game boards are practically free).
Another might be look at the tape port. You have a true IBM-PC, don't you?
Do daemons dream of electric sleep()?
I built one a while back out of a A/D chip and a few transistors. The only other part was a clock chip and crystal. I didn't bother to sync everything perfectly - I just let the clock chip flap away and read whatever was on the lines.
Worked pretty well. It even worked as a video in(though it didn't get much resolution).
This is a really fun project if that's what you're looking for - and it's good enough for simple electronics. You'll certainly be able to see simple wave shapes. That said, you'd have to do some work if you were
1. Were worried about accuracy
2. Needed fast sampling
3. Deal with large ranges of voltages. Mine dealt only in 0-5 volts.
-Dave
Let's not stir that bag of worms...
Why not just buy a real 'scope? I got mine for $170. 20MHz, two channels, external trigger, all the usual stuff. Plus it looks slick sitting under my monitor.
You should be able to get good acquisition speeds and LabVIEW is a really cool programming environment. They may even have a demo. The coolest part is that since it is a programming environment, you can collect your data and actually DO stuff with it at the same time.
http://www.labview.com
Scott
"Hokey religions and ancient weapons are no match for a good blaster at your side, kid."
Find an old Commodore Pet computer on the junk heap somewhere. Turn it on, make sure the monitor still works, and extract the TTL digital input wire from the internal monitor cable while leaving the remaining wires connected. You can then use this (and ground) to probe TTL signals up to around 7MHz :-)
Alternatively you can go to CompUsa and spend $60 on a cheap oscilloscope.
-Matt
Well, maybe not easy, but you'd need a few things:
;-) applies... Also, I'm assuming that you're talking about working with low wattages. A hand-wired A/D converter can handle whatever wattage the individual resistors are rated for (though you need to make sure that you aren't blasting out the parallel port), whereas the A/D chips can end up with pretty low max voltages.
1) An A/D chip. You can also make one yourself by following schematics from any standard analog electronics book. It just takes a voltage (let's say 5 V) and converts it into it's digital equivalent (which would then be 101). You can build a converter yourself out of cheap parts from radio shack, assuming you're using low currents.
2) Some sort of clock. One easy thing is to build it as a parallel port device. This'll take a little bit of hardware (not a whole lot, though), and you can use the computer to clock the thing. Or, of course, you could build a PCI/ISA card, but that seems like more of a hassle.
Assuming you don't need bidirectional communication on the device, you could just have a straight-through connection to the parallel port (I think), and just write a program to poll the port and plot the data. Hmm, this might be a fun project for me to try later...
A harder (and maybe more useful) project would be to try to make a Digital Logic Analyzer... these things are REALLY nice when working on digital electronics.
Anywho, the standard disclaimer of my irresponsibility
Some specific links:
xoscope - a software oscilloscope
BitScope - hardware black-box oscilloscope that you control via a PC
Xoscope is Open Source, so hack away if you don't like something about it. The SourceForge page has links to a schematic you can build to use your soundcard as the ADC, though you are of course limited to about 20kHz signals (stereo input = dual trace though). Definitely a cheap way to go.
The BitScope is a really cool design that is open or free (as in beer and speech). You can download all the specs and build it yourself, or buy preassembled kits or BitScopes (cheaper than buying the individual parts yourself). It is a black box that you control via software on a PC, which is pretty cool.
And then, you can always snag a scope on EBay for a couple of hundred bucks. Loads of Tektronix scopes, etc. Wish I could afford a Fluke ScopeMeter myself.
-Roy
I was going to build something like this a while ago, but I haven't had time. Just get a A->D chip, hook it up to a USB bridge, and read it a certain number of times a second (500, I think; most D/A converters can handle this IIRC). Connect a probe, voltage limiting circutry, and ground (and a timer, so your software doesn't have to raise the read pin 500 times a second :). Since it's USB, you can easily have another device in the box that does D/A and transposes it on a higher voltage. Then you have an osciloscope and a frequency generator. I think I'll start drawing some diagrams and investigating the IC's. Email me if you want information.
My other car is first.
The Bt848/878 has a raw mode which delivers the pure composite signal. I never tried to use it with non-TV signals but I guess it could work.In this raw mode the chip does not care about horizontal and vertical syncs. You can see all the "good stuff": color burst, front porch, strange "signal modifications" in scrambled channels, etc. When I programmed the Linux drivers I experimented with this mode a little bit.
This does not deliver great resolution (only 8 bit) but goes up to at least 36MHz (PAL frq.*8). With the chips with internal PLL (Bt848A and upwards) you can even change the sampling frequency in small steps.
You can find the Bt848/878 in most cheap TV cards on the market but you might have to make some modifications to the Linux driver to support
the raw mode and non-standard PLL settings.
The dutch magazine Elektuur published a design for a device that allows a Gameboy to be used as an digital oscilloscope. See Some info in dutch about the device. The english sister-magazine elektor also published the design, but I can't find anything online about it, except the fact that it is published in issues 2000/10 and 2000/11.
Using Google I found a page with screenshots about the device.
1 x = stick(1)
print x
sleep 1
goto 1
If you want to sample two circuits, just divide pin 1 into two wires and connect the other wire through your other device into pin 6. To use this, sample stick(0) instead of stick(1).
Maybe this will help. Good luck.
Tim ODonnell (trying to be the most
Check this out...
e mo.htm
. pdf
http://www.semis.demon.co.uk/Gameboy/DsoDemo/DsoD
Not exactly a pc interface, but nifty anyway.
There is also the Pocket Sampler kit by Oatley Electronics. Not the fastest thing in the world, but worth a look. It's $25, and kit number K090. We used it in an EE class I had a few years ago.
http://www.oatleyelectronics.com/pdf/august01_kit
-JM