Hacking an Etch-A-Sketch with a Raspberry Pi and camera: Etch-A-Snap!

Kids of the 1980s, rejoice: the age of the digital Etch-A-Sketch is now!

What is an Etch-A-Sketch

Introduced in 1960, the Etch-A-Sketch was invented by Frenchman André Cassagnes and manufactured by the Ohio Art Company.

The back of the Etch-A-Sketch screen is covered in very fine aluminium powder. Turning one of the two directional knobs runs a stylus across the back of the screen, displacing the powder and creating a dark grey line visible in the front side.


The Etch-A-Sketch was my favourite childhood toy. So you can imagine how excited I was to see the Etch-A-Snap project when I logged into Reddit this morning!

Digital Etch-A-Sketch

Yesterday, Martin Fitzpatrick shared on Reddit how he designed and built Etch-A-Snap, a Raspberry Pi Zero– and Camera Module–connected Etch-A-Sketch that (slowly) etches photographs using one continuous line.

Etch-A-Snap is (probably) the world’s first Etch-A-Sketch Camera. Powered by a Raspberry Pi Zero (or Zero W), it snaps photos just like any other camera, but outputs them by drawing to an Pocket Etch-A-Sketch screen. Quite slowly.

Unless someone can show us another Etch-A-Sketch camera like this, we’re happy to agree that this is a first!

Raspberry Pi–powered Etch-A-Sketch

Powered by four AA batteries and three 18650 LiPo cells, Etch-A-Snap houses the $5 Raspberry Pi Zero and two 5V stepper motors within a 3D-printed case mounted on the back of a pocket-sized Etch-A-Sketch.

Photos taken using the Raspberry Pi Camera Module are converted into 1-bit, 100px × 60px, black-and-white images using Pillow and OpenCV. Next, these smaller images are turned into plotter commands using networkx. Finally, the Raspberry Pi engages the two 5V stepper motors to move the Etch-A-Sketch control knobs, producing a sketch within 15 minutes to an hour, depending on the level of detail in the image.

Build your own Etch-A-Snap

On his website, Martin goes into some serious detail about Etch-A-Snap, perfect for anyone interested in building their own, or in figuring out how it all works. You’ll find an overview with videos, along with breakdowns of the build, processing, drawing, and plotter.


Xan avatar

Awesome!!! This is such a good idea!

Martin Fitzpatrick avatar

Thanks :) Once I’d thought of it I couldn’t *not* make it, really fun project.

scruss avatar

the build, processing, drawing, and plotter links are all the same, btw.

Nice project: I guess similar results could be returned from a TSP approach – https://wiki.evilmadscientist.com/TSP_art – but that could be really CPU-heavy.

Also, I might want to nope out on the mercury switch. There are shake sensors that will do the same without the toxic contents

Alex Bate avatar

Hmm, that’s weird. I’ve re-linked them and it should now work.

Martin Fitzpatrick avatar

That’s really interesting thanks, not seen that before. I’ll take a look at implementing this — the graph completion is the part that takes the most time at the moment.

The mercury switch doesn’t contain mercury — it was sold under that name but it’s just a ball-bearing type tilt switch. I’ll rename it on the write-up to avoid scaring people.

Derek avatar

Awesome! That is really cool. I used to play with my Etch-A-Sketch for hours, so this is pretty nostalgic for me.

Martin Fitzpatrick avatar

Same, though I could never draw anything recognisable (except maybe a house). Turns out all I needed to do was wait 30 years and make a computer do it for me :)

rafaqat ali avatar

I might want to nope out on the mercury switch. There are shake sensors that will do the same without the toxic contents

Comments are closed