What were the problems?
- Always needing to adjust the bed leveling (BL-Touch, new Control Board for custom Marlin config)
- X-axis is sloped due to only one Z-rod (Dual Z)
- Z-axis easily jams once a bit of force is put on it (Anti-kickback springs, linear rails)
- As the 3D printer is usually in my cellar, I always have to go downstairs to start and check a print (Octoprint, Camera)
- When using Octoprint, I do not want to keep my lights on (Neopixels)
- And I do not want to run out of filament mid-print (Filament Sensor)
- Belts are not tensioned correctly (Belt tensioners)
- I want to try out CNC milling and engraving
- Stiffness needs to be increased (linear rails, 20×40 mm X-axis extrusion)
What I used:
- The base Creality 3D CR-10 (duh)
- Z-axis upgrades:
- General upgrades:
- For the linear rail upgrades:
- 20x40x420 mm aluminum extrusion
- Depending on the extrusion, you need either
- These T-nuts
- or those (please check if they fit with your aluminum profile, I didn’t)
- X-axis linear rails (MGN9H-350 mm H-Type)
- Y-axis linear rails (HGR15-500 mm)
- Z-axis linear rails (MGN9H-450 mm H-Type)
- ~90×90 mm aluminum sheet (at least 3 mm thick)
- I also recommend getting a few of these hex screws
- For OctoPrint:
- A Raspberry Pi (or any SBC) + power supply and SD card
- A mini USB cable (remove the 5V pin of the USB A connector, so that the RasPi does not power the Control Board)
- Any USB Camera (I use this one)
- For the CNC spindle:
For the X gantry, I chose to use a 20x40mm aluminum extrusion, as it would be stiffer against torsion. As the previous 20x20mm extrusion had a different profile, I had to cut out more of the middle groove, so that the timing belt would fit in there.
The major changes of the x-gantry were:
- new 20x40mm extrusion
- two linear rails instead of these wired rollers
- custom 3d-printed Z connectors
- new aluminum carriage with additional spindle mounting holes
Here you can see the finished gantries before the final assembly. Note that for the Y and Z gantries, the rollers were also replaced with linear rails.
![](https://technologiehub.at/wp-content/uploads/2023/05/IMG-20230407-WA0001-1024x576.jpeg)
After some changes to the Marlin firmware (here is the link to the modded firmware with changes), I was able to start printing again using the BL-Touch, the filament runout sensor, and Octoprint.
Here you can see the two different configurations, 3D printing on the left and CNC machining on the right.
![](https://technologiehub.at/wp-content/uploads/2023/05/20230420_161623-768x1325.jpg)
![](https://technologiehub.at/wp-content/uploads/2023/04/Screenshot-from-2023-06-04-20-45-30.png)
To create the gcode for simple cnc jobs, you need some sort of CAM software. Usually these are integrated in the standard CAD softwares like Solifowrks, Fusion or FreeCAD. As I recently switches to Linux for my main OS, I also had to swap from Solidworks to something that runs on Linux. In this case a chose FreeCAD and the built in Path tool.
![](https://technologiehub.at/wp-content/uploads/2023/04/Screenshot-from-2023-05-31-20-36-34-1024x581.png)
After creating the 3D model and path, I exported the gcode with grbl set as the preprocessor and simply put the program straight on octoprint. From there, I can simply start the machining my setting the home position according to the postion i set on the CAM software and started the spindle and pressing play.
![](https://technologiehub.at/wp-content/uploads/2023/05/Screenshot-from-2023-05-25-15-58-53-1024x580.png)
And here you can see one of the first machining jobs done with the machine. I did not really have the right nuts for screwing the part in place, so I used double-sided tape for a quick trial run. In future jobs, ill put a wooden plate underneath the raw material.
![](https://technologiehub.at/wp-content/uploads/2023/04/clugging-scaled-e1685565298851-629x1024.jpg)
After cutting the acrylic plate, there was a sticky residue on the cutter. Has anyone any suggestions on how to prevent this? Or is it simply not recommended to cut acrylic with a CNC (but rather with a laser)?
What there is to do:
- Make CNC and 3D printing hotend easily swappable
- Try out CNC engraving with a spindle motor
- Make bed adjustable for either 3D printing or milling
- Upgrade Hotend
- Upgrade Cooling system