Skip to content


AVR Oscilloscope Clock and Ideas

OClock-04-20-07-1sI have just built the AVR oscilloscope Clock kit from Dutchtronix. The kit was easy to build and for $25 it is quite a deal. I bought the kit to see how well the oscilloscope would work as a display device. This article presents the idea of using an oscilloscope as a graphics display for other microcontroller projects.

The Oscilloscope:
An Oscilloscope is basically an XY plotter where the pen is an electron beam and the paper is the rectangular display. There are two axis of control, Horizontal (X) and Vertical (Y). The horizontal axis is controlled by the time base setting and the Vertical is controlled by the sensitivity settings.

Oscilloscope Horizontal:
The time base control generates a sweep voltage that controls the X position of the beam. Actually it is an internal voltage applied to the CRT tube that pulls the electron beam right and left. The time base generates a ramp waveform on the CRT coils which cycles at the rate you set on the time base control. When you setup a trigger on the scope the beam is held off till the trigger is tripped, then the X control voltage is swept at the rate selected.

Oscilloscope Vertical:
The Y axis of the beam is controlled by the vertical system. This is where you set the volts per division on the scope. As the beam sweeps from right to left the Y position is controlled by the voltage at the end of your scope probe. You set the volts per division and can see the voltage vs. time (Y) on the display. The Beam moves up and down with the measured voltage as it sweeps from left to right. The resulting picture shows you the voltage vs. time.

Oscilloscope X/Y Mode:
In the X/Y mode the horizontal and vertical position of the beam is controlled by the two vertical input channels. Most Oscilloscopes have two channels, both normally control the vertical position of the electron beam. When you place your scope into X/Y mode one channel is switched so that it controls the horizontal. The voltage on one probe will move the beam left/right (X) and the other will move the beam up/down (Y). The sensitivity settings (volts per division) are used to control how much voltage is required to move the beam each division on the display.

How AVR Clock Works:
OClock2 0-V2 7sThe AVR Oscilloscope Clock uses a dual DAC to generate two analog voltages that drive the beam on an Oscilloscope right/left (X) and up/down (Y). Using this method lines (vectors) can be draw on an Oscilloscope in X/Y mode. The trick is to very quickly adjust the two voltages to move the beam to correct spot on the display, then move the voltages through a range until they reach the end of the desired line. At this point the voltage is rapidly changed to the next line to draw.

Oscilloscope as a Display
The Dutchtronix designers used this X/Y oscilloscope trick to implement the clock face and the user control menu for the AVR Clock. There was also a recent demonstration file that worked with an Oscilloscope and your sound card to generate some very impressive displays. I recommend that you take a look at this video. I hooked my sound card to an oscilloscope and watched this in Awe. If the Dutchtronix AVR Clock and this impressive oscilloscope demonstration can do all this on an Oscilloscope then surly we can use the same for our electronics projects.

The graphics capability should come in handy for many projects. For example, maybe the dual DAC could be included on the Sig Gen1 board to use an oscilloscope for the Bode plots. An oscilloscope can be used now if you trigger on the DDS Sync Out pin, but with the Dual DAC the curve could be displayed with a cursor, frequency, and signal level readout. Of course all of this will be easy via USB or serial on a PC. I just wonder if it would be preferred to use the bench O-Scope over the PC. Let me know your opinion with a comment.

An Arduino library could be developed that works with the dual DAC to produce an easy to use display system. Has anyone else started this work? I wonder if the AVR Oscilloscope Clock code is available and would it serve as a starting point. The code to generate the slopes with the correct timing might be tricky.

DSC 0061The right side picture shows my AVR Oscilloscope Clock in action. I did forget to install the 8-pin socket for the RTC and my LED was in backwards. I think Dutchtronix could improve the silkscreen marking for the LED.

The picture below shows the parts pile I started with.
DSC 0060

Posted in Microcontroller, Projects, Workshop Tools.


3 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. dfowler says

    Why not aswathi?

  2. aswathi says

    This project is wonderfull.
    But i have a doubt that can we do this project in scientific oscilloscope?
    Hope a speedy reply
    ASWATHI

  3. Felixe says

    Hey, nice article. I too will be interested in an AVR library for writing data to a scope. That’s on my medium-term todo list. Hope someone chimes in with more info.