Project Overview
This project is a CNC Writing Machine built as a school project using Arduino and GRBL firmware. The machine is able to write or draw on paper by converting digital designs into precise movements along the X and Y axes, with a controlled pen up/down (Z-axis) mechanism.
The main goal of this project is to understand CNC principles, stepper motor control, and G-code execution using low-cost and accessible components.
How It Works
Text or drawings are converted into G-code.
GRBL firmware running on the Arduino interprets the G-code.
Stepper motors move the pen along the X and Y axes.
A servo motor controls the pen up and down.
The machine writes or draws the desired output on paper.
Hardware Used
Arduino (running GRBL)
Stepper motors
Stepper motor drivers
Servo motor (pen lift)
CNC frame (wood, aluminum, or 3D printed)
Belts or lead screws
Power supply
Software Used
Arduino IDE
GRBL firmware
G-code sender (e.g. Universal G-code Sender)
CAD / CAM software for generating G-code
Project Goals
Build a functional CNC writing machine
Learn CNC control using GRBL
Apply electronics and programming knowledge
Understand motion control and machine calibration
Future Improvements
Add limit switches
Improve frame rigidity
Increase writing accuracy
Add a full Z-axis
Credits & References
Resources and tutorials used during the project:
https://github.com/TGit-Tech/GRBL-28byj-48
https://github.com/ruizivo/GRBL-28byj-48-Servo
https://www.youtube.com/watch?v=og1506q67mo
Also thanks to Chroinc Mechatronic with all this videos helping me with this project https://www.youtube.com/@ChronicMechatronic