Skip to content

3D Printer/CNC Mill Hybrid

Project Category: Mechanical

Welcome! Come join us!

10:00 a.m. to 1:00 p.m. MDT

About our project

The KM 4-20 is a compact 3D printer & Computer Numerical Control (CNC) mill hybrid. As 3D printing technology becomes more prevalent, there is increasing demand to produce precise rapid prototypes with minimal post-processing. Traditionally, a 3D printer can reach a dimensional tolerance of 0.1mm with rough washboard-like surfaces, which limits the potential applications of 3D printed parts. CNC mills use rotary cutters to remove material, producing parts with a dimensional tolerance under 0.01mm, however this method wastes raw material and can be costly. Merging these two technologies allows the hybrid to rapidly produce accurate parts with enhanced surface finish while minimizing material waste.

The KM 4-20 works by 3D printing a part slightly oversized then milling it to its final dimensions. Our proprietary software allows a user the freedom to combine 3D printing and milling operations in any order suitable for their project. For example, if a project requires an inset bearing, the part can be 3D printed oversized and then cut down with the mill to the required size and smoothness. After the bearing is installed, it can be sealed into the part with additional 3D printing.

In industry, machine setup is a necessary but time consuming and cost prohibitive procedure for manufacturing single prototypes. In some cases, prototypes may require multiple setups to achieve final dimensions. The KM 4-20 was designed to minimize total setup time by reducing the number of setups required.

We invite you to find out more about the KM 4-20 and learn about its additional features to unleash your creativity.

Meet our team members

Sean Mason

Sean is a journeyman machinist of over 15 years, with 10 years of direct experience with CNC milling machines and lathes. His expertise applies directly to the programming and setup of the KM 4-20. Sean’s interests are in CNC manufacturing, automation, and aviation.

Rachel Jacyszyn

Rachel has a broad range of interests but has chosen to focus in the areas of mechatronics and consumer products.  She has a creative streak and really enjoys the design aspect in product creation and presentation. Her background includes a prior degree in cellular biology and industry experience in research and development.  She enjoys hobbies such as photography, backpacking, home-improvement, tinkering and videography. 

Matt Moldenhauer

Matt’s areas of interest are manufacturing and automation. He has professional experience in the steel industry, where he developed a fascination with process optimization.  In his free time you can find him hiking or working on his latest design project.

Graeme Kendall

Graeme has been involved with makerspaces and Calgary’s startup scene over the past 5 years. He has professional experience in the construction industry, where he developed a skillset for product and vendor selection. He applied this knowledge for component selection and integrating both CNC and 3D printing technologies for this project. He enjoys in his free time curling, classical literature and prototyping. 

Ryen Kuiper

Ryen’s interests include programming, tinkering, and the minutiae of how things work. He coded the software tools developed for this project, and contributed to some of the theoretical analyses of the prototype. He also tried his hand at voiceover artistry for our introductory video!   

Details about our design

Specifications


Printing MethodFused Filament Deposition
3D Printing Work Volume300 mm X 165 mm X 28.3 mm
Milling Work Volume300 mm X 180 mm X 45 mm
Print Tolerance0.1 mm
Mill Tolerance0.01 mm
Bed Temperature Range0 °C – 130 °C
Hotend Temperature Range0 °C – 240 °C
Maximum Spindle Speed20,000 RPM
File Transfer MethodUSB/SD Card/Wi-Fi
File Format.gcode
Power Supply24 VDC, 15 A
Print MaterialPLA, ABS
Filament Diameter1.75 mm
Weight10 kg
Dimensions483 mm X 318 mm X 406 mm

Features


Closed-Loop Stepper Controllers

A common error in 3D printers is “layer shift”, in which an axis deviates from its programmed position due to external forces. The Bigtreetech® S42B control boards sense changes to a magnetic field to determine the exact position as the motors rotate, allowing the stepper motors to correct for external errors and ensure the tool is always in its desired position.


Touchscreen Interface

The KM 4-20 can operate without an external computer using an offline touchscreen controller. The Bigtreetech® TFT24 controller provides temperature, fan, and motor regulation. It also allows for direct G-Code input for the machine-specific functions like the printhead retracting system. Useful information is displayed such as current bed temperature, nozzle temperature, and fan settings.


Heated Bed with Manual Levelling

The working surface is a 240-Watt SIMAX 3D printer heated bed capable of reaching temperatures of 130 degrees Celsius. A thin sheet of polymer film is placed on top of the bed. The combination of the film and heat improves print adhesion so that the milling operations don’t need any additional fastening. Nylon screws and nuts thermally isolate the bed from the rest of the machine and allow for manual bed levelling. 


Retractable Printhead

The printhead is mounted to a four-bar linkage to allow for retraction during milling operations. The device is moved by a pair of servomotors which provide accurate position control. The motors transmit force through gears, which reduce the motor load and prolong their useful life. 


Power Interruption Protection

In the event of a power interruption, a standard 3D printer stops in its current position and the print must be restarted. The KM 4-20 features a capacitor bank which allows the machine to continue operating through short-term power interruptions.  


Angled Nozzle

The 3D printing head was angled to minimize the distance between the spindle and the nozzle, and maximize the work envelope. 

The 3D printer nozzle is ground at an angle to ensure it is parallel to the print surface. This has the advantage of improved adhesion of extruded filament to the heated bed.


Emergency Stop

The KM 4-20 includes an emergency stop button that completely turns off power, bypassing the power loss protection. This button instantly stops motion and heating to prevent injury in an emergency. The button can also be positioned in the vicinity of the machine operator for a swift response.


Electronics Case

The electronics are housed in an insulated case, protecting them from debris and users from electrical shock.


Homing Switches

Axial limit switches were added to the frame to maintain dimensional repeatability by providing a reference point for printing and milling operations.


