Let's Make Robots!

Analog/digital signal output from laptop?

Apologies if this has been covered here before, but so far my searches haven't pulled much up.  I'm thinking of a few uses for an old and somewhat defunct laptop I have lying around, and most of them would involve sending information from the laptop to control components like motors directly.  (The idea is appealing since it'd be using the proessing power of the computer for most things, and also because I have more experience in that realm... not to mention potentially being cheap, since I already have the computer!)

The first thought that comes to mind for that is some sort of generic analog output and/or digital output approach, where I can send an arbitrary waveform or at least set pins to high or low.  But, how can I actually get there?  For analog output, a google search for "sound card daq" shows people using that approach, but with a few caveats like limited frequency ranges and a gain depending on volume setting.  Do any of you have experience with that method?  Any general tips (or warnings)?  For digital output, I guess I could go with USB to serial, but I'm not sure if there's an easy way to get there without a ~ $30 special cable, and even then what exactly to use on the receiving end to get a few simple outputs.

It's a pretty open-ended topic, but for the sake of focus:

  • This particular laptop has USB 2.0, headphone, ethernet, and phone jacks.
  • Let's say I'm aiming to get two 0-1 volt 8-bit (or higher) analog outputs at up to 1 kHz sampling rate, and six digital outputs with at most a few miliseconds between changes.

Any thoughts?  I'm aware of commercial products like NI's USB-6008 that could do all I want and more... but I'm also interested in ideas for doing a really basic implementation on-the-cheap!