Wednesday, January 2, 2013

home cnc plotter

The goal

Build home CNC plotter to make PCBs.


Fun / make simple PCBs.


  • 2 stepper motors with rack and (the same step angle)
  • mechanism from old CD (stepper motor and laser guides)
  • two long screws as horizontal and vertical axis
  • many small screws
  • 2 pair of drawer guides (I bought the cheapest)
  • aluminium or steel profiles with regular holes
  • some wood as a base
  • 3 axis RS232 stepper motor driver (look in hardware section)


  • 3 axis RS232 stepper motor driver [ REFERENCE ]
  • SVG to My plotter converter (perl) [ REFERENCE ]


  • 3 axis RS232 stepper motor driver [ REFERENCE ]


    Home cnc plotter with pen, first test run



    For start I bought 2 pair of drawer guides, then I went to look for steel profiles. Lucky for me, they have holes, and I just match mount holes from drawer guides with steel profiles and .. that's the end of story. At this point they provided horizontal and vertical movement.

    Then I bought 2 long screws, mount the nuts to horizontal / vertical moving parts. Axis screws are covered with graphite grease.

    horizontal axis

    Drive from the engine to the axles is done by tapping the engine rack and 2 countered nuts by ordinary duct tape. Connection is reinforced by plastic cable clips. I know what do you think right know ... but it really works :)

    vertical axis and stepper motor

    horizontal axis and stepper motor
    Everything is screwed to the large piece of wood (thickness > 2.5 cm). 

    The pen mechanism is mounted separately, to the wooden board.
    whole view

    Bellow you can see mechanism from CD drive, laser and the lens was completely removed. Temporary, as pen grip I use copper wire ;)

    pen axis and stepper motor


    Each step of each motor is 7.5 degree, to move 1 millimeter motor have to do 50 steps, that is really good result. I have 5000 steps resolution in each direction (5000x5000) which equals 10x10 centimeters of working surface.

    Drawing concept

    Drawing is done by manipulating data sent to RS232 port, see 3 axis RS232 stepper motor driver [ REFERENCE ].

    Main idea was that I have SVG file in which are defined objects (lines, circles, rectangles, paths and polygons) and my parser program (written in perl) converts those objects to my plotter data format. Objects are categorized by type, sorted and then drawn.

    main concept





    1. Would you PLEASE fill in the blanks already? I believe I speak for all of us when I say we are impatient to read the complete HOWTO.
      Do you plan to construct a 3d printer as well?
      Together with this plotter it would start to make a really nice workshop :D

      1. Hi, sorry I try do my best :).
        3D printer is not my goal right now, maybe my next plotter could went into 3D, who knows. I don't really have a place to build that kind of stuff, everything is assembled on my desk ...