Limitations of sound card oscilloscope
It isn't a question of how much work you want to do, it is also a question of the system requirements.

You are required to use zelscope.  That means you only have one end (the input) under your control.

There are ways to circumvent the limitations of the hardware, but they require that you have control of the input and the processing.

Zelscope won't help you implement any of the techniques with which you could get around the hardware limitations.

You should therefore concentrate on those things a buffer can (and should) do.


Provide a high impedance input.  Typical sound cards have a (relatively) low input impedance of some tens to hundreds of kiloohms.  Fine for audio, but will load down resonant circuits.  Real oscilloscopes have an input impedance of 1 megaohm or more.
Provide (calibratable) gain and attenuation settings so that you can view larger (or smaller) signals.  The input of a sound card can only accept like 1 volt peak to peak.  Anything larger than that will be clipped - you can't view signals larger than that.  You might be able to get away without amplification as your sound card samples at 16 bit depth.  You can "crank up the gain" digitally and get away with it.
Protect your PC from high voltage.  You shouldn't use this thing on like AC line voltage, but accidents happen.  Your buffer should be built such that an accident won't kill your PC or your sound card.


Those are the requirements you need to concentrate on.

Since this looks like it is a school assignment, I'll leave it at that and a reminder that you are hardly the first to have to build such a thing.



If you have control of both parts of the system (input and processing) then you can get around the limitations of the sound card.

The simplest is getting around the DC blocking.

You could remove the blocking capacitor, and then adjust the offset DC to the correct value.  I don't know how well typical codecs do when used this way.  This isn't just a buffer, but it requires your buffer to work with it.

Another way would be to use a chopper circuit to convert DC to AC. The resulting AC can be sampled by the sound card.  In software, you rectify the measured AC , run it through a low pass filter, and get your DC voltage.

You lose bandwidth that way, but gain the ability to measure signals down to DC.

You can use much the same trick to measure higher frequencies.  Mix with a high frequency chopper signal, band pass to match the frequency range of your sound card.  In your software, you can reverse the process.  You only get a small part of a signal at a time, though.  Of you make it so you can see, say, 100kHz then you wouldn't be able to see any part of the signal at 50kHz.

Finally, you can go whole hog.  Just build your sampling and storage outside of the PC, and use audio to transmit the sampled data to the PC at some lower bit rate.  You won't get realtime sampling that way, and for all the work it will take to make it go you might just as well have built your sampler with a USB interface.

None of this stuff is strictly 
a buffer.  A buffer as it is usually known is just an amplifier that presents a high impedance on its input and a low impedance on its output.