Sketchduino (Automated Etch-A-Sketch)

I'm in the process of making an automated etch-a-sketch. A user can select a black-and-white bitmap in a PC program I wrote, and it will send the signals to the arduino to draw the image on an etch-a-sketch.

I got the idea when I read these two articles: and

Progress so far: Software and Proof of Concept:

Stepper Motors Attached:


Hi. I just looked at your video and it looks like you're driving the steppers direct from the Arduino digital pins. Are you? I thought that was supposed to be Really Bad.


Thanks - Yeah I don't have any EE background so I'm sure there's all kinds of things wrong with it :)

My understanding is that there is a risk of the steppers trying to draw more current through the arduino than it can supply (around 25mA?).

I was wondering if it's working for me now because I'm using the steppers at a level so far below their capacity (I'm maxing out at about 40 steps/sec).

I did get some darlington arrays that I'm going to hook up to the breadboard....I'm not sure if I need to though since I'm using the steppers so sparingly?


This has been on my to-do list for about 3 years, but since I normally trying to avoid mechanical builds I’d probably never get to it.

I’m really looking forward to seeing what you come up with. My goal would have been to implement LOGO on an etch-a-sketch, but that would be hard because you’d have to convery direction and distance to x and y steps. Sort of like converting polar coordinates.

To drive the steppers, I was going to use ladyada’s motor controller which is a bargain at $20. If your steppers are too big for the that board (750mA I think), then go with your darlington arrays, but keep in mind breadboards aren’t meant for high current work. The number of steps per second doesn’t really affect your current draw, but the load you put on the motor will.

I don’t know much about the subject at all but I think excess current draw is one risk, and transient spikes of reverse voltage being generated by the motor coils and frying your Arduino is another. At least that seems to be the case for other kinds of inductive load (things with coils) anyway.

By the way, I waded in with a question and completely forgot to say what a cool idea I think it is. Like Oracle it’s something I’ve daydreamed about doing but hardware actually requires you to build stuff that fits together and works right - software’s much easier. My todo list includes a desktop CNC mill - one day… One of the things that’s been putting me off is the control circuitry - now I’ve got two Arduinos I might risk one by wiring it straight to the stepper and seeing what happens.

Would you consider sharing your stepper pulse generating code, or is that in Visual Basic or something?


the solution is simple..

get a Motor shield from Ladyada and your good to go

That's waht i'm currently using on my desktop CNC hard side is the software.

TIP: Use jet printer as mechanical part of the project..for a etch a sketch it's perfect!


The code that analyzes the bitmap and converts to a continuous line drawing is written in VB.NET. I will post the code and executable once I'm done with the project. Right now a lot of things are hardcoded in that program, and I ought to make them more user-configurable (COM Port, Baud Rate, Image path) before I make it public. At that point I'll post my arduino stepper code as well. Good or bad, I decided to write my own stepper logic rather than use the already-available arduino stepper libraries....felt like I could learn better that way :)

Good or bad, I decided to write my own stepper logic rather than use the already-available arduino stepper libraries....felt like I could learn better that way

Definitely good.

When in learning mode, I try to (1) achieve a goal of my own as soon as I think I understand a concept, (2) try to find other people's solutions to the same problem, (3) reimplement the solution myself until it basically works, and then decide whether I want to "finish" mine or adopt their solution.

If I feel my solution is clearly superior, I keep it. Otherwise I have long ago decided to adopt other people's solutions to let me focus on the things I want to learn instead of trying to reinvent everything I see.

Well, that was my own fault. I think I've fried the USB controller on my Asus EEE pc that I use for Arduino stuff.

Recommendation: don't connect a stepper motor directly to your Arduino...



Edit: It seems to be working intermittently now so maybe I didn't fry it completely...

Usually USB controllers are hard to break. I've shorted a USB port out before and it was fine. Most of them seem to have over current protection that will disable the port temporarily if the controller detects an over current condition.


Initially I tried to use the steppers directly off of the arduino, but that didn't give me nearly enough torque. So I hooked up the darlington arrays and my external power source (4.5V, 1A) and that gave me sufficient torque to turn the knobs.

pics here: videos to come later

Thanks everyone for helping with answering my questions. Joe

That looks excellent! Well done.

I went out and bought some Darlington array ICs to be on the safe side, and just today I came home with an shiny new Etch-a-Sketch...

One quick question - how are you attaching the stepper motors to the E-a-S control knobs?


4x Aluminum coupler Jameco #161998 2x Rubber coupler Jameco #162000

The couplers come with set screws which hold them onto the shafts pretty well.

The knobs on the EAS come off pretty easy if you get a flathead screwdriver up underneath them.

I think I was pushing my luck with having the motors attached directly. The arduino chip ("ATMEGA") was getting hot to the touch after a while

By the way a more detailed description of the project (including some sketch source code) is here:


Nice write up. And your first Arduino project too - very impressive.


Excellent writeup. Was it before or after I mentioned LOGO on this thread? :)

I'm hoping to build something similar but it might be best to copy your hardware. I guess I can get the same eBay motors. I was planning to use a ladyada shield to power them though.

Controlling it via Wii nunchuck:

@Oracle...I had thought of LOGO early on when thinking about existing algorithms to solve the software aspect. Great minds think alike, and so do ours.

Controlling it via Atari joystick:

I think I'm all Sketchduino'd out.

Finally got around to taking some video of it running an actual BMP.