Week 7 - Computer-Controlled Machining

Published on: March 10, 2025
This week we were supposed to make something big. The idea for this week's project came to me while I was preparing for the last New Year's Eve party. I was invited to a house party and was supposed to bring my DJ equipment. Unfortunately, I didn't have a table of the right height that would be easy to transport. So the idea was to make a multifunctional table that could be assembled and disassembled, easily stored in the car and quickly set up in the home for projects such as crafts.
General Information about CNC Cutting
Difference Between Drilling and Milling

- Twist drill: Moves axially to create holes.
- End mill: Cuts laterally to shape material.
One challenge in milling is that an inside corner cannot be perfectly sharp when using a round cutting tool. To solve this, fillets are used. A fillet is a design feature that rounds off a corner to accommodate the tool's geometry.
There are different types of fillets, including:
- Sniglet
- T-bone
- Dog bone
These fillets help ensure that parts fit together properly when CNC machining is used for joinery.
There are different toolpaths to achieve the desired result. A pocket toolpath cuts on the inside of a closed line or shape, removing all the material within the pocket. A drill toolpath makes the CNC operate like a drill press, plunging the end mill vertically into the material. A 2D figure toolpath follows a specific shape, such as the outer contour of a plank, ensuring precise cutting along a predefined path.
Joint Types
There are various types of joints possible if you want to construct furniture using a CNC router:
- Overlap
- Edge-To-Edge
- Edge-To-Edge-To-Edge
- End-To-Face
- End-To-Face-To-Edge
- Through
- Three-Way
- Four-Way Connections
I decided to use two different types of connections: End-To-Face and End-To-Face-To-Edge.


Construction of the 3D Model
As a beginner in Fusion 360, one of the key things I learned was how to use constraints to define relationships between sketch elements. These constraints help ensure precise and accurate designs. If you're new to this as well, I highly recommend checking out this helpful Autodesk guide on constraints.
Creating the connectors was a bit tricky for me at first. As someone still getting familiar with Fusion 360, it took some patience to properly construct the joints. Thankfully, after some trial and error, I was able to make it work!
Before jumping into the design, I consulted my instructor Lars to understand potential pitfalls in joint design. He pointed out an important detail: I needed to include a parameter in my sketch to ensure the press-fit connections would work properly. I then adjusted this parameter based on the group assignment tests, making sure the fit was just right.
After designing the three different parts of my project (since the table legs and the substructure are duplicated), I extruded my sketches and assembled them in Fusion 360 to check if everything fit together properly.
Luckily, there was only one small mistake, which was easy to fix. I had accidentally set the rectangle for the substructure to the full width of the table, causing the joint elements to extend beyond the intended slots.
Thanks to parametric design, I was able to simply subtract the excess measurement, and the connectors still fit perfectly into the slots. This was a great reminder of how useful parametric modeling can be – small adjustments can be made quickly and efficiently without needing to redesign everything from scratch!
You can follow along with my Fusion Design in the following slide gallery.
3D Design with Fusion 360

End to Face to Edge Joint – Designing the part of the upper part of the joint. Don't forget to add the press-fit parameter.

Use the Mirror Tool – Use the mirror tool to place the elements along the two sides of the table.

Table Top Sketch

Construction of End-To-Face Joints – I used T-Bone fillets for the End-To-Face Joints.

Construction of the table legs

All components at a glance...

Final Assembly using the align-tool

Detailed view of the End to Face to Edge Joints

Finished Project – The final multifunctional table as a 3D Model.

