After seeing this done online, I wanted to take a swing at it. The aim was to keep it simple. The basic plan was: make something in CAD and get my Etch A Sketch to draw it.
Hardware:
I chose NEMA 17 steppers to control the knobs due to their availability, small footprint, and cost. To control these, I went with an Arduino paired with a CNC shield and A4988 stepper drivers.
To connect the steppers to the input knobs on the Etch-A-Sketch, I modeled up some parts in Fusion. One platform for the steppers to mount to, and a set of couplers to interface between the steppers and the Etch A Sketch. Armed with an amazing maker space at Austin Community College, I 3D printed these parts out on a Bambu X1C.
The CNC shield is a prefect way to control a CNC with Arduino. The motors are powered with a plug-in 1A, 12V DC power supply.
By popping off the knobs on the Etch A Sketch, I was able to get these couplers to mount directly to the inputs on the Etch A Sketch. I took a gamble on friction fit here and it paid off. No gluing, screwing, or keying necessary, they hold on just fine under the small torque of the motors. The steppers themselves screw straight into the printed platform with some M3 screws.
CNC Control:
For the CNC control, GRBL caught my attention as it was easy to flash onto the Arduino and it is made for use with the CNC shield. GRBL is the absolute keystone of this project, this would have been far more difficult if it wasn't for this firmware. On my computer, I am using Universal G-Code Sender (UGS) to control the whole thing.
UGS, as used by many hobbyists, makes the setup process for homemade CNC machines very straightforward. Configuring the steppers to the XY axis was simple, just a couple of button clicks. Calibrating the motors to the dimensions of the Etch A Sketch was a bit more tricky. I used calipers to measure the line length on the Etch A Sketch screen and landed at ~5.682 step/mm on my machine.
To dial in feed rate I jogged the machine around using the digital control until I found a speed was both quick and reliable. I found that too fast would cause the internal bits in the Etch A Sketch to skip around, but too slow is well, boring. I wanted this thing to go fast. I ironed this out some more once I started getting images drawn on the screen. It turns out that even when not cutting anything, you do have to adjust federate for the best desired outcome. After some playing around, I found 9000 mm/min to be a good happy medium here.
An issue I was running into was the gnarly backlash on the Etch-A-Sketch. This thing can hardly return back to Zero without being a few millimeters off origin. That’s okay for my purposes though, I don't have to hold ± 0.001" tolerances to draw my name on the screen, and I'm manually setting a home position every time I draw up something new. As long as the drawing designs are kept reasonably simple, everything goes reasonably well.
Fusion 360:
To get started here, I began with drawing up some simple geometric shapes (rectangles mostly). I then used a contour toolpath to run the perimeter of the shape, as you would for some engraving operations in CNC milling. This initially worked for simple linear shapes; however, after trying some more complex geometry it wasn't giving me what I wanted.
As everyone knows, drawing on an Etch A Sketch requires one continuous line. There is no Z-axis to pick up the pen (or tool in my case) and move to the next spot, so everything has to be drawn in a reasonable sequence. As the desired images or shapes get more complex, sequencing the contour tool paths becomes more difficult. As with most things the world of CNC, there's a million different ways to complete the same task here. After some more trial and error, I found a better approach with Facing toolpaths.
Facing toolpaths produce a really pleasing image on the Etch A Sketch. To get my best results, I would create a tool with some really small dimensions (like 0.5mm-0.25mm diameter ) mimicking the line width on the Etch A Sketch. Playing around in the toolpath settings with variables like stepover and cutting angle started to yield me some pretty great looking drawings. See some examples (and video) below.
My name is cool but I wanted to draw some more complex images on this thing, and figure out its limits. I started pulling vector images (.SVG files) off the internet and throwing toolpaths on them in fusion.
Got some pretty exciting results here with the Mona Lisa. To get the details I was aiming for, I tightened up the stepover distance. Lines started to overlap in spots because of this. Backlash also started to become a serious issue as I worked through some of these images.
Below is a good example of the backlash I was dealing with on complex images. As I kept pushing the limits, the wheels started to fall off, literally. Adjusting the feed rate, stepover distance, and pass direction angle made a huge difference in image quality. I like how the image looks with the facing pass direction set to 45°, but I’ve found that this diagonal movement makes the Etch A Sketch much more prone to backlash. Switching the facing pass direction back to the typical 0° and increasing the stepover distance greatly improved the backlash issues I was running into.
20° pass direction, narrow stepovers, high feedrate.
0° pass direction, larger stepovers, slower feedrate.
There’s still plenty of room for improvement. One major area to focus on is toolpath optimization to eliminate the stray lines between passes, which are visible in all these images. I’d to one day self-contain the whole system and turn it into a clock, complete with its own shake mechanism to clear the screen before drawing a new time each minute. This project has been a great introduction to homemade CNC and working with Arduino.