Back to projects

Apr 2024

Building a Self-Drawing Etch a Sketch

I built a Raspberry Pi-controlled Etch a Sketch robot that converts images into motor instructions and draws them automatically.

Python C/C++ Microcontrollers Algorithms

Video summary

I wanted to recreate detailed Etch a Sketch artwork without drawing it by hand, so I built a robot that turns the knobs for me. The video follows the whole process: buying the Etch a Sketch, attaching stepper motors, failing with an underpowered first prototype, redesigning the adapters and base plate, then getting a second version strong enough to draw reliably.

What I built

I used a Raspberry Pi, two stepper motors, custom 3D printed knob adapters, and a stronger screw-mounted plate to control the Etch a Sketch dials. I measured the drawing area at roughly 153 mm by 107 mm, estimated the usable resolution from the line width, and calibrated the dials into motor steps so image coordinates could be translated into physical movement.

Technical takeaways

The hardest part was converting an image into one continuous drawing path because an Etch a Sketch cannot move without making a mark. I resized images, converted them to black and white, removed small pixel clusters, connected disconnected regions with pathfinding, then used depth-first search and backtracking to generate one long path. The final robot drew in real time, but the motors ran hot, loud, and vibrated a lot, which made the physical constraints just as important as the algorithm.