Instructables

Arduino controlled Pocket Etch A Sketch Random Walk Simulation

Featured
Picture of Arduino controlled Pocket Etch A Sketch Random Walk Simulation
This project is the result of Wal-Mart check-out lane impulse purchase of Pocket size Etch A Sketch for $3.99.

Two stepper motors drive Etch A Sketch knob shafts, and a servo motor flips Etch A Sketch to erase the screen.  Using the Arduino IDE’s Serial Monitor the user can automatically generate “random walk” simulations. Material cost  about $60, simple construction requires only a couple hours effort.

Not a true random walk simulation since it separately moves random amounts in horizontal and vertical directions; and maximum travel is restricted to remain within Etch A Sketch screen.
 
Time lapse video took about 30 real time minutes.

 
Remove these adsRemove these ads by Signing Up

Step 1: Procure Hardware:

See pdf file for detailed listing of stuff you’ll need.

For the Arduino board, I actually used a Freeduino board, although I initially developed the project using an Arduino Uno board.  Both these Ardunio boards can be powered directly from USB.
Graver10 months ago
I am having a little problem with the ( h) or home command it doesn't seem to do anything and getting out of the random or (x) command. I have to close the window to stop the pointer movement. Is there a way to make the random movements larger. I made mine on the full size etch-a- sketch it is hard to see the movements. Other than that it works fine.
Great project! A fun thing you could do with this is to have the etch a sketch draw non-random objects like from a photo. Maybe its out of scope for the Arduino? Nevertheless awesome job!
I wouldn't think this is too far out of the arduinos range. Possibly only monochrome bitmap images. Arduinos are already used for CNC machines, why not an automatic etch-a-sketch?
Maybe if you added an SD shield to hold the image, then the logic on the arduino to interpret the image. But converting an image to a single line drawing is computationally expensive, and would be much too slow on the arduino. However, you could interpret the image into movement commands via the pc, then send those over serial to the arduino. (in fact, this is more or less how arduinos are used in hobby CNC - they interpret gcode into motor movement, but they only receive a limited number of commands at a time [unless, of course, an SD shield is used in conjunction, but even in this case, the heavy lifting is done ahead of time by the pc])
Is there a way to pre-process an image to a single line drawing and then send the commands to the arduino?
I used Mach3, a CNC controlling program. Free up to 500 lines of code. You will need to learn to CAM the picture, there is an online CAm prg at makercam.com
that will take your SVG (Inkscape) drawing and convert it to Gcode. There is also a plugin for Inkscape that will do that for you. Eggbot uses this system, and it is the very same type of machine as this!
That seems most probable. It would end up similar to the electronics of a CNC machine, where the computer sends movement commands to the arduino, and that arduino is used basically as a driver module.
dasher111 months ago
Could you have it center itself and clear every time u press X?
Well documented buld! I like how it started small. I've been trying to go big with a Makelangelo sketcher. It is always popular, and was super easy to use. http://makelangelo.com/ In response to previous comments: What makes it so easy is that you can input any picture, and it figures out the moves. Can't wait to try to put both of these projects together for the ultimate Drawbot flexibility. Thank you.
The problem with drawbots is that they generally use servos to lift the pen off the drawing surface, something that isn't possible with EAS. You'd need a way to convert the image into a legible single line drawing (such as a Traveling Salesman Problem, or TSP art).
kooth1 year ago
Well now this is pretty cool, I must say! Way to go -- I love this!
Edgar1 year ago
Neat, funny, and went to my Blog:
http://faz-voce-mesmo.blogspot.pt/2013/04/um-canivete-com-estilo-e-uma-replica.html
daugguy1 year ago
Great Arduino project, but having trouble with your code. What version are you using? Wants to stop on the first line "Stepper small_stepperV(steps, 4, 6, 5, 7);". Can you help me out? Thanks.
e024576 (author)  daugguy1 year ago
I'm using Arduino IDE 1.0.3. Perhaps there is a problem reading the libraries see -

http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use/arduino-libraries
Thanks for the reply, I was using ide 1.0. I'll give the 1.03 a try.