Old 3D printer becomes new Arduino UNO Q-controlled pen plotter

Pen plotters used to be very common in the engineering world, as they were economical for “printing” large technical drawings. They’re still around, but digital-only workflows and alternative printing methods have reduced their presence. But Elliot Madsen is an engineering student fascinated by his discipline’s history, so he constructed his own pen plotter using an Arduino® UNO™ Q board and parts from an old 3D printer.
A pen plotter is just a machine that moves a pen around, relative to the paper, in the X and Y axes (plus lifting in Z). That’s why they were ideal for technical drawings that tend to be large and composed entirely of lines.

That kind of motion system also closely matches that of an FFF/FDM 3D printer, which is why Madsen was able to build his pen plotter using parts — like stepper motors, aluminum extrusion, and pulleys — from a 3D printer. He chose a CoreXY kinematic setup, with a solenoid-actuated lifter for the pen. (As a bonus, the solenoid provides a nice “clacking” noise when in use.) Madsen then added a clever vacuum table to hold down paper via four 12V fans, eliminating the need for mechanical clamps.
To control it all, Madsen selected the UNO Q. By leveraging the board’s dual-brain architecture, he was able to run the control software on the Linux side and then interface with stepper motor drivers directly through its STM32U585.

After setup, this pen plotter runs based on simple commands from the terminal, which means it can be controlled over SSH. Just tell it to plot with any arguments you like and add the path to the file.
It works great and is especially well-suited to the kinds of technical drawings that were the bread-and-butter of pen plotters for decades.