CNC Etch-A-Sketch

By David Crookes. Posted

For 60 years, the iconic Etch-A-Sketch toy, invented by French electrician André Cassagnes, has provided a blank canvas that has both enthralled and infuriated. Many of us will go no further than drawing some simple straight lines and shapes. But there are some amazing practitioners out there (check out Jane Labowitch and Dave Roberts) who can generate incredible works of art.

Quint Crispin admits he is not one of them, but, with a bit of ingenuity, the engineer has nevertheless found a way to unleash his creativity. He has devised a machine to perform the magic for him, using a Raspberry Pi 3 computer connected to a CNC HAT made by Protoneer. This has enabled two NEMA-17 size stepper motors to be controlled – hooked, as they are, to the Etch-A-Sketch’s two knobs using a belt attached around blue timing pulleys.

Shaking things up

“I had no idea the Raspberry Pi was so powerful,” he says. “But when I discovered it was capable of driving stepper motors using programs such as bCNC, I knew I’d found my solution for a portable CNC Etch-A-Sketch.” Indeed, his use of our favourite computer meant he could produce a wireless unit that was so light and sturdy, it could also be picked up and shaken to clear the display without causing any damage.

“Other projects have connected stepper motors to an Etch-A-Sketch, but the makers have quickly found they have to take the whole thing apart just to reset the screen,” Quint tells us. “That’s something I’ve never had to worry about because I spent a lot of time designing and producing a strong frame. It meant more work up front, but was well worth it in the long run.”

Even so, the challenge didn’t stop there. As with all CNC machines (those which use software connected to a tool to automate control such as 3D printers), simple x and y co-ordinate commands are issued. “You’re basically telling the machine ‘go here, go there, now here, now there’ using commands known as G-code,” Quint explains. Coding is, therefore, crucial.

A standard Etch-A-Sketch toy is able to display whatever image is outputted via the bCNC program installed on Raspberry Pi

Turning things around

For this, Quint used variations of the G-code command G1, noting the required x/y position and the required speed. “As an example, G1 X40 Y60 F400 means go 40 mm to the right and 60 mm up at a speed of 400 mm per minute,” he says. “Using  small enough line segments, you can even draw a circle!”

The first real problem he encountered was the looseness in the Etch-A-Sketch mechanism when changing directions. “You have to turn the wheels further than you think – if you mark an Etch-A-Sketch dial and bring it to the same spot from both directions, you’ll get about a 1.5 mm mismatch which can make your sketches look really poor. Most CNC software has ‘backlash compensation’ to account for this, but bCNC does not. Fortunately, I stumbled on a free program called NoLash that adds backlash compensation to the G-code program itself. You just tell it how much to compensate for and it does the job for you.”

Now, by firing up bCNC, Quint can create an image and have it replicated on the Etch-A-Sketch screen with the knobs being automatically manipulated. It has also allowed for some very elaborate designs, which have impressed all who have seen them being created. “Once I got it figured out, everything worked really well,” he says. “The experience has been magical.”

For the creation of stop-motion videos, the camera sits behind black fabric to prevent reflections, and each image is drawn 1 to 2 mm apart for smooth footage

From The MagPi store

Subscribe