Week 12 Group Assignment – Machine Design and Building

This week's assignment was to design a machine that includes mechanism, actuation, automation, function, and a user interface. The result was a engraving CNC machine for drypoint a technique used in printmaking where a pattern is reproduced into a metal plate with a hard-pointed tool.

Video poster

The Team

Mechanical Design

Within the collaborative project, our primary focus for the mechanical system was the design and fabrication of a robust structure. Since metal engraving and scratching require considerable cutting force, we designed the motion transmission system using ball screws (lead screws) to ensure the necessary mechanical advantage and thrust. To achieve the required structural rigidity while maintaining the build's modularity, we constructed the main frame using aluminum extrusion profiles combined with custom 3D-printed joints and supports.

CNC Machine Mechanical Results

Enclosure Design

Design and fabrication of a custom CNC enclosure featuring a lift-up door, tool storage drawer, and acrylic windows for visibility.

Enclosure Design

Electronics Design

To move the CNC machine, the team designed three custom PCBs that work together as a single electronics system. The first is the microcontroller board, which holds the Raspberry Pi Pico 2 is the brain of the machine. It receives G-code commands from the computer and translates them into electrical pulses that tell each motor when and where to move. It also steps down the 12 V power supply to 3.3 V to safely power the Pico. The second is the driver board, which holds four DRV8825 modules, one per motor. Since the Pico can't power the motors directly, each driver takes the Pico's low-power signal and converts it into the high-current output the NEMA 17 motors actually need. The third is the button board, a small PCB with directional buttons for each axis and two origin-setting buttons, letting the operator manually position the tool and set the starting point before engraving. The microcontroller and driver boards are modular and connect through jumper wires, which made it easy to test and troubleshoot each one independently before integrating the full system.

Electronics theory

Before jumping into the build, here is a brief explanation of the three key components that make the CNC engraver move.

Programming

The CNC machine is programmed in C++ using the Arduino framework on the Raspberry Pi Pico 2. The code handles multi-axis stepper motor control via STEP/DIR/ENABLE signals to the DRV8825 drivers, manual jogging through the button board, and a software-based origin-setting system that replaces traditional limit switches. G-code parsing is used to translate engraving paths into coordinated motor movements.

Development Setup

Learning Outcomes

This week was a complete end-to-end engineering challenge. We had to design, fabricate, wire, and program a working machine as a team, where every discipline depended on the others. The experience pushed us to think beyond our individual roles and understand the project as a whole.

  • Systems thinking is essential: Building a machine means every decision influences everything else. Mechanical dimensions, electronics pinouts, firmware logic, and enclosure layout all need to be considered together as one interconnected system.
  • Iteration is the actual workflow: Hardware development naturally involves multiple rounds of testing and refinement. Embracing this process and planning time for it leads to better and more reliable results.
  • Adaptability is a strength: Mid-project changes are a normal part of any build. Being able to pivot and find a working solution without losing momentum is one of the most valuable skills a team can develop.
  • Owning your tools gives you real control: When you build or customize your own software and electronics, you can adapt them exactly to what the project needs, making the development process faster and more flexible.
  • Full system testing is key: Testing individual parts is important, but integration always reveals new opportunities for improvement. Bringing all subsystems together early helps the team identify and solve those challenges with more time to spare.

If a second version is ever made, we would like to expand the variety and complexity of the engraving paths the machine can produce, and design a dedicated housing to integrate all the electronics cleanly into the enclosure so the full system feels like a finished, unified product.

Files

Copyright 2026 <Fab Lab Puebla> - Creative Commons Attribution Non Commercial

Source code hosted at gitlab.fabcloud.org