Computer Controlled Machining

Computer-controlled machining involves using CNC machines to cut, mill, or shape materials based on digital instructions. These machines follow G-code to move the tool with high precision, making it ideal for producing reliable parts across various materials. For this assigment, my goal is to create a custom welding station table for my home workshop. The workflow involves designing in CAD software, preparing machining paths in CAM software (VCarve), and finally cutting the table parts using the CNC machine Asia Robótica Router. To ensure correct use of the routers in the FabLab, the group assignment provides detailed guidance.

Desk/welding station desing

Before preparing the toolpaths for machining, I developed the complete design of the desk in Fusion 360. Due to time constraints and the need to make adjustments incrementally, I defined a set of user parameters from the beginning. These parameters allowed me to keep the key dimensions organized and easily adjustable across the different sketches and components.

ESP32 WROOM PCB Design

Figure 1: Parameters used.

I kept the design fairly tight in terms of fit: I applied zero tolerance between interlocking parts. Although this meant the assembly would require some force, it guaranteed a solid, long-lasting structure once all parts were connected.

The pieces include side panels, internal braces, the main platform, and dedicated spaces for modules and trays. I also included engravings and as part some sketch profiles, this with the help of some SVG generated by myself in inkscape.

Library download
Figure 2: Desk UP Lateral part.
Decompressing files
Figure 3: Desk UP main part.
Library download
Figure 4: Desk Lateral part.
Decompressing files
Figure 5: Desk Inner part.
Library download
Figure 6: Desk Main part.
Decompressing files
Figure 7: Desk Lateral Holder part.

To verify the design and detect any potential issues before manufacturing, I created a full assembly using Fusion 360’s joint system. For this, I converted each body into individual components and then used the Joint feature to simulate how parts would fit together.

The process involved:

Library download
Figure 8: Joints requirement (components instead of bodies).
Decompressing files
Figure 9: Create components from bodies.
Library download
Figure 10: Bodies vs components (visual reference).
Decompressing files
Figure 11: Select specific points to create a joint.
Library download
Figure 12: Types of joints, in this I will choose rigid since I do not want it no recreate movement.
Decompressing files
Figure 13 :Assembly result.

The assembly seem pretty fine to me, so I decided to export all the sketches in DXF format.

CAM Preparation Using VCarve

Once the design is completed in CAD software, I export each component as a DXF file and import them into VCarve for machining preparation. Here are the essential steps:

1. Project Initialization

First, I start by creating a new project in VCarve, specifying the dimensions of the plywood sheet I'm using (1220mm width x 2440mm length x 15mm thickness). I set the project's origin point to the bottom-left corner, making subsequent steps consistent and straightforward.

Library download
Figure 14: Create new file.
Decompressing files
Figure 15: Job setup.

2. Vector Import and Alignment

Next, I import the previously created DXF files one by one, carefully positioning them within the workspace. I arrange each vector strategically, ensuring efficient use of material and avoiding interference during cutting.

Library download
Figure 16: Import DXF files.
Decompressing files
Figure 17: Some tools_join tools.

3. Vector Editing and Joining

It’s essential to have closed vector paths for accurate machining, so I use the "Join Open Vectors" feature to create closed loops from any open lines. This step ensures the CNC will follow the intended paths accurately.

ESP32 WROOM PCB Design

Figure 18: To properly join the vectors, first select the two vectors you wish to merge, then click on the previously mentioned operation to complete the process.

4. Dogbone Fillets Integration

When working with CNC milling, sharp internal corners can’t be cut perfectly due to the circular shape of the tool. The bit removes material in arcs, leaving rounded corners that can prevent interlocking parts from fitting properly.

To solve this, I add dogbone fillets—small circular extensions at the inner corners of joints. These adjustments compensate for the tool’s radius, allowing square-edged parts to slot together without interference. This ensures that all joints fit cleanly and assemble as intended.

Dogbones should be added only to interior corners of slots or holes where a square part needs to insert or lock in place. They are especially important in press-fit designs, structural joints, or assemblies that require high precision.

On the other hand, external corners do not require dogbones. Since the tool can freely move past the outer edge, it naturally forms clean, sharp corners without any fitting issues. I set the fillet radius to 3.175 mm, matching half the diameter of the 1/4” end mill used.

ESP32 WROOM PCB Design

Figure 19: Dogbones.

5. Toolpath Definition and machine vectors

For machining, I choose a 1/4” two-flute carbide end mill, ideal for cutting plywood cleanly and efficiently. I define the profile toolpaths, setting a cutting depth slightly deeper than the plywood thickness (15.2mm) to ensure complete separation.

I adhere to the following machining parameters based on previous experience the values established in the group assignment, also I kept everything a bit slower than normal only to be safe:

