Diyprojectslab is an education website in Electronics Engineering Site related to Projects & Tutorials in Embedded, Arduino, Internet of Things (IoT), Tips, Tricks, How It Works, Projects..

Make Arduino vertical plotter


Learn to Make Arduino vertical plotter that is one of amazing projects which all dream making!

Hello readers in this project we will be making vertical axis plotter that can draw images present in your phone or computer onto a sheet of paper on a wall, before starting with project let me go through some basics

What is vertical axis plotter

The basic principle behind its working follows operating principles of CNC machines, CNC or computer numerically control machines use steppers which move according with set of commands

These commands will be in form of G-code preprocessed by computer and further sent to microcontroller

In our project Arduino mega will be the controller which sends signals to motor/ stepper drivers which later makes axis movements as per commands

What’s special about this plotter?

The main difference being here is conventional plotters performs their operation on a horizontal Axis similar to us writing on books but here the same task is done vertically and hence the name vertical axis plotter

Here all types of image can be drawn using this plotter on wall in large sheet of paper

i would highly recommend it for making outline for paintings

Supplies necessary to Make Arduino vertical plotter

All the materials which you need to make this project is below

  • Arduino Mega board with programming cable
  • Arduino IDE
  • RAMPS 1.4 Controller.
  • Two Stepper Motors
  • Stepper Driver Module A4988 x 2
  • Servo Motor SG90, Metal gear works better
  • Blackboard Dimension 780x1200mm.
  • PVC Square Plastic
  • Empty Plastic Coil Spool
  • Cable Gland For 8 – 12mm Cable Diameter x 2pieces
  • Round Neodymium Magnets 16 pieces
  • GT2 6mm Timing Belt 2000mm (movements)
  • GT2 Timing Pulley x piece with 80 gear teeth ( for stepper shaft)

  • 4P 20cm Wire Cable Double Connector x 2 pieces

 The main components for assembling the handle holder are: fitting, cable gland, strap, and nuts.

  • Rainbow Ribbon Cable.
  • Two cores Power Cable i use 2 meters
  • Power Supply unit 12/24 VDC.
  • Some nuts
  • cable ties
  • Paper A1 size
  • Marker for drawing
  • Plane wall

These were the essentials to make this now lets begin with steps to build this

The plotter dimensions are as follows:

Width: 550 mm.
Height: 800 mm.
Belt length: 1000 mm.

Building drawing part for Arduino vertical plotter

Firstly we will start by connecting timing belt to connectors, cut the 2-meter timing belt into two pieces, each 1 meter long, exact way of doing this is as shown in image below

Belt connectors

Make sure the belt is fixed well to holders as this will be driving belt which has to bear loads when the machine is working

Now to make part that is responsible for drawing i will make this by making use of empty spool of wire


To make this just drill 4 holes which are of equal distance from each other

As the circle is 360 degree dividing it by 4 gives 90 degrees means all holes should be 90 degree apart

After drilling holes insert screws and fix it with nuts

To make pen holder i have glued piece of pvc in center of this spool

Pen holder

After making this to balance weights i add some nuts (M10 nuts) . which is shown in image below, adding 5 nuts on each side balances weights and eliminated unnecessary vibrations

Now we can connect these belts to drawing part and also this is the part to which markers will be connect

Just connect to screws which was previously insert inside spool

To make this step even more clear i have shown this from other viewing angle!

So now we can glue micro servo to the wheel which will perform the function of raising and lowering marker/pen while drawing process is going on

Now this is ready to be hook into steppers but before that we need to place steppers on board

Sets up a pencil and checks the work.

Preparing the blackboard

The blackboard, including the aluminum frame, measures 780 x 1200 mm. 

Board thickness 30 mm. 

On the one hand, he drills holes for stepper motors in the corners. 

The distance between the centers of the two holes is 600 mm.

To do this i made 2 holes on either top sides of board, same shown in below step

From back side we can insert steppers and fix it with screws, this needs to be very firm as it carries weight

View from back side is shown as it becomes very much clear to understand

Install the stepper motors on the back of the board.

After adding steppers connect wires

Now add pulleys on stepper shafts, the pulley has 80 teeth. Front view after placing stepper motors with pulleys.

Circuit for Arduino vertical plotter

Connection are very easy to make as we are using X and Y axis steppers will be connect to those slots

The main controllers of the vertical plotter are Arduino Mega 2560 and RAMPS 1.4. they drive 2 stepper motors via A4988 drivers and one servo motor. 

Here as this is vertical plotter two stepper motors should rotate in opposite directions, So don’t forget to reverse the wires of right side motor.

Micro servo will be connect to servo slot on board

NOTE: RAMPS 1.4 Controller is attach on top of mega board

stepper motor connection for vertical plotter

Follow this circuit and connect all components to board

Drills 4 holes and install the Arduino Mega 2560 + RAMPS board in the center of the top of the board.(see photo below)

I glued the servo to the bottom of the plastic coil and soldered 3 wires from the servo to the RAMPS 1.4 controller.

Finally, a handle holder was attached to the stepper motor pulleys. Checked the movement of the node.

later attach draw mechanism that was made earlier after which project looks like this

Up to these steps we made all hardware setup, now we should start calibration of this device


The plotter used the Makelangelo firmware . this firmware can be used in many different controllers and kinematic systems.

Software use to Make Arduino vertical plotter

Makelangelo firmware will run this plotter to which some mods should be made this software can be found at github for download

This require some changes

  1. configure.h
  2. robot_polargraph.h
  3. configmotors.h
  4. board_ramps.h

What are changes that were made?

configure.h“: This will be Configuration settings for vertical plotter

Plotter type: Polargraph

Controller: Arduino Mega 2560 + RAMPS 1.4

No LCD ( as there is no display)

robot_polargraph.h“: Configuration settings for polargraph


With Pen Lift.

No LCD – No SDCard – No limit switches.

configMotors.h“: Stepper motor and pulley settings

I used stepper motors NEMA 17 with step angel: 1.8°. So the number of steps required for stepper motors to make 1 complete revolution: 200 step/rev.

A4988 micro-steps setting: 16.

board_ramps.h“: Arduino Mega 2560 pin setting

Setting up software

After this connect Mega board to computer and open Makelangelo software

To check stepper motion click on Manual Driving option and check movements for all given measurements

  • Click pen lift and drop option and verify if that if micro servo is working
  • Click on Setting tab and add following values
  • Model to Makelangelo by default
  • Machine Width should be 550mm (as per size of canvas)

  • Machine Height will be  800mm
  • Acceleration is10mm/s²
  • Now after this open menu to set paper size, set this as per values of paper which you use

  • You can use test button to calibrate servo
  • After this we can add image which should be drawn by this plotter
  • For all CNC machines GCODE will be format which can be read by MC’s here this software readily converts jpg, png and other image formats to GCODE

Before the print work actually starts we can see its simulation, Many might be wondering HOW?

We can do this with help of small simulator which i made using excel

Here we can enter values for X and Y coordinates

How to perform test?

Click on generate art and them type your message on Your message here column and click start

Machine will start its work meanwhile you can sit and watch!

Sample drawing done from this plotter

Make Arduino vertical plotter

Working video available here Thank you for your time!


About Author

Leave A Reply