This repo hosts all of the software for the Etch-a-Sketch Camera! Check out the video here:
This robot is capable of taking an image with the onboard camera, converting the image into GCode commands, and executing the GCode to draw the image on the screen.
There are two main components to this project, the image to gcode conversion, and the microncontroller/motor driver firmware.
The main entry point for the code is etch_a_sketch_server_cli.py
. The CLI chains together various processing steps to convert the image into GCode. The final output of this pipeline is a GCode file. gcode_server.py
handles streaming the GCode to the robot over Wifi.
More details about the details of the pipeline to come in the README
The robot controls the motor using a MotorGo motor controller, our in house motor controller with an ESP32 on board (more info here). The code was written using PlatformIO and is located under etch_a_sketch_driver
. The main entry point for this code is src/main.cpp
All of the 3D printable files are availabe on Printables. The MotorGo, the motor controller onboard the robot, can be purchased at motorgo.net. Full BOM coming soon!
Here are the links to the open-source projects this codebase relies on.
- svg2gcode
- cartoonify | Our Fork
- gcode-optimizer | Our Fork
- rembg
- potrace | GitHub mirror
- ColoringPags
- Coherent-Line-Drawing
- Subscribe to our YouTube Channel
- Join our Discord if you have questions or just want to chat!
- Consider supporting us on Patreon