Precision CNC Drawing With EtchABot

Turning the classic toy Etch-A-Sketch into a CNC drawing tablet intrigues a large number of hackers. This version by [GeekMom] certainly takes the award for precision and utility. Once you build something like this, you can hardly stop writing firmware for it; [GeekMom] produced an entire Arduino library of code to allow joystick doodling, drawing web images, and a self-erasing spirograph mode. The topper is the version that runs as a clock!


The major hassle with making a CNC version of this toy is the slop in the drawing mechanism. There is a large amount of backlash when you reverse the drawing direction. If that isn’t bad enough, the backlash is different in the vertical or horizontal directions. Part of [GeekMom’s] presentation is on how to measure and correct for this backlash.

The EtchABot uses three small stepper motors. Two drive the drawing controls and the third flips the device forward to erase the previous drawing. The motors are each controlled by a ULN2003 stepper motor drivers. An Arduino Uno provides the intelligence. Optional components are a DS3231 Real Time Clock and a dual axis X-Y joystick for the clock and doodling capability. Laser cut wood creates a base for holding the Etch-A-Sketch and the electronics.

The write up and details for this project are impressive. Be sure to check out the other entries in [GeekMom’s] blog. Watch the complete spirograph video after the break.

20 thoughts on “Precision CNC Drawing With EtchABot

  1. Wait… What ?!? “a ULN2003 stepper motor drivers” Grrr!
    I expected more from hackaday than from a 8 year old electronic beginner !
    The fact that is useful for driving an unipolar stepper motor doesn’t make it a stepper motor drivers, it’s just a darlington NPN transistor array!

      1. It seems you’re not in the business for long enough. The ULN2003 is a (not so uncommon) darlington transistor array and the data sheet points back to somewhere mid 70’s.
        Although I must admit that using it as a (stepper) motor driver is not the best choice. But if you happen to have one laying arround…

        1. @X
          Say it with me: “Not everyone in my field works in my sector. Not everyone in my sector does the same thing.”

          Now repeat it until you understand that knowledge is not a 1d continuum from zero to you, and on to future-you. You cannot assume that everyone with the same number of years of experience as you has precisely the same knowledge, or that lacking random trivia reflects a deficiency on their part.

  2. can we stop with the animated gifs already. Please it is horrible and I end up x’ing out of that link because of it even if i want to read it because it makes the page completely horrible to look at. We have a video if we want to watch it guess what we can click on it. So again Please Stop, a static image is good enough.

    1. Absolutely disagree. So often seeing something in action makes it so much easier to understand. Also I’d rather a gif than an embedded youtube link, assuming the low image quality inherent in gifs is acceptable.

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.