CNC Plotter

By Rob Zwetsloot. Posted

One of the reasons we highlight cool projects is because we hope they inspire others. Stratos Botsaris is one of those people that got inspired.
“I had seen people on the internet creating and using CNC plotters and always wondered how these machines work,” he explains. “I was mainly interested in way the CNC machine translates the G-code instructions into movement that drives the stepper motors. I wanted to find out the internal workings of this.”

That’s just what he did, creating his own CNC plotter in the process. “It is controlled by Raspberry Pi and can draw an image on a surface the size of a piece of A4 paper,” he tells us. “I have designed and built both the hardware and the software myself. I have assembled its hardware by using recycled parts from an old scanner and a printer.”

He also wrote the Python software which runs on Raspberry Pi. “It is an interpreter which reads and executes the G-code from a text file and drives the stepper motors.”

Switching to Raspberry Pi

According to Stratos, a lot of the projects he’d seen were made with Arduino, so he decided to see if it was possible with Raspberry Pi.

The extra servo on top is to lift and lower the pen. With some string, of course

“I started experimenting with one stepper motor with a Raspberry Pi,” he says. “Fortunately, I was lucky enough to have salvaged one stepper motor from an old printer and another one from an old scanner. In the beginning I had to find out how stepper motors work and how to connect one to Raspberry Pi. Then I tried to drive the stepper motor by writing a small program in Python and run it on Raspberry Pi. Once I managed to make this work, I got very excited and this gave me the push to continue with controlling two stepper motors at the same time. This was the most tricky part because I had to find a way to move the two stepper motors in parallel if I ever wanted the CNC plotter to draw a diagonal line. I had been trying several algorithms in Python for a long time, but eventually the simplest one worked how I wanted.”

Recycling to work

The end result is a little robot that can draw – exactly as planned. You can see it in action on YouTube.

 Talking about recycling old tech, an original Raspberry Pi Model B was used for the programming

We’re big fans of recycling and upcycling for projects here, and recycling was always part of Stratos’s plan. “I wanted to minimise the cost of the project as much as possible in order to find out how cheap it can be,” he says. “That is the reason that I reused parts from an old scanner and a printer for the hardware part. Also, I used L293D chips instead of the [more expensive] L298D motor driver board, so the only cost was actually a Raspberry Pi and its accessories, which I owned anyway.

“Moreover, I implemented the software program myself because I wanted to find out the internal working of a CNC plotter. “So I would say the only thing that it cost me mainly was my time, which I enjoyed spending while doing this project!”

From The MagPi store


Subscribe to the newsletter

Get every issue delivered directly to your inbox and keep up to date with the latest news, offers, events, and more.