Library download
Figure 20: Toolpath menu.
Decompressing files
Figure 21: Tool parameters.

The machine vectors section determines the position of the toolpath relative to the selected vector, and directly affects how the part will be cut.

There are three main options:

ESP32 WROOM PCB Design

Figure 22: Select the vectors to be cutted by outside.

6. Tabs and Holding Strategy

To keep the pieces stable during machining, I strategically place tabs around each component. These tabs are 5mm wide and 1.5 mm thick, ensuring parts remain secure but easy enough to remove afterward.

Library download
Figure 23: Tabs.
Decompressing files
Figure 24: Edit tabs menu, if ypu press add tabs it literaly add a specified number of tabs automatically.

7. Toolpath Simulation and Export

Before finalizing, I run a simulation in VCarve to check for potential issues or collisions. After confirming that everything looks correct, I export the toolpaths as G-code files compatible with the CNC machine’s control system (postprocessor).

Library download
Figure 25: Calculate if everything is done.
Decompressing files
Figure 26: 3D simulation generated after calculating (only the last operation).
Library download
Figure 27: Repeat for inside machine vector.
Decompressing files
Figure 28: Repeat for ON machine vector.
Library download
Figure 29: Save toolpaths.
Decompressing files
Figure 30: Simulate all toolpaths, click on reset preview if there is already.
ESP32 WROOM PCB Design

Figure 31: Simulation result.

CNC Machining with Asia Robótica Shop-1325 Router

Now, the physical fabrication process using the CNC router begins. Here’s what needs to be done:

1. Material and Machine Setup

I placed and secured the sheet onto the CNC machine bed, ensuring it was flat and will not shift during cutting. I used both nails and pins to secure the board, since the design was very close to the edge of the material and there was a risk of the end mill hitting one of the pins. The nails helped keep the board in place without interfering with the toolpath.

Library download
Figure 32: Nail secure option.
Decompressing files
Figure 33: Pin Secure Option, if used, the pins must be firmly tightened to ensure stability and prevent any movement during operation.

I inspect the Asia Robótica Shop-1325 router and and changed the cutting tool to the 1/4” end mil considered in Vcarve.

ESP32 WROOM PCB Design

Figure 34: Tool changing.

Once powered on, the router initiates a return to its factory default settings. It is essential to allow this process to finish completely, as it ensures the router can properly reset all zero positions.

Library download
Figure 35: Control Panel, to power on the router, simply release the emergency stop and press the green button.
Decompressing files
Figure 36: Default settings

2. Tool and Machine Calibration

After installing the tool, I accurately zeroed the machine’s X, Y, and Z axes using its built-in zeroing function. To set the origin, I used the XY=0 button (blue square), navigated the CNC using the axis control buttons (purple squares), and accessed the menu through the function buttons (green squares). The red button serves as the emergency stop, ensuring safe operation in case of unexpected behavior.

I take special care in setting the Z-axis zero precisely at the material surface to ensure accurate cuts.

ESP32 WROOM PCB Design

Figure 37: Setting the new origin.

3. Execution of Machining

With everything set, I load the G-code into the CNC controller and start the machining process, closely monitoring the operation. This step requires my attention to promptly respond if any issues arise, ensuring optimal machining performance.

ESP32 WROOM PCB Design

Figure 38: Loading the file.

Library download
Figure 39: Engraving Result 1.
Decompressing files
Figure 40: Engraving Result 2.

4. Post-Machining Procedures

After the milling, I safely power down the CNC router and carefully remove both the sheet and individual parts using hand tools, ensuring the integrity of the finished parts.

Post-Processing and Finishing

To enhance the final quality and prepare the parts for assembly, sanding is essential:

This sanding process significantly improves the overall feel and look of the finished parts, making them ready for assembly.

Library download
Figure 41: Assembly process.
Decompressing files
Figure 42: Assembly process 2.

After hours of assembly (special thanks to past-Erwin for choosing zero tolerance—making the process much more challenging), I finally managed to put it all together.

ESP32 WROOM PCB Design

Heroshot

LEARNINGS

As much as I hated the assembly process due to the tight tolerances, I’m also genuinely thankful for having ignored them. Today, this table is incredibly sturdy—I use it constantly, and it doesn’t wobble or shift at all. It's reliable, and I’m proud to use something I built myself. (Thanks, past-Erwin. You're forgiven.)

What’s more, building it taught me to think more carefully about material selection. In the end, I had to recycle leftover plywood from classmates, especially after one piece cracked during a forced assembly. That mistake led me to repeat the milling process for the broken part—an important lesson in both tolerance and patience.

Documents and software links!

  • Desk_Inner
  • Desk_LAT
  • Desk_LAT_holder
  • Desk_main
  • Desk_UP_Lat
  • Desk_UP_main