4-Wire Horizontal Plotter Design Notes




Introduction: 4-Wire Horizontal Plotter Design Notes

About: 55+ years in electronics, computers, and teaching ... now retired.

Significant improvements have been made to the 4-wire horizontal plotter described in my instructable https://www.instructables.com/4-Wire-Horizontal-P...

The changes include

  • repositioning the nylon cables
  • replacing the nylon cables with GT2 timing belts
  • adding swivel motors

These notes describe the problems experienced at each stage of development, and explain how they were overcome.

They are published in the hope that they will be of use to others.

Step 1: Theory

Photos 1 and 2 are the design equations from my instructable https://www.instructables.com/4-Wire-Horizontal-P...

The code is the same for each of the designs that follow.

Key points

  • All cables must meet at a common point for this plotter to work.
  • The basic design is a 3D plotter
  • The plotter behaves as a 2D plotter if the Z-axis remains constant.
  • Variations in cable tension are accommodated by a slight movement in the Z-plane
  • The ideal location for a pen / router is in the center [1]

The cables effectively meet at a point if the pen is surrounded with an annular ring and pulleys.



I haven’t tried a router, as I don’t have one, but it is certainly a possibility.

Step 2: Design 1

My initial attempt was to make a horizontal two-wire plotter and replace gravity with a “bungy” cord

Photo 1 shows a gondola under construction. The small plastic discs are the ends of a cable drum and rotate freely when positioned inside the V-pulleys. The larger discs are two blank CDs.

Photo 2 shows the assembled gondola

Photo 3 shows an elastic “bungy” pulling outwards to mimic gravity.

Photo 4 shows a mirror image two-wire plotter replacing the bungy.


The “elastic” bungy was a complete failure. The only way I could plot an image was to pull outwards by hand as the plotter moved. If the elastic became angled the cables came off the corner pulleys.

For this reason I added a mirror image 2-wire plotter below. When you look at the vector forces the result is always outwards. The problem with this design was that the cables were pulling at different heights which caused the gondola to topple if the cable tensions weren’t exactly right.

I tried to fix this by inserting elastic into each of the mirror-image cables as shown in photo 4. This sort of worked but is not recommended.

There was also another problem ... the length of each cable changed slightly as the gondola moved.

This is best explained as follows. Assume that a cable is perpendicular ... now move it upwards until it is horizontal ... the virtual cable point has moved / changed by one pulley radius.

I abandoned this approach.

Step 3: Design 2

In this design I moved the motors beneath the base and passed the cables though small holes drilled in the base as shown in photo 1. This eliminates the cable changes due to the relative pulley positions

Just for fun I attached each of the four cables to fixed points on the gondola as shown in photo 2 ... there was always a chance that the fixed points on the gondola were close enough together so as not to matter.

Not so ... there was no toppling effect of the gondola as all cables were on the same level, but the corners of the square were no longer closed.

Step 4: Design 3

I then added the annular ring shown in photo1and attached pulleys to each of the cables so the cables always pointed to the gondola center.

This works well but I noticed that the corners of the squares look a bit “spongy” (photo 2). My guess was that this was due to the curve of the nylon passing through the base (see photo 3)

Back to the drawing board.

Step 5: Design 4

I then fashioned some brackets (photos 1,2,3) each with a small hole for the nylon, and mounted the motors at 45 degree as shown in photos 4 and 5.

The nylon from each drum was positioned above each corner as shown in photo 4

The cables are now almost straight with no tight bends.

A typical plot is shown in photo 6.

Note that the corners are now square ... success !!

Out of curiousity I loaded the gondola with fishing sinkers to see what happened. The gondola stopped moving with eight 8oz fishing sinkers ... plus the nylon started to stretch.

Hmmm ... pulling something heavy requires non-stretchy cables.

Step 6: Design 5

I then tried replacing the nylon cables with GT2 timing belts as shown in photo 1.

The corner-pulley problem came back to haunt me ... the gondola tended to lift when the cable lengths changed (photo 2).

Step 7: Design 6

The change of cable length due to the corner pulleys was eliminated by swivelling the motors as shown in photos 1 and 2.

The shaft of each motor is directly over the hinge.

A typical plot is shown in photo 3 ... note the square corners ... success !!

Hmmm .... with geared motors this design should be able to pull dremels / routers ?

Probably not a good idea without cut-off switches ... should a cable break I wouldn’t want to be anywhere near an out of control router.

Thank you for reading

  Click here   to view my other instructables.

CNC Contest

Participated in the
CNC Contest

Be the First to Share


    • Retro Tech Challenge

      Retro Tech Challenge
    • Tinkercad Student Design Contest

      Tinkercad Student Design Contest
    • Sewing Challenge

      Sewing Challenge



    5 months ago on Step 7

    A bit of a journey but it was interesting and great results.
    Another detailed clear instructable Lingib keep them up.


    Reply 5 months ago

    Thanks :)

    Nikolaos Babetas
    Nikolaos Babetas

    5 months ago

    Really great Instructable! I love seeing people's different approaches on plotters! By the way how did you make the red "Click here" button in the last step?


    Reply 5 months ago

    Thank you for commenting :)

    Regarding the "Click here" button ...

    I inserted a CSS style sheet at the start of the instructable and some HTML
    code at the end.

    You can view the CSS code by right-clicking the beginning of the instructable and selecting "Inspect"

    You can view the HTML code by right-clicking the "Click here" button and selecting "Inspect"

    You will need to customise the HTML code if you choose to do something similar.