Fork me on GitHub

Project Notes

#265 XYplotter

Draw pictures on a Digital Oscilloscope using an MCP42010 dual digital potentiometer and an Arduino. Of course, the first thing to try is the classic Christmas Tree.

Build

Notes

There’s a geeky meme that’s been around for years .. “drawing” pictures on an oscilloscope. I’m inspired to try something similar by w2aew’s video based on the the Christmas Tree by johngineer.

The techniques usually exploit the behaviour of analog scopes. This doesn’t work so well on digitial oscilloscopes since they are generally too good at picking up discontinuities.

In this experiment, I’m using an MCP42010 digital potentiometer to drive an X-Y plot with an Arduino. Using a digital potentiometer is a convenience - it could also be achieved with PWM outputs and RC filter for smoothing. While this approach works, it is quite sensitive to the output frequency and capabilities of the oscilloscope.

The Classic Christmas Tree

Of course, the first thing to try is to re-create the classic Christmas Tree.

The Python script build_data.py is used to interpolate plotting points over the fundamental tree structure. It generates the data.h used by the tree.ino sketch:

cd tree
./build_data.py > data.h

When running on the Arduino, it produces the image below. Scope settings:

  • XY plot mode
  • 8s persistence
  • average over 8 samples
  • X and Y offset by -2.5V (to produce a roughly centred image)

scope_tree

The time-domain plot for the generated output is like this:

scope_tree_xt

Construction

Breadboard

Schematic

Build

Credits and References

About LEAP#265 ArduinoDigital PotMCP42010Oscilloscope
Project Source on GitHub Project Gallery Return to the LEAP Catalog

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

LEAP is just my personal collection of projects. Two main themes have emerged in recent years, sometimes combined:

  • electronics - usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting
  • scale modelling - I caught the bug after deciding to build a Harrier during covid to demonstrate an electronic jet engine simulation. Let the fun begin..
To be honest, I haven't quite figured out if these two interests belong in the same GitHub repo or not. But for now - they are all here!

Projects are often inspired by things found wild on the net, or ideas from the many great electronics and scale modelling podcasts and YouTube channels. Feel free to borrow liberally, and if you spot any issues do let me know (or send a PR!). See the individual projects for credits where due.