How to Make a CNC Drawing Machine
['This guide covers the full build of a desktop CNC drawing machine: frame, motion, motors, controller and software.', 'It is written for engineers and makers who want a plotter that holds line width and repeatability, not a toy that wobbles.', 'By the end you will know which parts decide accuracy, which parameters to start with, and when building is the wrong choice.']

In this article
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
Key takeaways
What a CNC drawing machine actually has to do
A CNC drawing machine is a two-and-a-half axis motion system. X and Y carry a pen across a flat sheet; Z only lifts and drops the pen. There is no cutting force, so the loads are small, but the accuracy demand is not. A human eye catches a 0.2 mm wobble in a straight line instantly, even though the same error would be invisible on a rough machined edge.
That changes the design priorities. On a milling machine you fight cutting force. Here you fight backlash, belt stretch, and frame flex. A gantry that deflects 0.3 mm under its own weight will draw a curve where you asked for a line.
The good news is that the tolerance target is achievable with hobby-grade parts. A well-built belt-driven plotter holds ±0.2 mm over an A3 sheet. Pushing past that needs lead screws, stiffer extrusion, and a heavier base.
- 1Two axes do the workX and Y position the pen; Z is only a lift.
- 2Light loads, tight geometryNo cutting force, but visible errors.
- 3Backlash is the main enemyAny play shows as a doubled line on reversals.
Frame, rails and drive: where accuracy is decided
Start with the frame. Aluminum extrusion in 2040 or 4040 profile is the usual choice because it is straight, tapped, and easy to square. A base plate of 6 mm aluminum or 12 mm MDF adds mass and keeps the frame from walking. Bolt everything; do not rely on friction joints.
For the linear motion you have two realistic options. Rods with bushings or linear bearings are cheap and fine for a 300 mm travel. MGN12 or MGN15 linear rails cost more but hold straightness over longer spans and do not sag in the middle. If your Y axis is longer than 400 mm, rails are worth the money.
The drive choice sets your speed and repeatability. A GT2 belt with a 20-tooth pulley gives about 40 mm of travel per motor revolution. It is fast and cheap but stretches under load. A T8 lead screw with a 2 mm pitch gives 2 mm per revolution: slow, but it holds position and resists pushback from a heavier tool head.
Pick one and commit. Mixing a belt on X with a screw on Y works, but the two axes will have different acceleration limits, and that shows up as rounded corners.
- 12040 or 4040 extrusionSquare it with a machinist square before tightening.
- 2MGN12 rails over 400 mmRods sag in the middle of a long span.
- 3GT2 belt: ~40 mm per revFast, cheap, stretches under load.
- 4T8 lead screw: 2 mm per revSlow, holds position, handles heavier heads.
Motors, drivers and the controller board
NEMA 17 steppers at 1.5–1.8 A per phase are enough for this machine. You do not need closed-loop motors, but you do need to set driver current correctly. A common mistake is running an A4988 or DRV8825 at full current into a motor that only needs 1 A, which cooks both the driver and the motor.
Set the driver current with a multimeter on the Vref pin, or use a digital driver with a display. Start at 70 percent of the motor's rated current. If the motor skips steps under acceleration, raise it slightly before you blame the mechanics.
Microstepping matters more here than on a mill. A 1/16 microstep on a GT2 belt gives 0.0125 mm per step, which is finer than the mechanics can hold. That is fine. The extra resolution smooths motion; it does not create accuracy you do not have.
For the controller, an Arduino Uno with a CNC shield running GRBL is the standard low-cost path. If you want a screen and SD card support, an MKS or SKR board with Marlin works too. Both read G-code, which is all the machine needs.
- 1NEMA 17, 1.5–1.8 AEnough torque for a pen plotter.
- 2Driver current at ~70%Measure Vref; do not guess.
- 31/16 microsteppingSmooths motion, does not add real accuracy.
- 4GRBL on Uno + CNC shieldCheapest path with the best documentation.
From vector file to pen stroke
The software chain has three stages: drawing preparation, G-code generation, and streaming. You can draw in Inkscape, export an SVG, convert with a GRBL-oriented plugin, and send it with a serial sender. That chain is free and works.
The critical setting is pen-up and pen-down commands. In G-code, that is a Z move. If you use a solenoid instead of a Z axis, the controller needs a spare pin and a small change to the post-processor. Either way, the pen must lift fully or it will drag a line between strokes.
Feed rate and acceleration come next. For a belt machine, start at 30–60 mm/s drawing speed and 200–500 mm/s² acceleration. Raise the acceleration until you hear the belt twang or see corners round off, then back off 20 percent.
Finally, calibrate steps per mm. Command a 100 mm move, measure the actual travel with calipers, and scale the setting. Do this on both axes. Skipping this step is the single most common reason a first build draws everything at the wrong scale.
- 1SVG to G-codeInkscape plus a GRBL plugin is enough.
- 2Pen lift = Z moveSet the travel height so the pen clears the paper.
- 3Calibrate steps per mmCommand 100 mm, measure, and scale.
Common failures and what causes them
Lines that double on direction changes almost always mean backlash. Check the pulley grub screw, the belt tension, and any loose coupler. On a lead screw, check the anti-backlash nut. Software backlash compensation can hide the symptom, but it does not fix the loose part.
Wavy or scalloped lines point to frame flex or a bent lead screw. Run the axis slowly by hand and watch the carriage. If it moves in and out as it travels, the screw is bent or the rail is not parallel.
Skipped steps sound like a knock and shift the whole drawing from that point onward. Lower the acceleration by half and retest. If the problem persists, raise the driver current slightly and confirm the power supply can deliver the total current for all motors at once.
A pen that drags between strokes is a Z travel problem, not a software problem. Increase the lift height and confirm the pen holder does not flex when it comes down.
- 1Doubled linesBacklash: pulley, belt tension, or coupler.
- 2Wavy linesFrame flex or a bent screw.
- 3Skipped stepsCut acceleration in half, then check current.
- 4Dragging penIncrease Z lift; check holder flex.
Step by step
Work in this order. Each step assumes the previous one is finished and checked.
- 11. Square the frame on a flat surfaceAssemble the base and gantry on a granite plate or a flat bench. Check diagonal corner-to-corner; the two readings must match within 0.5 mm. Tighten corner brackets only after the frame is square. A twisted frame cannot be fixed in software.
- 22. Mount the rails and check travel by handBolt the MGN12 rails or rods parallel to the frame faces. Push the carriage through the full travel by hand. It should move with light finger pressure and no tight spots. Any binding here will show as lost steps later.
- 33. Install the belt or lead screw and set tensionFor a GT2 belt, tension until it sounds a clear low note when plucked and deflects about 3–4 mm at the midpoint of a 400 mm span. Too tight overloads the motor bearings; too loose causes backlash. For a lead screw, check for end play and shim the coupler.
- 44. Mount motors, couplers and pulleysUse a flexible coupler on lead screws and a grub-screw pulley on belts. Set the pulley grub screw on the flat of the motor shaft. A pulley that slips under acceleration produces drawings that shift mid-file.
- 55. Wire the electronics and set driver currentConnect steppers to the driver, drivers to the shield, and the power supply to the shield input. Set Vref to about 70 percent of rated motor current. Power up with the motors disconnected from the mechanics first, and confirm each axis moves in the commanded direction.
- 66. Flash firmware and set steps per mmLoad GRBL or Marlin, then set steps per mm for both axes. Command a 100 mm move and measure the result. Adjust the value by the ratio of commanded to measured travel. Repeat until the error is under 0.1 mm over 100 mm.
- 77. Set pen lift and test a calibration drawingSet the Z travel so the pen clears the paper by 2–3 mm when up and touches with light pressure when down. Draw a 100 mm square and a circle. Check for square corners, a closed circle, and consistent line width. Fix mechanics before touching software.
Belt vs lead screw vs rack for a drawing machine
All three work. The right choice depends on axis length, tool head weight, and the speed you want.
| Drive | Best for | Speed | Watch out for |
|---|---|---|---|
| GT2 belt | Light pen, axes under 600 mm | Fast, 100+ mm/s | Stretch and backlash on reversals |
| T8 lead screw | Heavy head or vertical axis | Slow, 10–30 mm/s | Whip on long spans |
| Rack and pinion | Very long axes over 1,000 mm | Fast, 200+ mm/s | Backlash needs a spring preload |
| Belt with linear rail | Balanced build, A3 or A2 size | Fast and repeatable | Cost, and rail alignment |
| Rods and bushings | Small A4 plotter | Slow, 40–60 mm/s | Sag and wear over time |
Build it for learning, machine it for stiffness
A DIY plotter is the fastest way to understand motion control. When a bracket or holder has to be rigid, machined aluminum beats printed plastic.
Frequently asked questions
How much does it cost to build a CNC drawing machine?
A minimal A4 build using rods, bushings, an Arduino Uno with a CNC shield, and NEMA 17 motors is the cheapest route.
Cost rises with linear rails, a larger frame, and a solenoid pen lift. We do not quote build prices here because part sourcing varies by region.
Can I use a 3D printer as a drawing machine?
Yes. Mount a pen holder on the tool head, remove the hot end, and send G-code with only X, Y and Z moves.
The main limitation is bed size and the weight of the pen holder on the gantry. Keep the holder light.
What accuracy can a DIY plotter hold?
A well-built belt machine holds about ±0.2 mm over an A3 sheet. Lead screws and a stiffer frame can tighten that further.
Microstepping does not improve real accuracy beyond what the mechanics allow.
Do I need a Z axis for pen lift?
Not always. A small solenoid can lift the pen with a single output pin and a post-processor tweak.
A Z axis is cleaner if you already have a third stepper driver and want variable pen pressure.
Why does my machine draw circles as ovals?
The two axes have different steps per mm values, or one belt is tighter than the other.
Recalibrate each axis independently with a 100 mm commanded move.
When should I buy machined parts instead of building?
If you need a bracket, a pen holder, or a custom mounting plate in metal, machining gives you a stiffer part than printed plastic.
For visual prototypes and one-off brackets, 3D printing is usually faster and cheaper.
Need machined brackets for your build?
Send your drawing and get a quotation with free DFM analysis within 12 hours.
12-hour quoteNo minimum order quantity100% inspection