
The etch bot draws a portrait from a user uploaded image. (Image Credit: Every Flavor of Robot/YouTube)
Back in the day, Etch-a-Sketch toys were a big childhood fascination. Many of us used it to sketch out a drawing to express our artistic side. Then, we shook the red plastic frame to erase it. A team of robotics enthusiasts from Every Flavor of Robotics (EFoR) made this toy more unique by turning it into EtchBot, a robot that draws portraits and plays videos on the screen. This project started as a demo for the OpenSauce event before being upgraded into a faster system with custom hardware and open-source software.
To get the system working, users upload an image or video through a web interface. Afterward, a Raspberry Pi adjusts the image size to fit the screen. It then takes out the background before turning it into clean line art. The robot also creates G-code motion commands via an optimized path that reduces non-drawing travel between sections. This G-Code is sent to the controller board that powers two Gartt brushless drone motors, which operate as servos that turn the knobs. Magnets and encoder boards are integrated with the motors for real-time positioning feedback to achieve precise control.
Meanwhile, motion control is executed by the MotorGo AXIS, a custom motor controller board that uses an ESP32 MCU and two brushless motor drivers in a Rapberry Pi hat. The controller uses PID-based closed-loop control system along with backlash compensation routines that account for mechanical slack in the drive system. The system changes movement speeds gradually instead of abruptly to minimize hardware stress and prevent damage. And since the drawing stylus is always in contact with the drawing surface, the robot’s software plans the best route to avoid accidental strokes. Once it finishes a drawing, the stylus moves back to a predefined safe position. Doing so ensures the next image creation has a clean start.

(Image Credit: Every Flavor of Robot/YouTube)
While in video mode, the robot draws one frame sequentially. If chosen, the screen can be cleared between frames, and the time-lapse camera captures each frame. All the frames are then stitched together to generate a video, giving the impression that the artwork is drawn live on the Etch-a-Sketch. Some versions of this system come with a self-erase or screen-clearing step between frames and drawings.
Impressively, it only takes a minute for this system to draw an entire portrait. And it can create up to a thousand sketches per day. In addition to image and video uploads, the web interface allows users to change settings and control the robot. Those interested in making their own Etch-a-Sketch robot can find the code, firmware, PCB designs, 3D-printable parts, and assembly notes on GitHub.
This latest EtchBot is different from earlier versions. Other robots didn’t move as fast, avoiding backlash and mechanical errors. They also featured simpler stepper motors that lacked advanced feedback and couldn’t work with video or fast frame-by-frame drawing.
Have a story tip? Message me here at element14.