Open source polargraph robot draws murals with two steppers

Oct 11, 2026 Last reply: 1 hour ago 3 Replies
Jump to replies (3)

The hardest part of any hanging-pen drawing machine is getting a straight line to actually come out straight, and that is exactly where this build got interesting. The maker first converted x and y coordinates into the two belt lengths and interpolated between them in a straight line, which produced heavy distortion. The fix was to chop every line into 1mm segments and interpolate the belt lengths between those tiny steps, which cut the warping down dramatically. That kind of stubborn, incremental debugging is what makes this project worth following.



The machine itself is a polargraph: it hangs from two cords fixed near the upper corners of a wall, and a pair of motors winds and releases them to carry the pen anywhere on the surface. Inside there is an ESP32, two stepper motors with drivers, and a buck converter, all packed into a 3D-printed shell in translucent grey with a central pen mount. Assembly apparently needed nothing more than a screwdriver and tweezers to seat the parts in the frame, and the whole thing comes in under $100.



The results look genuinely good. It takes SVG files as input and has produced portraits, an owl, a comic strip and a cartoon character, including one portrait in purple ink on a pale wall. The maker recommends washable markers so the art can be wiped off, and imagines stencilling or even large-scale embroidery on fabric stretched across a wall.



One problem remains open. The pen holder is not a rigid body, so modeling its position from the two belt lengths is unsolved, and sagging cords follow catenary curves that likely make the boundary rectangle taper toward the bottom, with edge distortion worst up top where the cords pull tightest. The current plan is a fit-based correction: draw a grid of known size, overlay the measured result, and compute a de-warp matrix, possibly dropping the tilt compensation code and treating the warp as a trapezoid. It will be interesting to see whether existing CNC firmware already has an answer.



Project by Nik Ivanov. Watch it on their YouTube channel:

formatting link


Splitting lines into 1mm segments seems like a smart call to me. It trades extra computation for accuracy, and given that an ESP32 has plenty of headroom for this kind of math, the trade looks cheap. The washable marker suggestion also feels practical, since a machine that draws directly on your wall needs an easy undo button.

How does the gondola stay flat against the wall while the cords move it around? With only tension from above I would expect it to swing or tilt as the belt lengths change, and that would surely affect where the pen lands. Is there any contact point keeping it pressed to the surface, or does the pen weight alone hold it in place?

I would try interpolating the path in pen coordinates first, and only then converting each intermediate point into belt lengths. That way every segment the machine follows is straight in the space that matters, and the 1mm steps could probably be made coarser while keeping the same visual accuracy. It might even shrink the residual warp enough to make the de-warp calibration grid optional.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required