The system consist of two stepper motors which control the draw position and a servo which controls the drawing state (drawing/not drawing). The hardware is controlled by a Arduino Nano V3 that understands basic G-Code commands (similar to 3D-Printer-GCodes).
A host software, written in C++ with a Qt user interface sends the commands to the controller. The software is able (in the future) to convert images and SVG graphics into gcode commands. The programm then simulates the generated movements and renderes the result in a graphics scene.
The firmware supports currently only some basic commands.
- G0 [X_] [Y_] -> Move to/add X,Y
- G28 -> Go To Home
- G90 -> Absolute Positioning
- G91 -> Relative Positioning
- M3 -> Lift pen (don't draw)
- M4 -> Move pen down (draw)
- M5 B_ L_ R_ -> Calibrates the hardware. Defines baselength B and left and right cord length.
- M7 -> Debug output
- M8 -> Get current position (X Y)