Forgot your password?

Building a Cheap Oscilloscope Using Your PC? 247

Posted by Cliff
from the but-where-would-you-plug-in-the-probes dept.
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.
This discussion has been archived. No new comments can be posted.

Building a Cheap Oscilloscope Using Your PC?

Comments Filter:
  • They have some inexpensive Scope type software/hardware...
    • Re:RAdioshack? (Score:5, Informative)

      by Breakerofthings (321914) on Friday December 07, 2001 @07:02PM (#2673399)
      Radio Shack "ProbeScope" ... about $100, plugs into your serial port, uses 9v battery for power ... comes with pretty decent software (16 bit win, but I have seen linux software that claims to support it).
      It also has a little lcd screen that will show you the waveform, and will act as a digital multimeter.
      • Re:Radioshack? (Score:2, Informative)

        by Hal-9001 (43188)
        I think it might be this one []. If not, check out this page [] to see the other options available at Radio Shack.
        • Re:Radioshack? (Score:5, Informative)

          by terpia (28218) on Friday December 07, 2001 @08:22PM (#2673907) Homepage
          You are correct. I have this [] and do use it on occassion. Its certainly not a tektronix, but its really great for tinkering. A real nice perk with this unit is that although it connects to a serial port, near the connector it transfers the signal optically, so you dont have any ground loop problems to worry about, nor do you have to worry about nuking your mobo - which lets you poke around freely without worrying (except about the board you are poking around on)...
          It's really a nice quality geek toy, and it does have a small silly lcd display right on the unit so it does not always require a computer unless you want to look at something other than a semi accurate representation of the waveform.

        • Re:Radioshack? (Score:2, Informative)

          by ManfredOboe (542212)
          The Probescope is more useful than it looks. The device is made for Radio Shack by Wittig Technologies [] The have an improved version called it the ozziFOX, for around $70. A much better (but more expensive) device is the bitscope. Both devices connect via a serial port.
  • by Merik (172436)
    Wouldn't the pc cause problematic interference to any readings taken?
  • Need better inputs! (Score:3, Interesting)

    by multipartmixed (163409) on Friday December 07, 2001 @07:01PM (#2673391) Homepage
    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? :)
    • by Colin (1746) on Friday December 07, 2001 @07:12PM (#2673478)

      Game ports don't actually have ADC's on them. The standard design is to discharge a capacitor, then charge it through the resitance of the joystick pot, and tim ehow long it takes to get to a specific voltage. This is related to the resistance. So, you can't use the game port for measuring voltages directly.

      Picotech [] have addons for PCs to convert into a datalogging scope. I've never used one - and note that they tend to connect via the Parallel port. You can't get a whole lot of data through that port, so a 100Mhz scope won't actually show on the screen in real time. This doesn't usually matter, but you do want to bear in mind the delay between the measurement being made, and it actually appearing on the PC monitor.

      On the plus side, they normally have data processing facilities that you only find on top of the range digital scopes - things like "trigger before", and FFT's.

      • by Dr. Awktagon (233360) on Friday December 07, 2001 @08:22PM (#2673905) Homepage

        Game ports don't actually have ADC's on them. The standard design is to discharge a capacitor, then charge it through the resitance of the joystick pot, and time how long it takes to get to a specific voltage. This is related to the resistance. So, you can't use the game port for measuring voltages directly.

        Erm, that's single-slope integration, that's an ADC! Many voltmeters for instance use a variation called dual-slope integration that charges a cap for a fixed time and then times the discharge back to zero. How else can a digital device measure voltage "directly"?

      • He's right.

        You got v+ from one pin that goes through two variable resistors, one that changes with the change in the y-axis and one that changes with the change in the x-axis.

        Then you have another 3 pins (either v+ or grn, don't remember which) that are shorted when button #1 or button #2 is pressed.

        Of course, for any joystick that has more then 2 axis or 2 buttons, there is either a driver using BOTH joystick inputs (a standard gameport can support 2 joysticks) or doing other hocus-pocus.

        Also, I heard that a gameport cannot initiate conversation with a PC, that the PC's software has to check for data on the gameport every so often. So latency is a problem.

        Just my $.02

    • Do the game ports really have true A/D converters? I seem to recall reading that since the joystick input is just a variable resistance, that the game port just puts a capacitor in series with that resistance and times how long the capacitor takes to charge to some predefined level. So this wouldn't really be useful for sampling variable voltages.

      I suspect the main issue with the sound card is the low sampling rate. 48 KHz isn't fast enough to see a lot of the signals you might want to see, especially in electronics. So any other approach would have to sample much faster. You'd need special hardware for that. Then if it gets too fast (into the megahertz), you start to have the issue of whether the CPU can read and process the samples that quickly.

      I think there's a reason why oscilloscopes are usually dedicated hardware. I suspect you'll be better off trying to pick up an old/used scope for cheap. Unless you have especially high-speed circuits, an older analog one should be sufficient for most purposes, though maybe not as sexy as the latest 824 GHz digital networked uber-scope in your lab :) Try surplus stores, or see if your university has old ones they're trying to get rid of.

    • reasonably sensitive voltage comparisons in the 1V range

      What are you smoking crack?
      The sound card microphone Line In typically has a threshold of around 100 millivolts, and probably a 2 order of magnitude span. 2 orders is just fine for a scope if you can select your magnitude. A preamp could be used if signal is too weak, but this would cost real dollars. If signal is too hot, you just play the parallel resistor game and scale it to whatever you want.
      • My understanding is that the line out on most preamps swing as high as 4 volts. So the line in on a sound card should be able to do some decent A/D conversion, up to at least that. The microphone input your talking about is different, most cards have a separate line in which handles much higher voltages.
  • by SilentTristero (99253) on Friday December 07, 2001 @07:02PM (#2673400)
    I've done this with some of the freeware Windows scope programs out there (I'm a former VLSI hardware designer), but even at 96kHz the latency vs. buffer size issue gets to be a problem when probing around in a circuit. It's marginally acceptable for tuning up tape deck heads and so on, but don't try it for any serious design or repair work.

    The other problem is of course sound card inputs are AC, you really want DC coupling. And high impedance.

    Bottom line: you're better off with a scope board from the back pages of one of the magazines.
    • by Technician (215283) on Friday December 07, 2001 @08:54PM (#2674053)
      I second the suggestion of using a scope card. Many times you can run into an unexpected voltage that will quickly fry an input not designed for it. A good example is a simple 2 line LCD display module with an EL backlight has more than 90 volts. Probing the wrong spot while checking a logic signal quickly spells any any savings just became more expense. Having captured wave forms is very useful in many fields. Just like deciding on what computer you need, you need to evaluate your requirements. You may not like the price, but not meeting your requirements is a waste of time and money. My requirements lead to the purchase of a "real" scope. It is protected up to 1000 volts at any setting and has memory. It can directly print to an HP laser printer, or export screenshots directly to a PC. The screen shots include all the important stuff like voltage scales, time scales, curser measurements, etc. Not to do a plug, but I am using a Tektronix TDS 200 series scope I have had for several years.
      • I definitely second this. If you really want nice collection try a tektronix tds 3000. It interfaces to the pc using a gpib bus and you can control all the settings of the scope using your pc. It's fairly easily to program it from c, python or perl and it gives you 10,000 data points at up to 2ns resolution. I loved it when I had the chance to work with it. Unfortunately, it and the control program I wrote is doing stuff for superk.

        • The TDS 220 for a lot less money has automation capability with an inexpensive option module. (this was not a company purchase, but a personal one.) I have nothing else with HPGPIB, so I opeted for the communications / print module. It can be used to do all the automated stuff but over a atandard RS-232 port and includes a centronics port. I can upload and download scope setups for automated testing and capturing results. For my low volume requirements, I skip the automation and use the screen captures and hard copy to document resultes. The scope will save and recall a couple setups internally. The 3 modules you can get are, serial only, serial & centronics, and HPGPIB module. The module comes with very little useful software and a demo of a $400.00 program, however the book includes the commands so it is easy to roll your own with pearl. The important software, that is blaringly missing, was the ability to export a screen capture to a PC. (you can print OK Gotta have a reason you have to buy that $400.00 software). A quick search on Google found a freeware capture utility. (DOS and very minimal, but works)
    • Try the linux program called baudline [], with a typical cheapo sound card, it's analog input to screen draw latency is less than 1/60 of a second. That is far from slow.
  • Bitscope (Score:4, Informative)

    by bfoz (200416) on Friday December 07, 2001 @07:04PM (#2673410) Homepage
    Try this []
  • Parallel Port (Score:3, Interesting)

    by JMZero (449047) on Friday December 07, 2001 @07:04PM (#2673414) Homepage
    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.

    • 2. Needed fast sampling

      Don't forget the sample-and-hold circuit!

    • I don't think the clock chip is really necessary, If you're willing to read whatever voltage it's giving at the time.
      • Re:Parallel Port (Score:2, Informative)

        by JMZero (449047)
        The chip I had needed a clock signal in order to go through the sampling cycle - there are likely those that don't, and they might be more suited to this application. Actually the Intersil ADC0802LCN looks like it might work very well...

        I tried using the parallel port itself to generate the clock signal using one of the status lines - but it didn't work as well (random errors). I don't have enough design knowledge to know why.

        In any case, a fun project for a programmer like myself.
      • Re:Parallel Port (Score:2, Informative)

        by jrockway (229604)
        It is; you have to ask (pull a pin up) the A/D converter for a reading. The timer ensures that you get one on the lines every n seconds; this way your software doesn't have to ask and wait for a reading. It just gets one.
    • parapin (Score:2, Informative)

      On the parallel port software interface side, I have successfully used the parapin library [] in my pc-to-breadboard experiments. This way you can spend more time on the hardware and the imaging and less on the hardware interface.

      "parapin makes it easy to write C code under Linux that controls individual pins on a PC parallel port. This kind of control is very useful for electronics projects that use the PC's parallel port as a generic digital I/O interface. Parapin goes to great lengths to insulate the programmer from the somewhat complex parallel port programming interface provided by the PC hardware, making it easy to use the parallel port for digital I/O."

      - James
  • I'd say if you had a board that can take measurements from the CPU fan and power supply fan, you could use that as a base of measurement, because they can usually tell you how much voltage is coming in. All you'd really have to do is make it update fast enough, and write some 'ware to put it into a graph form...
  • by Anonymous Coward
    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'll need something to convert the Analog signal to a Digital signal for you computer to display it. That's what your sound card was doing. Not a lot of inexpensive commodity level A/D converters I can think of. I don't think software sampling will help much, otherwise you wouldn't have specialized hardware on the sound card.
  • by Anonymous Coward on Friday December 07, 2001 @07:06PM (#2673430)
    found from bt nG=Google+Search
  • Caveat: I haven't done ANY research on this, but...

    I wouldn't think sound card inputs would be of any real use, except to check out the waveform. They're not going to be calibrated for voltage, and if you did calibrate them, I can't believe they'd be very stable.

    But the big problem is that those inputs are going to be intended for AC input. They are BY DESIGN intended to ignore any DC component of the input; they do so typically by a capacitor isolating the input. This is exactly what you DON'T want.

    If you're really interested in this kind of stuff, just pick up a copy of Nuts & Volts [] magazine at better newsstands; in the back you'll find hundreds of classified ads for lots of hungry garage inventors and small manufacturers producing, among other very interesting toys, input cards to do exactly this sort of thing.
  • There are inexpensive A/D chips that can be easily programmed from a PC. They can store the data they meassure in a small local RAM and then transfer it to the PC.

    I know that some guys use these A/Ds for things like "listening" to the stars using a radio with a parabolic anthena. Probably some E.T. searchers can help you here.
  • by Hal-9001 (43188)
    I think you might be able to get started with a DATAQ WinDaq starter kit []. Specifically, the DI-194 [] is only $13 + S&H for a four-channel, 8-bit DAQ that you just plug into your serial port.
  • Couple links (Score:5, Informative)

    by dimator (71399) on Friday December 07, 2001 @07:09PM (#2673455) Homepage Journal
    I was looking for something along these lines as well, a couple months ago. The software/sound-card solution is xoscope []. I'm afraid I haven't had time to try that.

    Another cool site is [] where you can find a completely open-design for an oscope you can build yourself (or order from them, I think.) It includes all the schematics and such, and the finished unit slides into a bay in your PC, with two slots for probes. How cool is that!
  • It is rather expensive...but if you are still in school, you can get an education version. The data acquision cards are also rather pricey, but I have seen refurbed ones, and older models, go for cheap.

    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.

    • I too have used National Instrument's [] LabVIEW and I recommend it as well. Compared to the $5k benchtop oscopes this is inexpensive, and you'll get great results. You can get away with somewhere under $1k maybe even around $500 for a good DAQ card and some software. Their software is awesome and easy to use. LabVIEW contains a graphical programming language that makes working with complex stuff as easy as drag and drop. Serial, TCP/IP, almost anthing is simple as pie. Hell, I believe they even include a sample oscope app somewhere (either online or with LabVIEW software). If you can get the educational price you are in for some cost savings as well. Definitely the way to go for precise measurements. They have products you can plug into your PCI slot that run the gamut from low end more affordable systems to the high end. I used their stuff in school alot and I love it.

  • by m.dillon (147925)
    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.

  • I seem to recall building an quite a few sensors in electronics lab in college that used the parallel port. As I recall, the general scheme was to attach the input to a 741 op-amp circuit to increase/decrease the voltage levels as needed. The output of the 741 is then used as the input to a 8 bit analog to digital converter chip. Data can then be collected easily by polling the parallel port.
  • I have a very old circut diagram and MS QuickBasic program for an 8 bit osciliscope that used the parallel port. Most of it could easily be translated to C, although I'd guess there's a much better library for reading data from the parallel port. It worked fine for about $50 of electronics from DigiKey. We used it mostly with a photocell for some simple interferometry experiments. It also worked with a microphone and I'm told someone else used it for a moisture sensor of some kind. I suppose I probably could dig it up if you're really interested, but there must be people who have done a better job since.
  • I think that using anything but an expansion card would limit resolution and range tremendously. Not only would voltage resolution be low, but you wouldn't be able to pick up high frequencies. I can't think of a port on a standard PC that would allow you to pick up anything but small signals at low frequencies.

    The expansion card that would be needed would have to be huge, the heatsink alone would be large compared to the card It would also think that it would have to connect directly to either the case powersupply or it's own. All in all, I think such an expansion card would be impractical. I'm sure you could design such a card that could operate in a small range, but one that could perform as a bench O-scope is impractical.
  • I'm sure the poster is already aware of these (and is looking for something cheaper) but I thought it was still worth mentioning. They are generally cheaper than most Stand alone units I've seen. But most of the cheap ones I've seen only come with windows (and sometimes mac) software. If I remember correctly Rp Electronics [] sell a few. They are pretty cheap all things considered... I've had text books that are of a equivilant price to some of these.
  • by cr0sh (43134) on Friday December 07, 2001 @07:14PM (#2673496) Homepage
    http: // uk/~ih/doc/adc_dac/deck/4chan 8bitadc.asc ac/deck/8chan 12bitadc.asc dac/adc11/ c/dcfg/ html#pcme asuring

    Have fun...
  • This is the best approach I can think of.

    Start with one of these. []

    Then, with a couple of 20 cm bits of duct tape, attache one of these [] to the front.
  • Helpful Links... (Score:4, Informative)

    by jyak (112533) on Friday December 07, 2001 @07:15PM (#2673502) Homepage
    - Information on Oscillator circuits co pe.shtml
    - Website about a homebuilt 'scope ml
    - Scope diagrams and schematics
    - Company with PC based products

    Hope this helps...

    National Instruments has great instruments as PCI cards and you can make your own programs/software in Labview but this option is on the expensive side.
  • I did something like this as a term project for an electronics class. My version was a PC/AT card, but it shouldn't be that hard to do a PCI version. It's not that expensive (around $150 for all the parts, the blank card being the most expensive) and fairly simple to construct. And it has a little sine wave generator on it also.

    The idea was to run the signal into an ADC, then run the output bits through octal line drivers and transceivers (74LS244's and 245's) connected to the system bus. Bus commands were interpreted using a bunch of logic gates (real cheap). I guess without getting into too much detail, I'll just throw out other part numbers: a 688, 240's, 04's & 08's, and the test oscillator (sine wave generator) built out of a DAC and a 4046 voltage controlled oscillator.
  • How cheap? (Score:4, Insightful)

    by Jeffrey Baker (6191) on Friday December 07, 2001 @07:17PM (#2673510)
    How cheap are we talking about here? You can get a Tektronix 465 with a probe for $200 or less and this is a nice featureful scope. There's a reason the 465 was in production for decades. It's many times better than some sound card hack.
    • I'll second that. I got a Tektronix 466 on Ebay for about $100. I took it apart, cleaned the control contacts, calibrated it, and now it works great. Don't bother with computer-based scope crap and DEFINITELY don't use your soundcard. Most likely, it's ADC is junk. And you'll only be able to test audio-range frequencies anyhow. Probably no higher than 10-15Khz. if your soundcard is like most and quite non-linear.
  • by Anonymous Coward
    I used to be in your same situation as an EET major a few years ago. My sugguestion is to go buy a copy of Popular Electronics. Inside you will probably find a variety of ads for such a product. The products usually run about $99 and come with software, interface, and more than likely, probes. I even recall an article which described how to build one and gave out the software for free. So you might try contacting them (P.E.) to see if you couldn't recieved an old issue (I know they make CD's for such a thing).
  • If you're doing fairly low sample rate stuff, you might be able to use a soundcard, parallel port, or custom PCI card.

    I've done a fair amount of debugging with logic analyzers and digital osciliscopes (software stuff, I'm not a hardware jock) and you couldn't debug an IDE interface or PCI interface with something on a parallel port or sound card, at least not easily. If you're doing simple analog stuff you could get away with it. Realistically you're going to want a real scope at some point in time though.

    Hard to say though. I've seen them at hamfests and stuff like that for relatively cheap and any decent hardware shop is going to have them for their people to use or "check out."

  • Try this [] site (click on the catalog page for a pdf spec sheet). They have a card that turns your pc into a scope for like $300 bucks (vs thousands for a regular scope).
  • It's easy! (Score:2, Interesting)

    by nephorm (464234)
    Well, maybe not easy, but you'd need a few things:
    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 ;-) 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.
  • I took an electronics class were we had to build and program a oscilliscope for one of the beginning prohjects. We had a generic DAQ [] and the api for C(dos) or VB(win). The prof only new VB so we were limited to that. The drivers and API for VB was pretty good, however it was quite slow when propagating sample rate changes and the like. However, it worked. If you are interested in the source code it is here [](warning - it is VB and it is a quick hack). We were able to use it to "record" from a microphone and then "playback" the waveform we recorded. It was pretty cool.

    really you should be able to use any analog-to-digital acquisition device. A sound card would work great. Program it using the sound cards low level API. Basically write a driver/program that parse hthe wave info and spits it out to the screen rather than the speaker. heh.

    For probes, use a mic plug hooked to a male banana clip. that should allow you to use any breadboard/probe.

  • O-Scope 'n the PC (Score:3, Insightful)

    by ackthpt (218170) on Friday December 07, 2001 @07:23PM (#2673555) Homepage Journal
    Hopefully someone can set you up with a way to do it, but what I've seen is often worse than buying a good used one at a Hamfest. You should get in touch with ARRL folks in your neck of the woods and find out when and where Hamfests take place. Granted, you may have to shell if you want a good storage scope, but some decent scopes can be found. My dad has a soft spot for Tektronix scopes.
  • xoscope, BitScope (Score:3, Interesting)

    by rrwood (27261) on Friday December 07, 2001 @07:23PM (#2673557) Homepage
    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.

  • Velleman makes cool kits and cool oscopes too!
    Cheack these links out: =3 47914
  • This much should be obvious - you can't use any modern soundcards, because they all feature AGC - Automatic Gain Control - which means that across certain decibel ranges, you'll be able to tell the difference, but across others, you won't.

    For example, 30db might be louder than 25db, but might "look" to the sampler to be the same as 60. (Or whatever... it's logarithmic, I can't be bothered with real examples :-)
  • Radio Shack has an inexpensive DMM that will interface to a computer via serial port.
  • by Matt_Bennett (79107) on Friday December 07, 2001 @07:28PM (#2673590) Homepage Journal
    I know you want to use your PC, but try to get a real live scope- you'll probably spend less money and get a better measurement device. A sound card would be barely good enough for doing audio measurements, but you run into the problem of an impedance that is too low, with too low a bandwidth. Yeah, you may only want to look at audio frequencies, but realistically, you want a scope with 3-10 times the bandwidth of the highest frequency you'll be looking at.

    You don't specify what frequencies you want to work with, but for any sort of digital work I wouldn't suggest that you use *anything* less than a 30 MHz bandwidth analog scope. With that, you'll see a lot of rounding on a 10MHz signal, but you'll be able to see something. Digital scopes are very nice, if they have a decent sample rate. To get the equivalent performance of a 30 MHz analog scope in a digital scope, the digital scope must have at least a 30MHz bandwidth and 100MHz sampling rate (or a good equivalent time setting).

    Bandwidth is *very* important. Oscillations can and will happen, and if it is a high frequency parasitic oscillation, a low bandwidth scope will fool you into thinking there is nothing there. You will spend many, many hours trying to debug such a circuit, because your tools will lie.

    If you look around (hamfests, ebay) you should be able to find a working old tektronix boat-anchor for between $100 and $200. I've seen plenty of kits available, but they all cost more and have less performance. Since you don't say that you want to build the scope as a learning experience, you want it as a tool. The scope should be your third piece of electronic test equipment, after a multitester and a logic probe. These tools are fundamental. Get something good, whose performance you can trust, that you won't need to debug.
  • I have one of the Protek PC ISA oscope cards. It's about a 4Mhz card and is dual trace. It works ok, but not well enough for analyzing video signals. It has some decent software and logging capabilites. It's manufactured by Hung Chang []. Price: $220-$249

    The other scope I have is a Velleman handheld. It works really well. For $249 it's the best thing I've seen. It's based on a PIC microprocesor and is single trace with a 5Mhz bandwidth. Some of them have PC interfaces, mine doesn't. Here's Velleman's website [].
  • An oscilliscope just samples input voltages and displays their amplitude. That's REAL tough computations (NOT!). And a frequency analyzer (often used for a similar purpose) just takes a fourier transform of the signal (this is a mere O(n log(n)) complexity problem). The software is trivial!

    The main problem is the sampling rate of the hardware. Soundcards are made with a sampling rate that is only slightly above and below the range of human hearing, which means that for many circuit frequencies, they are unacceptable. If this will work for you, the coding is rather simple since its the well known I/O operations that have been used in PCs forever. Just learn a little bit about SOME sound API and output the wave output from the soundcard in real time. I'm sure others have done this before, too. Its a 4 hour job.

    If you need better accuracy than that, you need to buy a data acquisition card, but it will cost you a pretty penny for them. Here [] is a list of some of these cards.

    There are some up sides of having a card such as this that can capture high quantities of data, the biggest being that if you know C, and you get specs on ANY kind of input signal, you can often write a driver for it - NTSC signals, radio signals, digital video signals...pretty much anything.

    If you really want to do this quickly, get something like the matlab and use the data acquisition toolbox [].

    In my opinion, a data acquisition device on the computer beats the pants off of an oscilliscope any day.
  • Idea (Score:3, Interesting)

    by jrockway (229604) <> on Friday December 07, 2001 @07:31PM (#2673618) Homepage Journal
    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.
    • Re:Idea (Score:2, Insightful)

      by jrockway (229604)
      Okay, I've looked into some IC's to get this thing to work.

      First, you need to convert analog to digital. I found what looks to be a decent A/D converter (12 bits, so with 0-+5V input, you get resolution of ~.001V) at DigiKey []. This also has a "MicroWire" interface which is what the USB controller speaks.

      Then, you'll need some way to talk to the USB bus, where the National Semiconductor USBN604 would work. I have no idea how to program this thing, but after reading the docs I know how to get a circut working between this and the A/D converter (I think).

      On the analog lines, you'll want a (big) transistor to transpose the input voltage on a regulated 5v line. You might want a bargraph display on this 5v line, and a potentiometer to adjust input to fit a nice range.

      I imagine that it would easy to create a frequency generator using a D/A converter connected to the USB chip. Here the IC would output 5v, so you'd want to connect an external power source and drive that with some transistors (+ and ground). You might want some sort of buffer to do constant waves; thus saving USB bandwidth.

      Okay, those are pretty much my ideas for now. Time to do more research and draw some diagrams with xfig. I'll probably post some stuff on my site [] shortly. (How helpful, huh... now I'm obligated!)
    • by pjrc (134994)
      I know I shouldn't feed the trolls, but in case anyone takes this seriously...

      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 :).

      Oh, you will learn much along the way, which could be much more easily learned by looking at some of the free 'scope designs mentioned by other posts.

      You'll need an amplifier to buffer the signal (you want that 1 Meg Ohm and ~22 pF input impedence for the probes, right).

      Don't forget to be able to change the gain somehow, unless you only plan to look at 0-5 volt signals (or whatever the input range of your A/D chip is).

      While you're at it, try sampling at some speed that'll let you look at things more interesting than nearly DC.

      Don't forget to add some circuitry to trigger (begin sampling) at a predictable level/event, as the latency up and back down the USB isn't predictable and isn't in your control as a USB device.

      Being a USB device (not the host PC), you aren't in control of when you get to transmit data, so be sure you have at least a little buffering.

  • I would not usually recomend Radio $hack as they are always way over-priced. However, they do have in interesting DMM on sale for like $40-$50. Now I know you wanted an O-scope but the DMM I mention comes with in interface to your comp and can be used to generate graphs ect. You may want to check it out in thier December catalog or your local store :)
  • Hit (Score:2, Insightful)

    by eXtro (258933)
    I picked up a decent analog oscilliscope for 200 bucks. It's got 35 MHz bandwidth which is plenty for most things you can do in a home lab. This seems like a better option than the 350 dollar PC card that has 10 MHz analog bandwidth mentioned elsewhere.
  • the sound card would be pretty crappy for this. First off, it's AC coupled, meaning that you won't be able to measure DC voltages. Also, it's most probably filtered for human hearing, 20-20khz.

    I think there might be software around that turns the printer port into a logic analyzer. While not an oscope, logic analyzers have good value.
  • I've downloaded a couple of shareware programs that use the sound card for input, but they weren't really useful

    You can measure low-amplitude AC signals from a few Hertz to a couple dozen kilohertz (and easily do fancy tricks such as FFT analysis), but if you're talking about using this setup as a real oscilloscope, you're not going to get very good results. Sound cards have lots of filters on them, many of which are active filters, and this would have the potential to tinker with your input signal. Also, feed too large a signal into your sound card, and poof -- no more soundcard.
  • TV card? (Score:2, Interesting)

    by rjkm (145398)
    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.
  • by Zero__Kelvin (151819) on Friday December 07, 2001 @07:52PM (#2673723) Homepage

    This not meant to be rude, but rather a simple statement of fact. If you have to ask Slashdot you aren't qualified to do it. Analog electronics is Voodoo science, and in the end you will have no idea if the representation on the screen is accurate. Even if you compare certain captured signals to ones grabbed by a high end O'Scope, there will be no assurance that signals of different amplitude and frequency are properly represented.

    As an Engineer who was also an Electronics Technician for many years I have seen improper understanding of the nature of Analog cause all kinds of misunderstandings. For example, using a long ground lead or improper input impedance can distort the signal so much that a perfect signal looks FUBARed, or a FUBARed signal looks good. Indeed, there is a kind of Heisenburg Uncertainty to it all. By this I mean that the act of measuring changes the results, of course. I have seen faulty circuits that only work when you are probing them!

    Your best bet is to try saving up for one designed by qualified Engineers ... perhaps the ones, or another one mentioned by others. I haven't looked seriously at any of these, so I cannot offer a valid opinion one way or the other.

    Also, a sound card based O'Scope is only going to handle signals in the audio range, and if the card is any good it will do some pre-processing on the inpuit anyway, further distorting the input signal, so that's way out IMNSHO.

    Finally, if you do decide to do this just for fun, spend the money to purchase real (quality) probes, and learn to write device drivers if you don't have this skill already. Expect to spend several years coming up with anything that is marginally decent (based on your level of knowledge at this time, as indicated by your post.) Also, be fully prepared to never succeed and ruin a motherboard or two along the way 8^}

    Whatever approach you decide upon, Good Luck!
    • I have seen faulty circuits that only work when you are probing them!
      No distinction there. Anybody who's owned an old pre-solid-state TV set has seen boxes that only work when the technician is trying to fix them!
    • I have seen faulty circuits that only work when you are probing them!

      that's nothing. I have some software that works only under gdb and not on its own.

    • by markmoss (301064) on Saturday December 08, 2001 @10:56AM (#2675388)
      I'd amend that statement a bit -- by the time you get decent results by building your own, you will have acquired valuable and rare skills in analog design and construction. And you will have had to buy or borrow a real oscilloscope in order to find out what's wrong with the one you built! I'm a test engineer. I make functional test fixtures that apply stimulus to a board and check the output signals from it. Getting DC analog signals from the board to the A/D converter accurately is harder than it looks. Audio frequencies are harder. Scopes should work at well above audio frequencies, and that gets very hairy -- every wire is also an antenna, capacitor, and inductor, all at the same time.

      I might have plunged into a project like this when I was a kid and didn't know what I was getting into. I'd probably be a hell of a lot better analog designer if I had. But god, it's a big project. If you still want to go ahead, best of luck. If you actually get it working, you might as well go ahead and get the BSEE degree. Good analog designers are scarce and high-paid.

      Some intermediate possibilities:

      Scopes that use the PC as the display device, for instance this [ttp] from JDR Micro. It's a box with the signal conditioning and A/D circuits of a low-end digital scope, but connects to a PC parallel port for displaying the signals captured. The advantages of this, compared to a standalone scope, are that you save a few hundred dollars for the scope display and control panel, and you've got the full power of the PC for analysis of the datapoints captured.

      Scope card in the PC: I'm not aware of any low-end cards now on the market. The problem with this arrangement is that the PC is full of high frequency radiated signals, so shielding a scope card from that is quite an accomplishment. It can be done, but not by amateurs, or even by non-specialized EE's like me. It does have considerable advantages, as mentioned above, plus it can DMA to the PC's memory and so be able to record for longer.

      Use a Data Acquisition (DAQ) card as a scope. I've done that at audio frequencies, using National Instruments MIO cards. I'd be dubious about higher frequencies, because the signal reaching the A/D converter would be quite different from the signal you were probing. (I used Labview to program it. It lets you set up a simple system fast, and there are library functions to capture data to an array, and then display it on a scope-like window. But for the test programs I was doing, after a long learning curve, I decided that for any complex program, graphical programming is inherently less efficient than typing the code as text. Labwindows/CVI is better: you create the user interface windows by plopping icons into the window, which is nice, then type in code sort of like Visual Basic. CVI is very expensive, as compared to Visual Basic and C++ development systems which work pretty much the same, except you've got to put some work into interfacing to the card. If a nice pre-written interface to the DAQ cards is worth several thousand $, then get CVI... Labview is a little less expensive; whether it is appropriate depends on how far you need to go beyond the library functions.)

      Finally, whatever you do, spend about $100 for good probes. The best scope is only as good as the probe that brings in the signal.
  • 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.
  • You need:
    1. A webcam (preferably USB)
    2. A real oscilloscope

    Point the webcam at the oscilloscope. If you need greater precision, hit "full screen".

  • The old asteroids arcade games are programmed X-Y scopes. Buy one, rip out the XY-Scope, and you are in business.
  • by freaker_TuC (7632) on Friday December 07, 2001 @08:27PM (#2673933) Homepage Journal
    There is a very high quality oscilloscope box from Velleman []. It has it's own box and probes with software package together in the box.

    They use the software package Scope-It [] as "digital storage oscilloscope and spectrum analyser". They also have a demo downloadable at that page.

    PCS641 [], PCS500 [] (PC-Scope 50MHz) and with adapter [].
  • by KC7GR (473279) on Friday December 07, 2001 @08:37PM (#2673975) Homepage Journal
    If you're at all serious about building up your stash of test gear, the PC is just about the last place you want to look. Nothing it can ever do, even with add-in boards, will ever equal the quality of equipment that was made for the purpose you're trying to accomplish.

    Others have pointed out that you should check out ham radio/electronic swap meets for a good used O-scope. This is an excellent idea. As far as that goes, I have some suggestions.

    The Tektronix 7000 series, more notably the 7603, 7704, 7904, and 7104 are all some of the longest-lived and most durable instruments that Tek ever built. My personal unit is a 7904 (500 MHz basic bandwidth on the mainframe) with a whole raft of plug-ins. If I recall my specs correctly, the 7603 mainframe is rated at 100 MHz, the 7704 at 250, the 7904 at 500, and the 7104 at 1 GHz.

    Keep in mind those are MAINFRAME bandwidths (top-end response for the mainframe IOW). You'll need appropriate plug-ins to take full advantage of that. Anyway, the 7000 series mainframes need a minimum of one time-base and one vertical amplifier plug-in to be useful. I would settle for nothing less than a 7A26 (200 MHz dual-trace) vertical module, and a 7B85 (time base) module. If you can, find a 7B92A for the time base and a 7904 or 7904A for the mainframe.

    If you need REALLY high-frequency response on the vertical side, look for a 7A19 (single-trace, 50-ohm input, 1 GHz response). Bear in mind that you'll only get the full bandwidth from such in a 7104 mainframe (although you can use it in other mainframes at reduced bandwidth).

    A word of caution on the 7104 mainframe, assuming you should choose it: Its CRT is more delicate than those of other Tek scopes, thanks to its extremely high writing speed, so be VERY careful to check it for screen burn.

    If a portable 'scope is more to your liking, look around for a Tektronix 465, 475, 475A, or 485. Hard to go wrong with those, especially if you get one that has the DMM option.

    Other sources for used Tek equipment include, of course, Ebay.

    OTHER TEST GEAR: I suggest HP or Fluke for a multimeter. Fluke makes good stuff, especially older hardware, but HP's is easier to get calibrated. My own benchtop meter is an HP3456, backed up by a Fluke 8520.

    POWER SUPPLIES: A good bench power supply is critical to any lab. HP, Kepco, and Lamda all make excellent units. Figure out what you're going to be working with and shop around.

    As for more specialized stuff, I can't comment intelligently without knowing what specific sub-field you want to go into. There are different specialty instruments for RF, digital design, microwave, power supplies, etc.

    Perhaps the best advice I can offer is ALWAYS get the best stuff that you can possibly afford. NEVER sell yourself short where your own test gear is concerned! Doing so -will- come back to haunt you later on.
    • Not that it belies anything you've said about equipment accessible to hobbyists, but it's interesting to note that Tek's latest TDS5000-series digital phosophor oscilloscopes are basically.... Windows PCs with oscilloscope cards.

      It's hard to beat a PC-based solution if you've got a lot of customized and/or repetitive measurement tasks.

    • As far as the power supply goes, if you've got a meter you can trust, it's hard to go wrong building your own. They're nice and simple, and a good way to spend a relaxing afternoon (beer in hand, even - just don't spill it).

      And i second your assessment of Tek scopes, all the working scopes in my high school electronoics class were Tek, however, not all the scopes in the lab were working...

      -josh, who has yet to get around to buying his scope, but needs one desperately every month or so
  • Oddly enough, this semester i've just completed a Cogs 300 class (That's Cognitive Sciences, for those of you who do not know), one in which our prof got his docterate dealing with EEG's(Electroencephalography,) and such. In a nutshell, the method in which an EEG functions is by amplifying (20 000 some times) the extraordinarily minute electrical signals given off by the collective firing of the neurons in the human brain.

    Term project was a biofeedback one, and originally consisted of training myself to try to produce more alpha/beta waves for communication and computer control, applicable to severly physically handicapped people with such dieases as ALS. In the later stages of ALS, it leaves its victims in such a state that one's cognitive abilities are as normal, except that you have absolutly no muscular control whatsoever.

    Before you mod this offtopic, training was done via a custom A/D converter box, attached to a parallel port, and using custom software [] analysing the signals and such for relevant waveforms. Mind you, this software was designed with EEG analysis in mind (no pun intended.)
    • This is probably offtopic too, but as i said, my term project involved an overview of current research dealing with the possibility of HCI (human-computer interfaces,) and EEG technologies for the severly disabled. It's moderatly interesting what can be done today. People can actually spell out messages at ~2 characters/minute simply by thinking and looking at a computer screen -- with no physical movements whatsoever. Yes, it's slow, but for some people, it's better then nothing.

      This may make an interesting ask slashdot article, to see what other people have observed in this field.

      If there's enough interest, i may consider posting my research online sometime.
    • An EEG trainer is basically a low-bandwith scope. The trick is getting a front end (analog amps and filters) which will separate out the very weak signals of interest from all the noise, and amplify signal without drowning it in amplified noise. A PC card would have a lot more noise to contend with (from the PC), so the circuits need to be in an external box...
  • by MBCook (132727) <> on Friday December 07, 2001 @09:35PM (#2674220) Homepage
    I just went throught this same problem. I looked on the internet but cound't find much of anything. The only solutions that I found were the soundcard based one you mentioned, and ones that hooked to the parallel port. There are some out there but I highly recomend that you do what I did.

    Because I couldn't find anything good that required a PC, I went out and just bought a used oscilloscope. I bought a used oscilloscope off of e-bay for ~$400 (you can find cheaper ones easily). What I did was I would search daily for oscilloscopes that worked, included probes (they are really expensive), and most importantly had a "buy now" option. I found one that a guy put up that the "buy now" was really low (considdering the scope would be over $1500 brand new). The other trick is to MISPELL things. If you search for oscilloscope, oscilliscope, osciliscope, etc... you'd be amazed what you can find. Because it's mispelled, most people don't see it and therefore don't bid on it. That way you can get things cheaper.

    My last suggestion would be to go around to schools, electronic repair shops, etc. and ask if they have any old oscilloscopes you could buy cheap. If you explain your situation you'd be suprised how nice people can be.

  • Joystick port (Score:2, Interesting)

    by webprogrammer (518832)
    I did something like this a while ago on Windows, although you could probably get it to work in linux. Just connect your circuit between pin 1 and pin 3 on the joystick port, then just sample the value every second or two. If you were using QBasic (which is actually suited pretty well for this), the code would be this:

    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.

  • Xoscope (Score:2, Informative)

    by quan74 (451034) (Includes directions for building buffer hardware) (spectrum analyzer that works with xoscope) 50 /50525.htm (for a compatible probe)
  • by Muipotu (542250)
    I designed a "PC Data Acquisition Board" for the ISA bus a few years back. I didn't call it a PC O-scope becasue it was not real time but with some modifications it could be. It just took as much data as it could fit into its memory and then sent it to the PC via the ISA bus. Then it displayed it to the user in an o-scope fasion and saved the data for further analysis as a data file. The most important part about this project is to use low noise techniques for layout and design because if you don't you will loose some resolution. The great thing about this project was that it was almost free. If you didn't know this already some companies will GIVE samples to students working on projects.

    Company Part# Description

    Maxim MAX197 8ch. 12bit 5MHz A/D!

    Maxim MAX503 10bit D/A

    Phillips 89C51RD+ 64K FLASH 1K RAM

    Intel 82C55A ISA Control logic If anyone out there needs very accurate waveform data on there PC and has more time than money than this may be the way to go. I have the entire project documented and if anyone wants it I can .pdf it up and send it your way. I have the embedded c-code and the VB GUI code as well that people are free to use. It might be a good senior design project for someone to update my design to make it real time by using a faster bus like a PCI or FIREWIRE! Another great magazine that I have not seen mentioned here yet is "Circuit Cellar Ink." They have a lot of information and ads related to PC data aquisition. Let me know if anyone wants the documentation/code to build this. Makes a great stocking stuffer...

  • The first big question is what bandwidth do you want? If you're looking only at low-bandwidth audio, almost anything will work. If you need 10GHz, it's harder.

    The second big question is whether you're looking at a repetitive waveform. If you are, a simple scope-type setup will work. If not, you'll need storage.

  • Almost all measurements with oscilloscopes cannot be performed with a sound card. However, if your application meets these ...
    • Your signal is intrinsically AC coupled
    • Nothing you're interested in is outside the audio band (50Hz to 5kHz or so)
    • Up to a second delay for the screen update latency (depending on sound card) is ok
    • Your circuit is floating, so you can tie its ground to the computer's ground
    • 16 bit digitization (or worse) is enough
    • No hardware triggering (all done in software)
    • When dual channel, both have the same settings
    • Input resistance is unimportant

    You need to take a really careful look at what you're trying to do ... it is usually better to buy an oscilloscope or a PCI 'scope card. However, if you want to make measurements in the field and keep costs down, that's a lot of extra stuff to carry around.

    Corrosion measurements on aircraft [] is an application where a sound card is appropriate, because it meets those limitations and carrying extra equipment around the aircraft is a real pain.

    • It is true, sound cards do have limitations when it comes to oscilloscope duty, but they are not as bad as many claim. I can't believe I'm defending the lowly sound card. It is time for some de-bunking. Let's go:

      Almost all measurements with oscilloscopes cannot be performed with a sound card. However, if your application meets these ...
      Nothing you're interested in is outside the audio band (50Hz to 5kHz or so)

      Low end sound cards with a 48000 sample rate are good from almost DC to 24kHz.

      Up to a second delay for the screen update latency (depending on sound card) is ok
      Check out a linux program called baudline [], it's screen update latency is less than a 1/60 of a second. It's quickness will blow you away.

      16 bit digitization (or worse) is enough
      Huh? More bits is better. Since high-end digital scopes have 8 or 10 bit ADC's, the cheapo 16 bit PC sound card has far less quanization noise.

      No hardware triggering (all done in software)
      Why would you want hardware triggering? Deep buffers rule! In baudline you can scroll back to events that happened minutes or hours in the past (depending on RAM).

      When dual channel, both have the same settings
      What do you mean? Same sample rate? That isn't much of a limitation. Gain, zoom, offset, ... can all be independently controlled via software.
  • WinScope [] is a fairly decent ..oh sorry, wrong link. Digital Oscilloscope Uses PC Sound Card for Input []
    . It works great for speech input. WinScope can even do Fourier Transform.

    I used it to impress my girlfriend by showing her my parrot can accurately reproduce 2600MHz sinewaves.

If a subordinate asks you a pertinent question, look at him as if he had lost his senses. When he looks down, paraphrase the question back at him.