CAM Process
Before moving on to the next big step — the CAM process and manufacturing — I had a lot of respect (and a bit of fear) for what was ahead. Like most people working with expensive machines, I was nervous about making a mistake in the NC program settings that could cause problems during milling.
Thankfully, I had great support from my teammates Lars and Julian. They patiently guided me through the setup process and the different NC programming settings, which not only helped me understand the workflow but also gave me the confidence to do it on my own — at least at this stage. Now, I hope I can repeat the process in the future to solidify what I've learned, or that my documentation with screenshots will be enough to guide me when I need it again.
Here are some important aspects of NC program and the CAM setup that I focused on:
- NC Program Structure: The final output of this process is an NC program that tells the CNC machine what to do.
- Tool Selection & Importing Libraries: Choosing the right tools and importing tool libraries for the machine is an essential step before starting the cutting process.
- Using Different Cutters & Their Purpose: Understanding the difference between roughing and finishing tools to get the best results.
- Safe Tool Retraction Heights: Setting up the correct height to safely retract the tool between cuts, avoiding collisions.
- Tabs for Stability: Using tabs (8mm width, 2.3mm height, 75mm spacing) to keep parts stable during milling.
- Material Allowance Before Finishing: Leaving -0.5mm material in roughing passes before the final finishing cut to ensure accuracy.
- Reducing Vibrations & Machine Chatter: Adjusting settings to minimize vibrations, ensuring smoother and more precise cuts.
You can follow along with my CAM project settings in the following slide gallery.
CAM Process
Enter Manufacture Mode

Generate a new Setup

Configure Work Coordinate System

Use the Drill-Tool – Mark the Checkbox "Select Same Diameter".

Settings for the Drill – Set Clearance Height Offset to 5mm and Bottom Height Offset to -0.5mm.

2D Contour – Set Clearance Height Offset to 5mm and Bottom Height Offset to -0.3mm.

Bottom Height – Select Model bottom as Bottom Height.

Add Tabs – We tested 8mm Tab Width, 2.3mm Tab Height and 75mm Tab Distance.

Simulation – After each part of the setup execute a simulation to see if problems occur.


Generating the NC Program

Fabrication Process
Safety Check Before Milling
In our FabLab in Bottrop, we use the Versatil 2500 CNC machine.
Before starting the milling process, a safety check was conducted to ensure a secure and efficient operation. The following precautions were taken:
- Activated the dust extraction system to minimize airborne particles and maintain a clean workspace.
- Turned on the compressed air to keep the milling area clear of debris.
- Verified the correct positioning of the wood panel, ensuring stability during cutting.
- Checked that the milling cutter was securely placed in the correct holder to prevent misalignment.
- Put on hearing protection to safeguard against noise exposure.
- Kept the remote control within reach for immediate operation control and emergency stops.
For further details, visit our group documentation page.
Milling Process
How to use the CNC Router
Open your NC Program

Reference Drive – The machine performs a reference run to calibrate the axes.

Select Offset – Select the required offset for the chosen fastening. I used screws for fastening and selected 3cm.

Tool Change – The CNC milling machine changes its tools autonomously.

My mental state throughout the milling process went through multiple transformations. At first, I felt nervous when starting the program, but as I watched the machine work, my mindset became almost meditative. By the time the milling was nearly complete, I found myself filled with anticipation for the final product.
I couldn't help but wonder: Would the press-fit connections actually work as planned? The thought lingered in my mind as I carefully observed the process. In the end, I was relieved that the CNC program ran smoothly, with no unexpected issues. To my surprise, the milling process even managed to beat the estimated NC program times for several sections!
After milling, there were still a few finishing touches needed to get the parts ready for assembly:
- Removing the elements from the board using a chisel.
- Smoothing and cleaning up the remaining tabs with the table router.
- Post-processing the individual components to refine the final look.
- Cleaning the woodshop, including vacuuming both the machines and the floors.

With everything prepped and polished, I was now ready to put my design to the test! Would the joints fit as expected? I couldn't wait to find out.

