Building a DIY Pen Plotter Using Local Materials and 3D Printing
Date Published

Building a DIY Pen Plotter Using Local Materials and 3D Printing
Introduction
I'm fascinated by technology and art — two worlds that often overlap in surprising and beautiful ways. This fascination is exactly what drove me to start the pen plotter project: it merges algorithmic precision with expressive creativity, making it a perfect playground for my interests in both generative art and mechanical design. As an illustrator and occasional tattoo artist, I'm always exploring new ways to blend creativity with tools. One machine that completely captures this intersection is the pen plotter — a device that draws intricate designs with mechanical precision. There's something deeply satisfying about watching it work, transforming code into clean, elegant lines.
So, I decided to build one myself.
This blog post is the beginning of that journey. I'm designing and building a DIY pen plotter using mostly locally available and affordable materials, with a strong focus on accessibility and modularity. The project is still in progress, but I want to document the path, share lessons learned, and hopefully inspire others to start building their own.
Background & Motivation
My passion for generative art and the satisfying visuals of drawing machines pushed me to finally start this project. I began by ordering a few key components — stepper motors, drivers, and a CNC shield — since I already had an Arduino and a power supply at home. With some electronics knowledge under my belt, I knew I could build this relatively cheaply.
At first, I experimented with steel tubing and welded parts to create a strong frame.
[Image: welded prototipe]
It was functional but not ideal for quick iterations or sharing the design with others. Once I gained access to a 3D printer, everything changed. Switching to PLA-printed parts allowed me to design, test, and tweak much faster — making the plotter more replicable, modular, and easier to improve over time.
This project is not just about building a machine; it's about exploring how art and engineering can come together — and how that process can serve as both an educational tool and a source of artistic inspiration. Whether it's teaching basic electronics, introducing CAD modeling, or simply igniting someone's curiosity through mesmerizing plotted designs, I hope this project shows how accessible and engaging the intersection of creativity and technology can be. — and how that process can be accessible, creative, and fun.
Design Goals & Constraints
Before starting the actual build, I set a few clear goals to guide my design:
- Affordability: Keep the overall cost low by using parts I already had and sourcing materials locally whenever possible.
- Reproducibility: Make a design that can be easily reprinted and assembled by others, using a 3D printer and common hardware.
- Modularity: Structure the plotter so components can be swapped out or upgraded without redesigning everything.
- Rapid Iteration: Use 3D printing to quickly test and refine parts, reducing the friction of prototyping.
- Simplicity: Minimize complexity where possible — both in hardware and software — to make the project more approachable.
These goals helped keep the project grounded and focused, especially when new ideas or features tempted me to overcomplicate things.
Materials & Tools
Here’s a breakdown of the materials and tools I’m using for the project so far:
Electronics
- Arduino Uno (already on hand)
- Stepper motors (NEMA 17) — ordered online
[Image: stepper motors]
- Stepper drivers (A4988) — ordered along with motors
- CNC Shield — for easy plug-and-play wiring
- Power supply — reused from a previous project
[Image: electronics components arranged in a grid]
Structure & Motion Components
- Steel tubing (originally used in early prototype)
- Smooth rods & linear bearings — easy to source locally
- Lead screws / GT2 belts — for motion control
- 3D-printed PLA parts — custom-designed for the frame, motor mounts, and pen holder
Tools
- 3D printer (FDM, PLA filament)
- Basic soldering equipment
- Multimeter
- Drill, cutting tools, screws, and general hand tools
Most of the materials can be found in local hardware stores or online, and the custom parts can be printed with any decent 3D printer. This setup strikes a balance between DIY flexibility and the reliability needed for precision drawing.
Design & Build Process
The build process started very organically. I began by cutting metal sheets and welding parts together by hand. Using basic tools like a grinder, a stick welder, a drill press, and a hacksaw, I sketched out measurements on the spot and built without any formal plan. It was very much a "learn by doing" approach — solving problems as they came up with whatever materials and tools I had available.
While this method gave me a quick head start and a rough prototype, it quickly became clear that it was not ideal for refinement or reproducibility. That’s when I decided to shift gears and bring the project into the digital world.
I began modeling the components in Fusion 360, which I chose because of its accessible interface, strong community support, and my prior experience using it. It allowed for more precise design, easy modifications, and proper alignment of parts. I'm currently about 65% through the CAD modeling phase, and I haven’t started printing any components yet — but the foundation is there.
[Image: cad details gantry leg]
[Image :cad general view]
Once printing begins, I’ll be able to iterate much faster, achieve better precision, and move toward a modular, shareable design. This change in workflow has already transformed the project, and I’m excited to keep building and refining from here.
Challenges & Lessons Learned (So Far)
Even at this early stage, this project has offered plenty of learning opportunities. Here are some of the key takeaways:
1. Iteration is Everything
Initially, working with metal parts was exciting — but modifying anything took a lot of time and effort. Switching to a CAD + 3D printing workflow changed everything. I learned how powerful it is to be able to tweak dimensions or redesign a part and have a prototype ready in hours, not days.
2. Work With What You Have
Starting with what I already owned — like the Arduino and power supply — was key to keeping the project affordable. It also shaped my approach: rather than designing around ideal components, I adapted the build to fit the tools and materials I had on hand.
3. Planning Emerges Naturally
While I began the project without a strict plan, hands-on building revealed several specific design requirements. I realized I needed a stable yet lightweight frame, modular motor mounts for easy replacement, and a compact gantry structure that could support smooth linear motion with minimal friction. These insights, gained through trial and error with metalworking and assembly, eventually shaped the more precise CAD modeling phase that followed. Eventually, this practical experience fed into a more structured and thoughtful CAD design process.
4. Tool Constraints Guide Creativity
Limited tools and resources might seem like a disadvantage, but they actually helped me stay focused and creative. I had to find simple, clever solutions — like using hand tools effectively or designing 3D-printed parts to make assembly easier.
5. Don't Wait for Perfect
I’ve learned not to hold back progress in search of perfection. Getting started — even roughly — taught me more than any amount of planning could. It’s easier to improve a rough prototype than to fix a design that only exists in your head.
Next Steps
As of now, I’m still deep in the CAD modeling phase in Fusion 360 — about 65% done. Once the design is complete, the real hands-on fun begins:
- 1Complete CAD Design
- 2
- Finalize motor mounts, pen holder, and axis guides
- Simulate fit and movement where possible
- 2Start Printing Components
- 3
- Begin prototyping parts using PLA
- Test for tolerance, fit, and stability
- 3Assemble the First Working Version
- 4
- Combine printed parts with motors and motion components
- Route wiring and connect to the Arduino + CNC Shield
- 4Write Basic Control Software
- 5
- Start with GRBL or simple G-code interpreter
- Run first drawing tests, including basic shape patterns, line calibration, and repeatability tests to verify motor accuracy and mechanical stability. Success will be measured by smooth, consistent line work and minimal axis deviation across repeated runs.
- 5Document Progress
- 6
- Take notes, record videos, and prepare for the next blog post
- 6Plan Iterations
- 7
- Identify early improvements
- Test new versions of structural components if needed
This project is ongoing, and I’m looking forward to sharing more as I go — including STL files and build instructions once the design is finalized.
Stay tuned!