Making a Plotter for Trondheim Maker Faire – Part 1: An Overview

We thought it would be fun to build an old fashioned plotter which could be both interactive by duplicating what is drawn on a computer, as well as being able to draw vector graphics. All the actual drawing would be done with an ordinary permanent marker, and most importantly: we wanted it to be BIG!

When we decided to try out some new CAD software, and with Trondheim Maker Faire just a couple of months down the road, it was the perfect time to start the project.

The Basic Design


It ended up getting quite big. The size of the frame is 1560x1770mm and the drawing area is 1250x1200mm.

Although we ended up with much of the same core design as the Laser Engraver, we also considered the Core XY design principle. While the Core XY design is intriguing, we went the safe way and based the design on what we were familiar with. After all, we expanded the size quite a bit.

The frame consists of 20x20mm aluminium profiles and a wooden back plate. We 3D printed all the corner parts and carriages, and used 1500x12mm steel rods to guide the moving parts.


The machine uses an ordinary permanent markers for the actual drawing, actuated by a standard servo. From the get-go we wanted the machine to be able to switch markers automatically. The design is there, but the function has yet to be implemented.

We wanted the machine to be “gravity-independent”, i.e. we wanted it to be able to both stand up against the wall, hang from the roof and lie on the ground and still work, and we also wanted to minimize the z-height of the frame itself.

The Functionality


For the interactive part, we have created a very simple drawing program in Python so that you can draw with a mouse or drawing pad on a computer. The program sends G-code in real-time to a custom designed PCB which then sends control signals to the servo as well as two motor drivers. The motor drivers controls three stepper motors (two in one axis and one in the other) which make the pen move along the XY plane.


We are also able to load a predefined G-code file into the machine. This way we can make it draw already existing pictures. For instance we can trace a bitmap into vector graphics using Inkscape and then make a G-code file out of that.

Further reading

We will go into the nitty-gritty details on several other blogposts during the upcoming weeks:

Part 2: Mechanical
Part 3: Electrical
Part 4: Software and Firmware
Part 5: Final

Related Posts