After cutting all the parts, I transported them home by car for final assembly. This was also an unexpected transport test to see if my design met the requirement of easy portability. Even though I hadn't specifically considered the interior dimensions of my car's back seat during the design process, the parts fit perfectly within the available width. This meant I could transport the entire table in a small car without needing to fold down the seats — an essential factor, especially when carrying additional equipment like studio monitor speakers or a DJ controller.
Assembly Process
For assembly, I started with the tabletop, placing it upside down on a carpet to prevent scratches and damage in case any parts didn't fit perfectly. My first step was to attach the horizontal support beams by pressing their edges into the corresponding slots. Once those were in place, I connected the table legs with the rest of the structure.
The press-fit connections required some force but could initially be assembled without tools. Once the table was fully put together, I flipped it over to check its stability.
During this check, I noticed a 1.5mm gap between the table legs and the upper edge-to-face connectors. To address this, I first tried using a ratchet strap with corner protectors to pull the parts together, but the improvement was minimal.

As a next step, I switched to a rubber mallet and a wooden beam to gently hammer the components into proper alignment. This method worked much better, ensuring a flush and secure fit.
Reflecting on this process, I realized that the additional material offset for joints — currently set at 0.1mm — might need a slightly larger value for easier assembly in furniture designs, especially for connections that aren't solely held together by press-fit joints.
Stability Check
With the multifunctional table fully assembled, I took the time to test its stability. The structure proved to be highly resistant to vertical loads, as I was able to put my full body weight on it without any signs of instability. Even stronger forces applied to the long edge were no challenge for the construction.
However, I did notice some horizontal movement when applying side-to-side force. While the table remained upright and stable, it exhibited noticeable lateral sway. To prevent any potential issues, especially in party settings, it would be advisable to position the DJ booth against a wall on one of its shorter sides for additional support.
Planned Reinforcements
To counteract this horizontal movement, I had already ordered four stainless steel tension latches, which were meant to secure the horizontal components together during setup, further improving overall stability. Unfortunately, I accidentally ordered them in the wrong size, meaning I couldn't install them as planned.
If the stability of the DJ booth decreases over time and no longer meets the required standards, I have another backup solution in mind. I would add one or two additional round wooden dowels (60-80mm in diameter) or connector boards to link the table legs horizontally at the lower section of the structure.
These reinforcements would be secured using a pin inserted through a drilled hole, ensuring that they stay in place while still allowing for easy disassembly when needed. This method would provide extra lateral stability without compromising the table's portability — an important factor for mobile setups.
Lightning
Since one of the main functions of my multifunctional table is to serve as a mobile DJ booth, LED lighting is an absolute must! To keep the design clean, I decided to place the LED strip inside the compartment under the tabletop, making it invisible from five sides and only accessible from below.
For this setup, I chose an LED strip with the WS2801 chipset, controlled by an ESP32 microcontroller. The biggest advantage of this setup is that I can easily use the WLED software and the WLED Native app on my smartphone. This allows me to control the LED strip just like any other smart home device — without any programming!
Installing WLED on the ESP32
The easiest way to set up WLED is by using the Web Installer, which works only in the latest versions of Chrome or Edge.
🔗 Installer Link: install.wled.me

The installation process is very straightforward. Once completed, I connected VCC, GND, and Pin 2 of the ESP32 to the LED strip according to the instructions on the WLED website.
When wiring the LED strip, make sure to follow the correct orientation! LEDs only work in one direction, and the arrow on the strip indicates the flow direction of the signal.
Wi-Fi Setup
After wiring everything up, I connected the ESP32 to a power bank, and the LED strip immediately lit up in orange – success!

The next step was to configure the Wi-Fi connection. If the ESP32 doesn't detect a known network, it automatically creates its own Access Point called WLED-AP.
- Wi-Fi Name: WLED-AP
- Password: wled1234

After connecting to this network, a web-based version of the WLED app opened automatically. Under the Config tab, I selected my home Wi-Fi, entered the password, and clicked "Save & Connect."
As soon as the connection was established, the ESP32 disconnected from the Access Point and joined my Wi-Fi network.
Final Setup
Now, the LED strip appeared in the WLED Native app and was fully controllable!


Just like with big-brand smart lighting systems, I can now choose from a huge variety of modes, colors, and effects to match the mood of any event.
With everything now assembled and illuminated, the multifunctional DJ booth is officially complete!

