Introduction: Idea Turn an Obsolete PC Into an Electronics Engineering Experimentation Environment
PCs go obsolete at a furious rate. The 4-year old 1GHz PC just isn't adequate to run the latest bloatware, fast action games, video and photo editing, and so on. But it's still fast enough to do SOME stuff, surely. Shucks, the 8-year old 400MHz system show up in the trash and I'm SURE they can run a C compiler or plain text editor just as well as they ever did.
And there is all sorts of minor hardware and sophisticated (but generally free and open source) software that can turn a PC into a useful lab tool.
Step 1: Lab Power Supply
There are already several instructables on making a bench-top power supply using an obsolete computer supply. There's no reason that you have to take the power supply out of the computer to do this; the average computer has plenty of spare power for a few experiments. And the popular +12 and +5V supplies are on nice convenient connectors (designed to attach to disk drives.) Put a panel with a couple of power jacks in a spare bay and you're golden...
With slightly more effort, you can add some fuses and ammeters, both of which are probably good ideas.
With significantly more effort, you should be able to come up with a variable voltage current-limited supply that still fits in a bay.
(Picture from https://www.instructables.com/ex/i/2F7340901BE310299AD7001143E7E506/)
Step 2: Oscilloscope From Sound Card Inputs
There is assorted software on the net that lets you use the line inputs of your sound card as a crude oscilloscope, though of course it is rather limited in bandwidth capability (About 20kHz vs 20MHz for a low-end "real" scope), and not so easy to calibrate either. Still, there is lots you can do with a 20kHz uncalibrated scope.
With additional effort and $$, you can add a more complex analog front end for better range, isolation, input impedance, etc.
(with SIGNIFICANT $$ and little effort, you can buy a half-scope that connects to the computer via USB and has real scope-like functionality and bandwidth. It'd still be somewhat less than a real scope. (but then we're talking about $$$ where it would make sense to put this in a brand-new computer.))
Picture from http://www.zeitnitz.de/Christian/Scope/Scope_en.html
Step 3: Function Generator From Sound Card Output
Likewise, there is existing software to turn the output of a sound card into a function generator, capable of generating sine, triangle, square, and complex waveforms at assorted frequencies.
An additional analog front end would provide greater output range and power drive capability, clipping to digital levels, etc.
Pictures from: http://heliso.tripod.com/download/generator/dsg.htm
Step 4: Logic Analyzer Using Parallel Port?
Supposedly you can also get a crude logic analyzer out of the parallel port. I have my doubts whether this would be as useful as the sound-card scope, but you could at least do a multi-line logic analyzer.
Picture from: http://www.xs4all.nl/~jwasys/old/diy2.html
The outputs of the parallel port could also be used for digital signal generation (but without the timebase of the sound card, exact timing might be difficult to get.)
Additional electronics creates more capabilities, up to "real" logic analyzers that connect via USB.
Step 5: Protocol Analyzer Using Serial Port
Serial data is common enough in projects that one might as well use the serial port to analyze serial data. Also, assorted voltmeters, printers, device programmers, and so on might use the serial port as-is.
Picture from: http://www.serial-port-monitor.com/screenshots-free-serial-port-monitor.html
Step 6: Assorted Simulators and Software Tools
And of course there is lots of existing freeware from vendors.
Switchercad, MPLab, AVR Studio, spice, and many more.
Step 7: Summary
Most of this stuff already exists. What I'd like to see is a page collecting large SETS of them, with instructions and gotchas, all in one place. Maybe even a linux live-boot CD you could insert and get an Instant EE environment (but we need not restrict the tools to running on linux.) (But it would be nice to have full tools sets for MULTIPLE operating systems.)
I'm particularly soliciting recommendations for packages that people have used and found useful, as distinct from half-finished projects that never quite worked....