Make A Simple O-scope With A FTDI Board And A Couple Of ADC’s

[RandomTask] has posted a nice tutorial on how to use a FTDI serial to usb converter, and a couple analog to digital converters to make a simple software oscilloscope. Using a “Universal Serial to USB converter” and one of many FTDI break out boards, he first reprograms the chip using FTDI’s programming software to put the device into a FIFO (first in first out) mode.

From there a pair of ADC0820 8 bit digital to analog converters are wired up, and input is fed to a couple 555’s for testing. It should be noted that there is no input protection, so things like voltages above 5 volts, or negative voltages are a big no-no with this setup. It still could be very handy while working with micro controllers or other digital circuits.

Data is then sent to the computer and displayed using a program, which has some basic features like scale and triggering, but also contains a couple bonuses like Calc Freq and Calc V delta calculation.

Many people have these little serial to usb converters, and might be in need of a simple scope. If you’re one of them, then you can cobble this together pretty darn quickly, and cheaply.

25 thoughts on “Make A Simple O-scope With A FTDI Board And A Couple Of ADC’s

    1. you’re right, that would make a better scope. But the important thing is that you don’t need to get the data to the computer that fast. You need to process it in dedicated hardware FPGA or CPLD type thing and then send a “screen shot” to the computer once the triggering and whatnot is done. Your screen shot need only update at 15 fps or so to be smooth to the eye. Food for thought…

      1. i have a feeling that what your talking about is how the WindowsMediaPlayer makes it’s “scope” waveform display,,, so it uses WAY less CPU power,,, only needs one tiny snapshot every ( 1sec / X f/s ) so once every ~66.667 milliseconds not counting computing time

        i say this because it has this annoying vertical line drawn between the end of one frame and the start/next when viewing ~25hz bass notes. makes it look like the sound has square-wave in it! if ur gonna do it leave out the RETRACE LINE and just join the frames against each other!

        PS: maybe make the tip of each frame a different color, just two or three pixels to catch the eye but not distract.

    2. For audio to a few tens of KHz a good soundcard and one of the many ready made scope software will do. For DC or very slow stuff, a voltage to frequency converter (LM331?) can feed a frequency modulated signal into the audio in, then software can be written to plot the frequency variations back into a voltage scale. This is needed because of the capacitive input of most (all?) soundcards which would make it impossible to record very low frequencies and DC.

      If you don’t expect a soundcard scope to compete with a true scope it can still make an useful tool.

    3. Hi,
      sorry to say, you cant improve this to let it be a scope. You need a different setup, so some critics are at place.

      The article is nice if the person did called it a data logger. Then people can make improvements.

  1. Because this thing is nothing more than a ADC hooked up to a pc in the poorest possible manner. 555 as timer for Oscilloscope. cmon!
    If one wants to build an oscilloscope, what you need is a proper input stage, different voltage ranges and fast and precise! ADC, plus quick memory on board. This thing is lightyears from an oscilloscope, you can’t improve it, only a 100% redesign will make an oscilloscope out of it.

    1. Ahhh, why aren’t the reply buttons on the right like every other website….

      Anyway, I disagree one very simple improvement would be to add protection diodes to the input of the ADC that would make it so much better. You could also add a proper analog front end which wouldn’t technically be a redesign, just an add on, but I do agree with the general spirit, it needs to sample faster.

  2. I guess what really bothers me, is this “oversell”. Had he just written “hooking up ADC to PC via USB”: great document. But no, he had to call it “oscilloscope”. Why? I just don’t understand it!

  3. We see a lot of oscilloscopes designs here. I agree that this could be better described as a data logger. We need a real open source,cheap oscilloscope. Are there any projects out there that are working on this goal?

    1. to adjust this for 1.4 – 500 volts DC:

      voltage(B+/330vdc/500v?) > resistor-voltage-divider
      ” ” > voltage-to-current conversion with resistor and if 300vdc; tubes dont care about drop (minimum voltage) of opto. … 1.4v?
      ” ” > optoisolater/optocoupler
      ” ” > current-to-voltage converter (transistor)
      ” ” > your existing equipment PLUS protection diodes ect

      oh and use a fake ground so it can effictively measure neg. voltages as zero and tube ground as (-v * -1) and such but dont forget protection diodes on opto ect anyway

  4. Good job boy, don’t listen to the trolls. Of course this is not a real scope, it-s a breadboard !, but at least you have learnt what make the difference.

    You should put 2 diodes on your input to protect it, and your frequency error is surely due to the capacitor which is +/-20%.
    Also with just a few resistors you could have a wider Vin range and “see” the negative half of sinewaves in AC.

  5. I hate myself for being a grammar nazi. You can hate me too.


    It’s “couple OF xxx”, not “couple xxx”. You see this everywhere from time to time but it seems to be endemic on Hackaday and Techdirt.

    Every couple years… (wrong)
    Every couple of years… (right)

    Please please think of the children. Why do you hate America?

  6. way to go man, id troll the trolls for ya but u know how it goes. anyway here is what i have to say: (i edited it, was going to reply-troll)

    it is 10000 times better then my first non analog o-scope back when i was a kid so mine was WAY worse then urs, urs is useable.

    it beats any arduin-o-scope by at least (419000hz/5000hz=80) ~83 times and that is an improuvement over all the duino scopes so far!

    well its 8 bit instead of 10 or 12 but at those frequencys in my opingion, 8 bit is enough to see whats going on for most people

    ps: my first ever digital scope was literally 2 bit (using 4 wires) and 0 – 1 vdc and the sampling rate was determined by my BASIC programming skills on a 386 computer direct to parallel port, using vu meter IC (bak in DOS u dont need dll or 30MB download to use a port:P)

    it was fun, i learned, nobody made money from my learning, and nobody accuired the skills to make a professional product in a factory (not nessary for the fun of learning:D:D:D)

    it was cool at the time, but i just kept using my analog tv scope the next day.

    PPS: all the parts were FREE (lpt cable, vu IC, wires, my code, my time)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.