32-Bit Control Board

The main control board is a 32-bit Bigtreetech® SKR V1.3. This board provides multiple advantages including faster processing speed, higher quality, and expanded firmware compatibility. Another benefit is that it is “future proof”; it gives the option to add upgrades and more advanced components compared to commonly used 8-bit board.


Remote Monitoring

A Raspberry Pi™ paired with a webcam works to provide remote control and monitoring over Wi-Fi™. This means that the user does not need to be present to supervise the entire process, and files can be sent to the machine without needing to keep track of SD cards or USB cables. Additional functions are available as open-source add-ons to enable features such as time-lapse video recording and G-Code simulation. 


Spool Holder

The spool holder was designed for commonly available filament spools. One arm is removable for easy loading and unloading of filament. 


Spindle Motor

The upgraded spindle motor rotates up to 20,000 rpm, increasing the range of speeds and feeds for a variety of materials. The spindle speed range gives the user greater control over surface quality and cutting time.


Software


The control board of the KM 4-20 uses Marlin© firmware, which was chosen for its versatility. Among its many features, Marlin© allows for temperature control of the hybrid’s heated bed and extrusion nozzle, preventing thermal instability and overheating during printing. It also recognizes an extended library of G-Code commands, which allows for precise raising and lowering of the printing assembly, and controlling the milling spindle speed. 

Two MATLAB programs were written to process and sequence G-Code instructions that the KM 4-20 can execute: The first combines printing and milling instructions into one sequential process. The second is an error recovery program that takes the sequenced G-Code file, asks at what layer height a print failed, and mills away the failed layers of the part before allowing the print to resume from that point. 

A flowchart laying out the basic operation procedures of the KM 4-20 is shown below. On a software-equipped PC, a user models a part and produces printing and milling G-Code files. The first MATLAB program sequences the files so they can be loaded into the KM 4-20. This sequencing process allows a user to print and mill their parts in the desired order, or independently. If there is a design change or a printing error, the recovery script can be executed.

In the future we will develop an open-source G-Code modification program in Python™ so that it is accessible.  


Machine Capabilities


Print only

Mill only

Print & Mill


Testing


Linkage Material

The four-bar linkage was first verified with finite element analysis (FEA) in SolidWorks®. This revealed weak points at the corners of the square hole. The links were made and tested using four different materials: pine, oak, 3D printed plastic, and aluminum. The pine links broke upon assembly, and the oak links broke upon first usage. Both links broke at the expected weak points. The properties of the 3D printed links were insufficient to hold the print head rigid. Finally, aluminum links produced at an external fabrication shop were found to be the superior material choice. 

Four-Bar linkage FEA. Green areas indicate weak points.

Test Parts

The sample parts verified the machine’s capabilities. The first part was a relatively simple drawer knob that involved a pause to embed a threaded component before resuming printing. The second part was a drone propeller with more complex geometry. For this part a fixture was printed to hold the propeller for milling both sides. With additional planning, this can be performed in one machine setup. 


Closed-Loop Control

To test the closed-loop controllers, the machine head was programmed to move to a specific point within the work envelope while the lead screw was held stationary. Once the lead screw was released the head position was recorded using a dial indicator. As expected, the closed-loop controllers corrected for any difference in position. 


Surface Finish

A surface finish analysis was conducted to find the most suitable speeds and feeds while still leaving a smooth surface. It was found that running the spindle at its maximum 10,000 RPM while using a 700 mm/min climb-milling feed rate, provided the best balance between cutting times and superior surface finishes. 


Tolerance

A tolerance analysis of 3D printers, the Genmitsu CNC, and the KM 4-20 was performed. We found that the 3D printers averaged a 0.17 mm error while the Genmitsu CNC averaged only 0.01 mm error. That’s 17X more accurate than a 3D printer. The KM 4-20 has an average accuracy of 0.02 mm a significant improvement over existing 3D printers. 


Future Improvements


Larger X Guide Rods

After adding the mass of the printhead we found deflection at the centre of the 10mm rods that decreased accuracy. A kinematic analysis showed that increasing the rod diameter to 12 mm would restore accuracy. This would also require larger bearings. 


Custom Bed Heater

Installing cartridge-style heaters directly into the t-slots on the machine bed with plastic inserts to fill the gaps would save the full vertical work volume and have improved adhesion. 


Enclosure

To improve safety while reducing noise and cleanup, we recommend an enclosure. This would surround the machine to contain any removed material while preventing accidental spindle contact. Enclosures made specifically for the 3018 CNC are available, but it would be equally effective to make one out of clear acrylic.  


Printer Component Upgrades

Higher quality printer components such as brand name stepper motors, additional cooling fans, heat-resistant electronics, and an automatic bed levelling system would improve 3D print quality. 


The cost of these upgrades would total $192.00; since there is still room in the budget, these improvements are recommended. 


Design Process


Budget

The original project budget was $1000, and the project cost a total of $809.83. Adding the recommended upgrades would bring the total up to $1001.83 . 


Schedule

TaskStart DateCompletion Date
Research11 September, 202015 October, 2020
Design and CAD11 September, 202010 December, 2020
Mill Building26 September, 20201 December, 2020
Initial Tolerance Testing29 September, 202030 December, 2020
KM 4-20 Building25 January, 20214 April, 2021
Product Analysis6 Feb, 202112 April, 2021
Design Fair23 March, 202112 April, 2021
Final Report23 March, 202114 April, 2021

Design Tools

Partners and mentors

Thank you to the ENME 502 instructors team, with a special thanks to lead instructor Dr. Simon Li and TA Danny Wong. Their advice and guidance was instrumental in the success of the project.

Thank you to All Metal Manufacturing for fabricating the aluminum linkages.

Our photo gallery