For FedEx Day 2015, a team of four DMC engineers hacked an Etch-A-Sketch to automatically draw pictures. We did this by attaching stepper motors to both of the front knobs on the Etch-A-Sketch, and controlling them with an Arduino Due microcontroller. The Due then communicated with a .NET app running on our computer via serial messaging. The .NET app provided a user interface to control the drawing and converted an image file into a path for the Due to sketch. The whole team spent the day debugging and merging together the bits of code we had prepared for path planning, communication, and motor driving, then put the whole system together.
First, we had to process the image and turn it into a path that the Etch-A-Sketch could follow. The program created one continuous path that attempted to minimize the area that the Etch-A-Sketch was forced to fill in between gaps in the image. The pattern was then turned into a string, representing moves up, down, left, and right.
Next, we developed the communication between the Arduino and the .NET app using the open source cmdMessenger library, found here. The final implementation streamed snippets of the path to the Arduino in 16-character chunks to accommodate the messenger. Meanwhile, we also worked on the microcontroller program, making sure that the Arduino could read the path as a string and turn it into the appropriate move commands for the stepper motors to go left, right, up, and down.
Finally, we put together the .NET front end, which tied together the image processing and messaging to the microcontroller, and gave us a user interface to select pictures, scale them, and download them to the microcontroller. While debugging code, Nick also 3-D printed a couple nifty brackets to hold the stepper motors in place while Etch-A-Sketch is running.
At the end of the day, we were successfully etching and sketching all kinds of pictures, from basic shapes to DMC's logo and a portrait of our first president, George Washington. While we still have a ways to go to perfect the image processing algorithm, we were excited to see the results come together for a good first take on the automated Etch-A-Sketch.