Designed and built a 2.5-degree-of-freedom CNC machine to accurately punch artistic pointillism patterns into craft paper. The system translated G-code instructions into precise X-Y motion with solenoid-actuated punching, creating complex designs through accumulated punch points.
Skills Used:
Technical Skills: Onshape (Multi-body Design), Multi-Material 3D Printing, Research Synthesis, Soft Robotics Principles
Engineering Skills: Design for Additive Manufacturing (DFAM), Material Selection, Mechanism Design
Soft Skills: Self-Directed Learning, Conceptual Integration, Problem-Solving
System Architecture: Planning the phased development from single-module proof-of-concept to full system integration.
Mechanical Design: Designing 3D-printed components (11 unique parts) including motor mounts, pulley brackets, sliders, and structural connectors for the 80/20 frame.
Software & Control: Developing MATLAB scripts to process G-code and insert punch commands for the solenoid actuator.
Integration & Assembly: Building the complete system comprising 25 distinct components including motors, extrusion, and printed parts.
We adopted a systematic approach to de-risk the project:Â
Designed and built a standalone single-axis slider module using 17HE15-1504S stepper motors and belt-pulley systems to verify core functionality.
Tested motor control, pulley efficiency, and slider stability on 80/20 extrusion tracks.
Result: Successfully demonstrated reliable linear motion, validating our mechanical design before full-scale integration.
Constructed a rigid frame using 80/20 aluminum extrusions, with two linear stages for Y-axis motion (paper platform) and one for X-axis motion (solenoid carriage).
Integrated three stepper motors and an Adafruit solenoid for needle punching, with the solenoid normally off to prevent overheating.
Included a balsa wood frame to support craft paper during punching operations.
Screenshot of F-Engrave Software
We developed two software workflows suited for different file types:
Repetier-Host Method: Slicing STEP files and extracting first-layer contour G-code for clean outlines.
F-Engrave Method: Processing PNG/DXF files for detailed line art conversion to G-code.
MATLAB Processing:
To speed up the process, I wrote a MATLAB file to parse G-code and insert punch commands at optimal intervals (every 3 lines worked best) for consistent pointillism patterns.
Successful Validation: The single-axis prototype confirmed our design approach before full system integration.
Fully Functional System: The completed machine accurately produced pointillism designs from G-code input, fulfilling all project requirements.
Key Takeaway: This project demonstrated the effectiveness of modular, phased development for complex mechatronics systems and provided hands-on experience with full-stack engineering from mechanical design to motion control programming.
CNC Punch Pointillism Demo