
CNC_ctrlbox_V21_DUET3_6HC_LCDPANEL_C)JANTEC.NL_20251115

CNC_ctrlbox_V21_DUET3_6HC_TOP_PART_C)JANTEC.NL_20251115

CNC_ctrlbox_V21_DUET3_6HC_REAR_PART_C)JANTEC.NL_20251115

CNC_ctrlbox_V21_DUET3_6HC_FRONT_PART_C)JANTEC.NL_20251115

CNC_ctrlbox_V21_DUET3_6HC_BOTTOM_PART_C)JANTEC.NL_20251115

CNC_ctrlbox_V21_DUET3_6HC_RIGHT_PART_C)JANTEC.NL_20251115

CNC_ctrlbox_V21_DUET3_6HC_LEFT_PART_C)JANTEC.NL_20251115

CNC_ctrlbox_V21_DUET3_6HC_allinonebox_C)JANTEC.NL_20251115







DOWNLOAD CNC_controller_box_6_parts_V2_C)JANTEC.NL_20251102
Please donate $1 to my paypal account if you use my original designs -)

THE CNC CONTROL BOX

Download the CNC controller box design file via the above link in 1 piece which will take around a day or more to print.
The CNC box design is available in 6 separate design STL parts that interlock very well and will have to be glued and (if you so desire-screwed) together.

The box is also available for DUET3 HERE



The tilted top panel houses a FysetC Duepanel 7 inch LCD module that interconnects to the FlyCDY2 or 3 ( and will also fit to the Duet3, obviously).
The box and panel also include holes for a 24-pins multiconnector on top, a panic button on top, an 80mm fan unit, a filtered power inlet unit (in my case, for 230V Europe standard) and 3 button holes on the tilted panel, as well as a small hole for a voltage reading unit. Any other required holes can best be done after printing. Just with normal tools, by using painters tape first to cause minimal collateral damage to the case.
All parts that can be screwed on or-in, can utilize M3 threaded inserts at the mounting points inside. The holes are supporting these. This is not done for thePSU (obviously, the M4 mounting bolts run through the case). The fan is mounted with M3 bolts from the outside through the case and secured with nuts against the fan’s body.
CNC CONTROL BOX DESIGN, PRINTABLE IN 6 INTERLOCKING PARTS
HOW TO PRINT
I always print tools and toolcases in ABS at 260-270 degrees, 100% fan and 100% infill. . Use minimal support of about 85% for these parts but always use maximal adhesion on the OUTSIDE only!
Also, set Cura to a shrinkage correction of 100.7%, due to ABS black shrinkage of 2.2 mm on the long side of the box. (The xSize should be 295 and this was measured 292.9 after being printed as full box)
For constructing the box from 4 individually printed parts, first connect the bottom parts without glue. Then, attach both the sides and screw in the front panel. Then, where needed file or sand off ledges so it all fits properly. Then, remount it all and let the glue find its way between the connecting overlapping ledges that connect the parts.
Print all parts with the vent openings down.
All parts will print best with support 85% AND adhesion outside only ON.
Print support with 85% angle support everywhere at 5%, so the M3threaded bus-supports will be printed well.
PRINT ORIENTATION EXAMPLE (Cura, VORON 2.4-600)
Please be aware that the 6-part design is developed with printing in mind, so the horizontal printing orientation as shown above is the only way to avoid overhangs in the interlocking ledges. This also goes for individual printing of each part.
I print this with an 0.8 mm nozzle at 0.4-0.6 mm layer height and a full print-run of all items at once still takes 1 1/2 day, at 100mms speed.
Therefore, I am now printing each part individually so I can manage it a lot better. No fun when you run suddenly out of filament..-)
Please donate $1 to my paypal account if you use my original designs -)
DOWNLOAD CNC_controller_box_6_parts_V2_C)JANTEC.NL_20251102


Due to the DUET3 control board’s size, it does not fit into the previously developed CNC housing for a FLY_CDY board, so a lot of modifications had to be made. This resulted in the preliminary (V13) OBJ design which can be downloaded HERE (20250604)
This post has the published last version with tight fits for the DUET3 6HC motherboard, the 24V PSU and so on.
The dimensions of the newer DUET version are smaller than the peliminary DUET3 version. Now, the dimensions are made the same as the CNC controller box that I made earlier for the Mellow FLY CDY2 or -3 motherboard and DUET Workbee, DWC LCD controller from FysetC and so on.
By now, I also have a workable 7-part release for this DUET3 6HC CNC controller box.
To print this 7-part version, you will need a 3D printer that has a minimum 300 mm span width of it’s printbed.
I found it a lot easier to print the controller box in 7 separate parts than in one big print-run for just the box of around 1 1/2 day which uses 940 grams of filament.

The box and faceplate for DUET3 6HC is available as:

CNC_controller_box_simplified_1_part_V20_FINAL_MOTHER_DUET3_6HC_BOX_ONLY_C)JANTEC.NL_20251108
3. The last available STL for the FYSETC 7 inch DWC font panel is below:


Please donate $1 to my paypal account if you use my original designs -)







To get the best possible CNC driver / firmware setup, in combination with the CAD and CAM programs that are required, I tested the following setups with the Indymill hardware:
I have a setup running on the CMC Indymill with Duet wifi BUT I just can’t get enough current to my Nema23 stepper motors.
Therefore, I made the final choice to also test OPENCNC: https://blog.altholtmann.com/open-cnc-shield/
I am building this together as you can see in the below pictures, where the driver boards will be replaced with 6600 pro drivers.

In this post, some other possible choices are presented:
1) Reprap 3.3 & the Duet2wifi. STL’s are made with OpenScad and then converted either online or with Estlcam to Gcode (.nc files). The Gcode is then uploaded via Duet webinterface and run on the local reprap driver board. Not chosen by me beacause it proved impossible to run a gcode stream online from the PC to the USB interface of the Duet2wifi board. It is, however, possible to attach a serial handwheel to the Duet2wifi and manually control the CNC setup. And dual axis squaring is also easily made possible. Actually, the Duet reprap CNC setup is very mature and customizable. I still have this setup as backup and by switching the connectors from the Indymill over, I can easily switch to this setup. Some advantages of this setup are a.o. the webinterface and the ease of having an automatic squaring gantry on the 2 Y axes with individual endstops. I also learned that Estlcam can generate Gcode that I can then send via the webinterface to the Indymill CNC machine which works very well. (I make my designs in Openscad and save this as .STL files. Estlcam can then convert these .stl files to .nc files…, using the machine configuration to get the code properly generated for the Indymill’s dimensions and hardware settings)
2) GRBL, Estlcam & Openscad, Marlin & GT2560 (A) board; This is also working out of the box and emulates a GRBL driver board.
The main reason to NOT use this is the fact that the GT2560 board just has not got enough pins available onboard for things like a handwheel and other outputs for accessories. The second thing that prevents me from going this way is the fact that it proved impossible to have a functional LCD attached that shows things like position, speed, status et cetera.
3) Mach3, FreeCad & USB CNC ‘barebone’ . This is actually a very solid and reliable solution BUT I could not get it to do any way of squaring my dual Y axis setup. Still investigating this…
4) GRBL, Estlcam & Openscad & MKS DLCV2.1 board with TFT 3.5 “;
Also for this setup: No option for squaring the dual Y axis setup. But- this is a very neat solution for smaller machines. or larger, if you use external drivers. The nice option of this setup is the 3.5 inch LCD that also comes preconfigured for CNC. I use this for my small 3018 CNC.
5) GRBL, Estlcam& Openscad & Mega2560 & RAMPS 1.6 shield.
DUET2WIFI clone Mellow FLY-CDY-V2
MACH-3 with a generic USB-CNC converter
I also have an original USB Mach3 interface with a. o. a handwheel unit. This works very straight forward but needs a PC to keep a stream of Gcode commands running to the USB controller. I am not very fond of this solution since a little mishap will destroy your objects that is being carved. But- this appears to work very well for many people so I have set this up after I had the FLY-CDY-V2 with the reprap 3.3 and the Duet webinterface running, to get to know the differences. I must admit it works straight forward without any problem. I decided to have this setup available next to the GRBL Mega2560/GRBL shield solution. The thing that keeps me from the USB-CNC solution is primarily the fact that this setup cannot auto-square my dual Y axis gantry. The Mega 2560/GRBL shield solution does this squaring very well.
GRBL with MKS-DLCV2.1 and the TFT screen

And- the most in use hobbyist solution: The GRBL boards like the above shown setup from MKS. I have this running on my old 3018 CNC milling machine and it always works well. This particular setup utilizes the preconfigured KMS DLC 2.1 board and the preconfigured MKS TFT for CNC. All is very neat and since the drivers can be adde externally as well as interanlly, it is possible to drive real high currents if you want that. These boards don’t do sensorless homing and usually put the 2 Y steppers in serial. This means that you will never be sure that they are well aligned.
RAMPS shield for Arduino UNO and Mega2560 (and DUE?)
Still to discover: ESP-based CNC board 6-axis on Openbuilds is very promising!
This is the link to the board, user manual et cetera by Timo Altholtmann.


I bought 2 kits with all hardware for 2 driver boards and 2 wifi remote control units from Timo in November 2021.

Will update here how this progresses, as I intend to use this on either one of my 2 CNC routers AND on my Minimill.

While I was making my CNC adapter plates with teethed wheels and belts, I discovered that not much exists that is ready to use for these conversions.
DOWNLOAD:
MINIMILL_BF16L CNC_Z_adapter direct drive 2022_07_25_V1_5-jantec.nl
I am therefore also making direct drive adapter parts, to try this out.


This is the third piece I make for direct drive, for the Z-axis.

This pice is fairly simple: First a good fit is needed to mount the adapter to the top of the Z-column, and the holes for the 4 bolts need to be acactly correct. Also, the same for the leadscrew hole of the bearing holder.
Then, on top of this, the Nema23 holder/mounting is projected. Including all needed boltholes, nutholes and a side hole for tightening the coupler.
The leadscrew has an outside part for the handwheel we will use for CNC that is 10mm, and some thread 10mm for Z. The thread is needed to be bolting the angular bearings (not meant for side torque) with some torque to the bearing holder.
If you do direct drive, you need a special coupler that can be split in 2. Then, you first mount one part on the leadscrew with some rings between the mill and the coupler part so that the nut can be placed in the coupler. If the thread is too long, grind some off.

Then, put the rubber (with centerhole) back in the coupler’s mounted part and push the other part in the rubber, so the coupler is complete.
Then, mount the printed adapter with already mounted Nema23 motor on the Y-axis and push the Nema shaft in the coupler. Use the adapter’s right hand side working window to torque the connector on the Nema shaft and you’re done!
Should you want to have a handwheel as well, this is possible but you will have to buy a stepper with an axis that is both at the front as the rear. (this is called ‘double shaft’ but is actually a longer shaft, obviously.]
GOTO the X-axis Direct Drive adapter
GOTO the Y-axis Direct Drive adapter
While I was making my CNC adapter plates with teethed wheels and belts, I discovered that not much exists that is ready to use for these conversions.
DOWNLOAD:
MINIMILL_BF16L CNC_X_adapter direct drive 2022_07_25_V1_5-jantec.nl
I am therefore also making direct drive adapter parts, to try this out.


This is the second piece I make for direct drive, for the X-axis.

The leadscrew has an outside part for the handwheel we will use for CNC that is 10mm, and some thread 8mm. The thread is needed to be bolting the angular bearings (not meant for side torque) with some torque to the bearing holder.
If you do direct drive, you need a special coupler that can be split in 2. Then, you first mount one part on the leadscrew with some rings between the mill and the coupler part so that the nut can be placed in the coupler. If the thread is too long, grind some off.

Then, put the rubber (with centerhole) back in the coupler’s mounted part and push the other part in the rubber, so the coupler is complete.
Then, mount the printed adapter with already mounted Nema23 motor on the Y-axis and push the Nema shaft in the coupler. Use the adapter’s right hand side working window to torque the connector on the Nema shaft and you’re done!
Should you want to have a handwheel as well, this is possible but you will have to buy a stepper with an axis that is both at the front as the rear. (this is called ‘double shaft’ but is actually a longer shaft, obviously.
GOTO the Direct Drive Y-axis adapter
GOTO the Direct Drive Z-axis adapter
DOWNLOAD the latest version of the STL printfiles
Please donate $1 to my paypal account if you use (parts of) my developed materials so I can continue to share nice stuff for you to download
While I was making my CNC adapter plates with teethed wheels and belts, I discovered that not much exists that is ready to use for these conversions.
DOWNLOAD:
MINIMILL_BF16L CNC_Y_adapter direct 2022_07_25_V1_5-jantec.nl
I am therefore also making direct drive adapter parts, to try this out.
This is the first one, starting with the most difficult one. The rest will be added soon.
Version 1.2 which is 15 mm shorter and much more robust:


The leadscrew has an outside part for the handwheel we will use for CNC that is 10mm, and some thread 8mm. The thread is needed to be bolting the angular bearings (not meant for side torque) with some torque to the bearing holder.
If you do direct drive, you need a special coupler that can be split in 2. Then, you first mount one part on the leadscrew with some rings between the mill and the coupler part so that the nut can be place in the coupler. If the thread is too long, grind some off.

Then, put the rubber (with centerhole) back in the coupler’s mounted part and push the other part in the rubber, so the coupler is complete.
Then, mount the printed adapter with already mounted Nema23 motor on the Y-axis and push the Nema shaft in the coupler. Use the adapter’s right hand side working window to torque the connector on the Nema shaft and you’re done!
Should you want to have a handwheel as well, you will have to buy a stepper with an axis that is both at the front as the rear. (this is called ‘double shaft’ but is actually a longer shaft, obviously.
OR- my latest design works a bit different: first put a couple of 10mm rings on the leadscrew’s 10mm axle, and then screw a threaded RVS tube with an outer diameter of 12mm, 25 mm long and internal 8mm thread on the axle. This goed into a 12 to 8mm coupler and this coupler connects to a NEMA23 stepper motor with an 8 mm axis. It does get a bit lengthy but it works very well. Just threadlock the RVS threaded tube to the leadscrew’s 8mm threaded end and it will run OK!
This is the last version, based on the above setup:


GOTO the Dirext Drive X-adapter
GOTO the Direct Drive Z-adapter
DOWNLOAD the latest version of the STL printfiles
Please donate $1 to my paypal account if you use (parts of) my developed materials so I can continue to share nice stuff for you to download
Before My Toolmania WBM16LV milling machine was delivered I already had plans to convert it to a CNC milling machine.

I do have some experience with 3d printing, and I have 2 CNC routers up and running, like the Indymill. So, the conversion of this mill will not be difficult in the Technical sense. But- making the perfect designs for the adapter plates of the Y- and X- axes proved to be a lot more work than I expected.
Please donate $1 to my paypal account if you use (parts of) my developed materials so I can continue to share nice stuff for you to download
The column cutter is already equipped with glass scales with digital readout. Furthermore, there is a gas spring mounted on the Z-column so that not all the weight is in the way when moving back and forth. Also an automatic lubrication system for the slides of X, Y and Z-axis will be mounted.)
DOWNLOAD ALL MY CNC TEETHED ADAPTER DESIGNS as .STL files
The electronics will become OpenCNC + wifi + wireless controlbox. I received the kit and will put it together the coming weeks. For now I am going to set the mill up with my all-in one USB-CNC-MDK2 board. I use this for all of my routers and mills to get it set up in first instance since it is very simple and sturdy. And- you can run it instantaniously without any PC or programming, just with the handwheel or from SD card. And from the laptop, of course.

DOWNLOAD MY CNC ADAPTER DESIGNS as .STL files
After this all worked well, I also made designs for NEMA direct drive adapters on my Toolmania MiniMill:


Above: Direct drive adapter for the Z-axis

What makes it tricky is the choice to make: Will I replace the spindles with ball bearing spindles or not? Not for the time being, first let’s make everything on CNC and then I’ll see how it performs.
2021-10-30: When converting (or upgrading, depends on your P.O.V.) a mill to CNC, it is absolutely necessary to have end stops on all ends. Except the low-end of the Z-axis, an end stop at the Z-axis low end is practically impossible.
On the Z-axis low end another solution has been established by using a Z-stop from the milling toolbit on a fixed X-Y position, OR by testing with the toolbit in place on the matrerial by sight or electronically.
I bought a Z-position sensor for this, which is nothing more than an electrically insulated round pod with a flexible brass top. It is with one wire connected to the Mach3- motherboard as Z-probe and triggers when the tooltip touches the top of the Z pod’s brass top. Therefore, this trigger is defined as ACTIVE when it is conected to Ground. Since the mill will be grounded and thus also the tooltip is always connected to ground. You MUST ground the mill, by the way. Also for your safety.
Leaves us with the 5 enstops for which I have bought the thinnest available inductive sensors. These are M6 size round and about 8 cm long. These sensors require power, ground and since they are NPN type sensors which means Normally OPEN when NOT active, they will ground the output pin when activated at reaching the the stop position. To activate these inductive sensors, a carbon- containing metal would be best to use and bring the sensor close. The trigger moment depends on the connected power voltage. The higher the voltage, the more sensitive the sensor becomes.
I will use 12 Volts or 24 Volts, I will experience a bit with these settings.


On the net I was unable to find any plug and play sensor holders for my mill, so I developed these holders again from scratch in OpenScad.
Fortunately, I have a lot of starting material in OpenScad from my previous projects.
The X axis left:
The X axis right hand side:
The Y axis front:
The Y axis rear:
The Z-axis top:
New stronger version V2 made, also including a top cover 2025,04-24. Will update with pictures after install on the minimill.

MINIMILL_BF16L CNC_Z_adapter belt driven 2025_05_24_V2 Jantec.nl
Please donate $1 to my paypal account if you use (parts of) my developed materials so I can continue to share nice stuff for you to download
:


The mount on the Z-column needed to get UP so the NEMA23 teethed wheel gets at the same level as the wheel that is mounted on the leadscrew.
Required hardware:
OR, use the 72 teethed wheel on the leadscrew and get a larger length belt of (I estimate) 330-350 mm
OR.. another way to mount the Nema23stepper is at the rear of the Z column, BUT I don’t want it to stick out at the rear, that’s why I decided to mount the stepper at the left of the Z-column…

DOWNLOAD THE CNC ADAPTER DESIGNS as STL
Please donate $1 to my paypal account if you use (parts of) my developed materials so I can continue to share nice stuff for you to download

NEW VERSION with debree screen:

For this setup you need

Here the connection is shown onto the X-axis/ leadscrew bearing holder with 2 M6 bolts.
And front lid:


And the Milling design for the base plate for CNC machining in aluminium should you prefer this.

The 3D print file for the debree cover and the stepper motor risers, to be placed on the aluminium milled base plate:

DOWNLOAD THE CNC ADAPTER DESIGNS as STL
Please donate $1 to my paypal account if you use (parts of) my developed materials so I can continue to share nice stuff for you to download
The design for the Y-axis mounting plate for the Nema23 stepper is shown below and can be 3dprinted or, as I will do after the printed part proves to fit well, CNC it in aluminium on my CNC Indymill router.
The Y-axis adapter proved to be the most difficult design. It took me 15 trial prints before I got everyting fully optimized. And I also wanted to have a debree screen with a removable lid, which took some energy to test this. Also, the belt has to have a clean route where it sits between the wheel.
The physical data for this setup:
GOTO the MiniMill’s X-axis CNC Nema23 mounting plate
GOTO the MiniMill’s Z-axis CNC Nema23 mounting plate
FINAL DESIGN:

Machined the inner part out on the lathe so it will slide for about 9mm over the Y axis’ leadscrew bearing holder






DOWNLOAD THE CNC ADAPTER DESIGNS as STL
Please donate $1 to my paypal account if you use (parts of) my developed materials so I can continue to share nice stuff for you to download
My main supplier of parts is Aliexpress, and I also buy a lot from Banggood.
At Aliexpress, I recently discovered a board that will interact with Mach3 and has onboard drivers for larger stepper motors like Nema23.
This board takes 24 Volts, has a USB connection to the PC, an SD card slot and 2 x MPEG/control connectors 15-pin/3-row.
I ordered me 1 of these boards to test it on my CNC mill:
Usb Cnc MDK2 4 Axis TB6560 Stepper motor Controller with Mpg Interface 100Khz Driver Breakout Board
I have this tested with Nema23, 24 Volts and the accompanying firm- and software.
It was quite some puzzling to get the drivers installed and I discovered I had to switch off the Windows 10 security feauture that prevents unsigned drivers to be installed. You can set this off via a procedure which restarts your PC via a series of keyclicks and restart options in the Windows menu. It can all be found on the Internet. After this, the board worked perfect.
I also bought a handwheel set, which has a male 15 pin VGA connector, as does the board. I ended up ordering me a female-to-female 15 pin VGA unit from Ale, will see if this works.
The other 15-pin connector (also male) can be used for simple switches to direct all axes up/down or forward/backwards. I will use this to make auto toggle swtches directly at the machine, next to the Nema steppers. I have some nice jogging handles that will fit perfect for this.
Also, I bought e a 4th axis unit hat will get connected to this boardon the Minimill.




So, after a long search I finally replaced my very old column drill for a small model column mill from Toolmania. I had the last one still available from this series.

It is a model WBM-16LV with an indirect belt-driven spindle with a 750 watt vario motor. Even at low rpm there is still quite a bit of power on the motor.
This model is actually largely a standard model but with a more powerful motor, with a small LCD for the Z-movement of the 50mm Z-handle and with a wider bed.
The working space with this column router is: X:330mm , Y:140mm and Z:180mm
The spindle has MC2 inclusion with a pull/screw of 10mm. With this, at least a cutter, drill or head will never fall out.


In addition to buying tools, I always notice that you need at least the purchase value of your tools in consumables and additional tools. No different for the mini mill. The glass scales, collets, milling cutters, CNC conversion, gas spring, holders for the table, indexer and so on together cost much more than the cost of purchasing the column cutter.
I immediately replaced the standard 1-16mm rack and pinion drill chuck that came with it with a standard 1-13mm manual-open chuck. But really, I only work with the fixed spindle heads, collets, and the fixed sockets for both milling and drilling.
The associated stuff like an ER-25 collet holder with 15 collets, boring cutter MC2 and so on are from HBM.

The table has been adjusted for play on the X and Y axes.
The vertical column has also been adjusted for play, and screwed very tightly again.
Besides the conversion to CNC I have mounted 3 glass scales of respectively 170 (1x) and 370 (2x). Because my old display module didn’t work with the ordered glass channels I ordered and mounted a matching new module, this one works with an LCD.

For converting the column router to CNC, I have already prepared everything and ordered all the stuff I don’t have in stock.
The column router will be used mainly for milling keyways and occasionally some milling work on ball bearing housings and the like.
The column cutter will also be used for drilling and occasionally for aluminum milling, and then a CNC setup is useful. The CNC setup will be identical to my Indymill. It will have Nema23 stepper motors with 1:2 belt drive for X and Y and 1:3 drive for the Z axis. I am going to try to merge the handwheels with the gears and then reuse them so that it remains possible to operate manually. The electronics will again be wifi-based with Duet web-based controller and a cloned motherboard from Mellow (FLY) with 2209 stepper drivers.
The limit switches will be inductive: 2 pieces for X, 2 pieces for Y and 1 for Z-top.
The Z-min (or Zero) will be a probe module for the toolbit, which can be put in a fixed place on the table. It would be nice if the column could be electrically isolated from the spindle so you could really do the zero setting on your workpiece. I’m still going to figure that out.
For the Z axis, I ordered a 600mm long gas spring, with an operating stroke of 250 millimeters so the column can move more easily.
Examples from others for my CNC conversion:









This is my test setup for a 1.4 RAMPS shield on top of an Arduino Mega with TMC2209 drivers, optical endstops and individually homing of dual Yaxes PLUS an LCD that shows the exact XYZ locations anytime.
Firstly, I must admit that this option was initially NOT on my list bacause I felt this was a pure hobby-like option. BUT- as my requirements list grew and other options got less and less, I ordered a Ramps 1.6 shield and plugged one of my Mega2560 boards under it. Then- the search began to get a working fork of GRBL for arduino that both accomodated the Mega 2560 and my requirements list. On this list: GRBL, Squaring my gantry, LCD with useful data, Handwheel connection, Preconfigurable buttons on the handwheel (stop, define as zero, probe here, et cetera). The fork that does this all is: GRBL-Mega-edge. The last comment is of April, 2020 and the fork was updated last in 2019. But- it works straight out of the box and the documentation is very well maintained.
Since it works under the Arduino IDE and has its own library, I foresee little problems in the future. Everything is freely configurable and it might even be possible to put an Arduino Due in place of the Mega2560 in this setup, with some tweaking of pins and speeds. And- tweaking is required for the hardware as well. The Ramps boards were never designed for 24 Volts, so this needs to be taken care of. One might of course use 12 Volts and use external driver modules, but I intend to keep everything very small and make use of an external PSU, and a small handwheel-like box for the Mega2560, Ramps, drivers, LCD, buttons and handwheel knob. By the way: For getting my designs I already had from my 3d printer background towards the CNC I bought Estlcam (CAM program). This really does a great job at converting it to Gcode and sending it to my Grbl- Mega 2560/RAMPS setup.
Afterthoughts 2021-06-22: When connecting Estlcam to the Mega2560 and RAMPS1.6 shield, Estlcam can program the RAMPS / Mega2560 configuration, including dual X and Y axis. This works straight out of the box including endstops. Actually this is easier than first compiling GRBL on RAMPS with Arduino’s compiler. BUT- it seems that autosquaring does either not work or I did not install Estlcam’s options correctly since the endstops on the dual axis appear to function in parallel instead of indicvidually per axle.
24 Volts connecting is not possible on a RAMPS shield just like that. I removed D1 and powered the Mega2560 with a 9 Volts PSU, and the shield seperately with 24 Volts. For the Arduino DUE, dedicated RAMPS boards are already available (Smart ramps that compensates for the 3.3 volts in/out Voltage of the Arduino Due)!.
Another option for Estlcam is to program the Mega2560 without RAMPS shield and connect everything directly to the Mega2560 with jumpers. If this is done, Estlcam will do the bare programming of the Mega and Estlcam can steer almost everything. Since I bought a license for Estlcam I will, at a later stage, try this as well. SEE THIS POST
After configuring the reprap Mellow FLY-CDY-V2 motherboard for CNC including the webinterface and installing Mellow’s TMC2209 driver units I got sensorless homing setup for the Indymill.

It took a lot of time to get it all tuned, as the 3 axes act entirely different due to their different inertia. The weight that is carried is obviously higher for the Y- than for the X axis. And the 4 kilogram weighing spindle engine made it pretty difficult to get the Z axis tuned.
The resulting config file is provided in this post. Use this with caution, since every machine is different, and the used stepper motors, cabling, steppers and PSU all have influence on the CNC’s behaviour and thus on the config settings.
To have the original Mellow FLY TMC2209 drivers work with sensorless homing, set the underneath dip switch to ON

(Diag pin will then be connected). It took me some time to find out that this is different than other TMC2209 drivers, where the Diag pin is activated by jumper settings on the motherboard. No idea what happens when you use non-Fly TMC2209’s on the Fly board, but I expect this will not work for sensorless homing.
What I experience on the Y axis is that if you have real problems with homing or skipping steps, the steel Y carriage plates may bend and cause a non-square Y carriage that will never align any more. I repaired this but preventing is better.

GO TO THE INDYMILL & Reprap Driver POST
Since this setup with sensorless homing never gave me good speed ratings, I disassembled this setup and continued with endstop setup. If you want to know how to setup sensorless homing with reprap, please look at my sensorless homing setup on my dual carriage 3d printer, where this works perfect!
To get the Indymill running, at first I chose to use the Duet2wifi and reprap3 as base.
Since I am very familiar with Reprap and with the Duet, I want to try this anyway.
In the end, if it is all installed I need to have software to design and get a file with Gcode and this will be sent to the Duet2wifi controller via wifi, using the Duet’s webinterface that is been developed for CNC in Beta (DWC for CNC).
I currently use Openscad for designing, export as .STL and then make a .nc file for the CNC machine from this with Estlcam.
In Estlcam you can make the machine-specific settings like where the center is, how to set Z=0 et cetera.
The Duet2wifi is my favourite solution because I can if so desired use sensorless homing on any axis. And- because I need to home 2 independant Y axis and I have a lot of experience in making this work I first went for this solution. For my settings with sensorless homing please see THIS POST
When you get a good enclosure for the Duet2wifi, use 24 Volt PSU and good driver cooling blocks, you can push the Amps to over 2 Amp continuously. Works well with my Nema23 steppers. 2.5 Amps is max but we don’t want that, I found that 1.8 Amps works very well and creates enough torque for the Indymill.
After having the Indymill work with sensorless homing I rebuilt all to be used with endstops instead for better stability and compatibility with my other driver board setups. I do want to use the Indymill with several driver setups, and for this setup to be exchangeable, I need the endstops anyhow.


I am currently using reprap boards from Mellow, since they use the raprap firmware that is ported to the STM core that the Mellow boards use.
On top of this, on the esp you can mount the Duet’s DWC software and thus also the DWC CNC software.
I have this currently running on the Indymill with a FLY-CDY V2 board and TMC2209 drivers.
The nice thing about these Chinese boards is, that you can mount any driver you like, and this means that external drivers is also possible.
So, also the external add-on drivers that do closed loop control can be used. < I was thinking to make this my additional project: Try to do sensorless homing on the Y axes with this, use very low power and switch off the Closed loop during homing.. If I can get this to work, you will read all about it!>
For the Duet, a setup is available on the Duet website to use an original pendant handwheel unit and add an arduino Pro micro to make a serial interface for connecting to the Duet! That is a very welcome addition. See this post!
In the next part of this post my current config file with endstops for Duet/reprap/FLY is shown, as this is operaional for the Indymill.
BE AWARE to use the most current DEVELOPMENT firmware versions for a) the board’s initial firmware, b) the DWC firmware and c) the wifi esp program!
; Configuration file for Board: fly_cdyv2 (STMWiFi)
; Firmware: RepRapFirmware for STM32F4 based Boards 3.3beta1_3 (2021-03-08)
; Duet WiFi Server Version: 1.25-01S-D
; DWC from Sidarius, specificlly redesigned for use with CNC 3-axis
; customized by Jan Griffioen sales@jmwg.nl 2021 04 08
; Made for a CNC Cartesian printer with single X,double Y and single Z steppers and a single spindle with external driver.
; General preferences —————————————————————————————————————-
M453 ; CNC Mode
G90 ; send absolute coordinates
M83 ; and relative extruder moves
M550 PDUET_CNC ; set printer name
M551 Preprap ; Machine password
M552 S1 ; WIFI ON
; Network —————————————————————————————————————————-
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet
M552 P0.0.0.0 ; IP address (0.0.0.0 = use DHCP)
M554 P192.168.178.1 ; Gateway
M553 P255.255.255.0 ; Netmask
M555 P2 ; Set output to look like Marlin
M575 P1 S1 B57600 ; comms settings S1 for Original PanelDue and Fysetc 7 inch TFT =OK
; Drives —————————————————————————————————————————-
M569 P0 S1 D2 ; physical drive 0 goes forwards using default driver timings
M569 P1 S1 D2 ; physical drive 1 goes forwards using default driver timings
M569 P2 S1 D2 ; physical drive 2 goes forwards using default driver timings
M569 P3 S1 D2 ; physical drive 3 goes forwards using default driver timings
M584 X0 Y1:2 Z3 ; set drive mapping
M350 X16 Y16:16 Z16 I1 ; configure microstepping with interpolation
M92 X640 Y640:640 Z1600 ; set steps per mm
M566 X500 Y500 Z300 ; Set maximum instantaneous speed changes (mm/min)
M203 X2700 Y1400 Z1000 ; Set maximum speeds (mm/min)
M201 X300 Y300 Z150 ; Set accelerations (mm/s^2)
M906 X1800 Y1800 Z1800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S100 ; Set idle timeout
; Axis Limits ————————————————————————————————————————-
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X500 Y480 Z100 S0 ; set axis maxima
; Endstops —————————————————————————————————————————-
M574 X1 S1 P”^xmin” ; configure active-high endstop for low end = LEFT on X via pin xmin
M574 Y1 S1 P”^ymin+^ymax” ; configure active-high endstop for low end = REAR on Y1 and Y2 via pin ymin and ymax
M574 Z2 S1 P”^zmax” ; configure active-high endstop for high end = TOP on Z via pin zmax
; Z-Probe ——————————————————————————————————————————
; a probe must be defined here to have a Z=0 DATUM, including the offset (when there is any, If you use the tip of the tool no offset is required. OR, use manual Z-datum setting via a dedicated macro!
; Mesh G29 —————————————————————————————————————-
;M557 X15:215 Y15:195 S20 ; define mesh grid to be called upon by G29 for an authentic Mesh bed levelling IF this is required and possible
; Fans ———————————————————————————————————————————–
M950 F0 C”fan0″ Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0.5 H-1 ; set fan 0 value. Thermostatic control is turned off
; Tool definition section; —————————————————————————————————————-
M950 R0 C”!e2heat” L25000 ; Create spindle index 0, with PWM pin on heater 2 output and 25000 RPM achieved at full PWM. At this port, add a PWM-> Voltage 1-10V converter!
M563 P1 S”Spindle 1″ R0 ; Create tool 1 with spindle 0 and call it “Spindle 1”
; Miscellaneous —————————————————————————————————————————-
M140 H-1 ; Disable heated bed
M564 S1 H1 ; Disable jog commands when not homed
M98 P”customconfig.g” ; Execute custom config settings
; Epilogue ———————————————————————————————————————————
;M556 S78 X0 Y0 Z0 ; Axis compensation here if needed
;m98 P/sys/leds_show.g ; Neopixels show (max number is 60)
;m98 P/sys/leds_off.g ; Neopixels OFF (max number is 60)
T0 : select first Tool
M501 ; execute config_override.g
On the Duet support site a very good description and software for rebuilding a Chinese CNC-pendant for the Duet2wifi is available.
I used this description to program an arduino pro micro, and connect it to the pendant wired, place it inside the pendant and connected the pendant with 4 wires to the Duet. This works very well.
In the process, I developed some schematics that may be useful to you, available in this post:

Needed: an arduino pro micro and a pendant like this:




Just ordered me a new case for the Indymill’s electronics from Thomann.de.

The idea is to get everything mounted in the cases, and use the control case with the lid open. The control case gets connected to the Indymill case with multicables and – connectors. When not used, the cables get disconnected from the Indymill and from the control case and go in the Indymill’s case. The electronics controls will be mounted in the lower part of the control case and the connectors are placed on top of the control panel that gets mounted flush with the top rails of the bottom part of the controller’s flighcase. When closed, everything is neatly stored and can be transported damage-free.
I intend to store the controller case inside the Indymill case, but when moving it around the controller case will be separated from the Indymill case to prevent any possible damage to the mill.



This is only the lower part of the newly built flightcase for the Indymill. It is 15cm high, 75 cm deep and 80 cm wide, all measured on the inside.
The top of the case is 22 cm high on the inside and it will get perspex windows at the front and top. Wheels will get mounted at the rear so the case can be moved standing upright.
The Indymill will be mounted in rubbers underneath and on the sides of the frame. The connectors to the electronics will be mounted in flightcase shells at the front. When all is positioned correctly and connected, the Indymill will be placed in my garage where I will use it in my large(r) shop.
With the 1.5 Kw spindle I intend to mill aluminium and brass, but mainly aluminium.
1st Job will be to machine ‘flat’ the 8mm aluminium plate I have bought some time ago for the heated bed of my Voron 3d printer. The plate is 310x310mm wide and was not entirely flat when I received it, due to the way it was stamped instead of saw’d. Now, I will be able to get it done right. I will use the boring head from my other mill to get this done. My other mill can only work with smaller objects, not anything as large like the Indymill can handle.



The Indymill’s Z-axis uses a lead screw by design , and not a ballscrew as I would like. But- that will be changed later.
For now, the lead screw solution will be OK because I will first build the Indymill machine and use the 500 Watt DC engine I already have for my CNC3018 setup.
The leadscrew of the Indymill is an 8mm leadscrew with a brass nut mounted in a 3d printed part that is mounted on the vertical rear of the Z-plate.
And- the drive stepper motor is mounted hanging on a horizontal plate on top of the Z-plate.

The required motion is exchanged to the leadscrew with a pair of 8x10x22 treehed wheels that are coupled with a GT2-10 mm wide 200 mm long belt.
The change I made to the original setup is to use an original 8mm lead screw bearing on top, under the horizontal plate.

I did not particularly like the original setup with an 8mm bearing in a 3d printed holder, and an 8 mm lockup ring under and above this bearing.




I had to machine the pro-bearing to fit the Indymill’s mounting holes and get the threaded drive screw nicely centered.

2021-05-22

Under construction-still trying to find out how to do this.
I intend to use the same method as with the Y-axes so drop the 3d printed parts as much as possible and re-use the available bearing blocks and nut holder.
For the red nut holder I only need to make a flat extension plate to connect the nut holder to the Z-plate.
For the end bearing block BF12 to the right, this is no problem. I can mount it easily on the sideplate’s outside.
The push/pull bearing block BK12 is more difficult to re-use, I will try and find a small enough connection block that is 3d printable to shape the BK12 in, and still fits in between the 2 horizontal aluminium profiles that shape the X-axis. It will be very tight so I might have to make something myself, possibly I will just mount the BK12 on a in-between piece of 2040 and first I can mill a hole in the center of the 2040 piece so the end of the 1605 ball bearing screw can gain access to the BK12… Or something like this, will try and report how it goes later!
2021-5-24: Found a possible solution with an adaption of the same Nema23 to BK12 housing as is used for the Y axis. I am printing this fast with PLA on the Ender pro, will cut off some flesh of the NEMA23 top and bottom flange and will then fit this between the 2 lengths of 2040 extrusions and see how it works! The screw holes will have to be saved, but 4cm in the center will be removed, some 4 mm wide om both top and bottom.

Today I made the last solution fit the X axis and got all related components to fit the X-axis. During this I found that the left bottom ball bearing slider cannot move along the BK12 block.. So, I machined some material from this block’s side bottom. That doesn’t hurt but it does impact my planning a bit. And- during the process I destroyed a piece of the PETG BK12 holder that connects the BK12 bearing block to the stepper motor and the in-between side plate. I already directly printed a new ABS part to replace the PETG and wished I had started with ABS like I dit with the Y-axes. But- look at the bright side: Now all 3d printed parts will be ABS red: like the steel plates!
You must know that I elaborated quite a lot on how to print the Neam to BK12 couplers and fount that it is not good to print these withh the face to the Nema23 motor DOWN. Instead- I printed them flat, with the side that faces the stepper motor to any side but down or up. This gives great strength to the 2 pieces that carry the mounting holes for the BK12 bearing so they won’t break during use.
And I found that ABS in my case (both ABS red and PETG vblack are Sunlu products) works better for this build because the PEG breaks under strain and ABS flexes a little but does nor break..
In this post, you can see how I changed the original Indymill to more rigidity by using the original 1605 aluminium nut holders for the 1605 ball bearing screws of the Y axis, and how I made use of the BK12 and BF12 ball bearing blocks instead of the 3d printed parts like in the original build.





When building the frame, make sure that you do not initially screw anything tight. Follow the steps that apply to any build:
Things to bear in mind: You don’t want anything out of parallel like a linear rail that is uneven to the aluminium profile on which it is mounted or a ball bearing screw that gets under tension. There is also another way to see what is happening while you are tweaking the hardware/frame: take the front bearing off and see what happens to the end of your ball bearing screw in the hole up front when you move the carriage. It can tell you much about what is happening… It should always stay perfectly centered but I’ve seen it up, down and all other directions.. -)






And- I must say, this build goes quite well. The materials are OK, and the guideline from the build description was very good. Although I never use it anymore. The build is quite self-explanatory once you start building the Indymill CNC machine. I also cahnged quite some parts, and made alterations where I felt this would improve the machine to fit my purpose better.




The required iron plates were not available in ready- to use state at the time I needed this, fortunately I could buy the plates as a kit with all of the drilled holes already in it, non-painted. And- all of the thread tapping still needed to be done. Since I am also making changes to the design of the millling machine, some holes will be altered and this is best done when the plates are not yet painted.

The raw streel for the Indymill. I put small colored circles where the thread needs to be tapped.

I am in the process of developing a router for my plasma cutter, since the cutter works very good but it will be way more effective once I can machine my designs with a router for this cutter.

My design differs from others because i will use only existing affordable parts that require no additional machining.
Firstly, you would need a cutting table with a maze where you can put your steel on, when cutting. This maze will be enclosed with a steel box so no cutting debree will be thrown around. Around the box a set of aluminium or steel profiles will be mounted on which the wheels for the X or Y axis will be built. From here on, a normal router setup can be made.
The plasma head will need to be adjustable in height but does not neccessarily need to be CNC movable. Just a manual knob to move it up and down a little will do.
So, only 2 axis are to be made with CNC.
For the Y axis I will use a complete accessory from AliExpress with ball bearing 1604 and an effective way of 600mm, including a Nema23 stepper motor.


The plasma cutter ‘head’ will get a fixed (but a bit vertical movable) mount on the mounting plate of the Y-axis.


The electronics will be added at the front of the Y-axis in a 3d-printable box. (or you can buy a ready-made box HERE).
Electronics will be an Arduino UNO with standard GRBL shield, or THIS as a better all-in one solution, including local router managing. At the beginning and end of each axis, a limit switch will be mounted. Switches, cabling and mounts are available on Aliexpress HERE and HERE.

Firmware for the Arduino comes from the widely available GitHub and the GRBL community. GRBL software is available for Windows PC and MAC as well. Designing can be done in any way, and the most simple way will be the online Cad solutions like Tinkercad .
The power supply for the Plasmarouter will be a 24 Vols 8 Amps portable power supply like THIS one.
In my search for the best affordable CNC motherboard for my new to build Indymill CNC machine I finally chose the GT2560 from Geeetech as best compromise. At least for now, and maybe later I may change to an RRF3 board with a good remote CNC interface like the Mellow Fly-CDY-V2.

The board has a budget price and utilizes an atmega chip with great performance.
The board does not come with the CNC GRBL firmware installed, you can get the required arduino library HERE for the Arduino Mega with the add-on RAMPS 1.6 board and HERE for the GT2560 integrated board!
The nice thing about this board is that it can be flashed with the arduino IDE, and I like the board especially because I can plug in the NEMA23 closed loop stepper motor cables directly in the driver connectors of the GT2560 board. By doing so, I don’t need the lumpy seperate 6600 driver units and I never miss a step. These closed loop drivers get attached to the rear of the Nema23 stepper motors and use the 24 Volts from the wiring to the GT2560 driver socket. The max Amps is 4 Amps per unit and this is enough to have good CNC results. I also added the tiny LCD’s into the closed loop units, this makes it possible to perform local management like the initially required one-time calibration of each stepper without the need for a PC. And= the display also shows the status of the stepper motor (errors, missed/corrected steps etc).

The required Gcode can easily be made with Esticam. I first make my design in Openscad, export the design as .STL file in the highest resolution ($Fn at 128 or higher) and import the STL file in Esticam. Then I use Esticam to send the Gcode via a USB cable in the GBRL format to the GT2560 board. BUT- it is also possible to save the CNC file output from Esticam and put it on an SD card. The LCD unit that is attached to the GT2560 accepts SD cards (formatted as FAT 32) so you can work independantly of a PC.
Or- you can connect your Mega2560 to a Raspberry PI and use the Raspberry PI as webinterface , to control your CNC machine via wifi from your PC or phone/tablet.
Please read on about how I use this setup for my IndyMill CNC machine!
Since Corona was still around (May, 2021) , I had some time available to spend on other things than just work.
I already had an upgraded 3018 CNC-machine with a 0.5 kW spindle motor,
and a simple GRBL 3- axis board that works very well. But- it would be nice to make a CNC machine that can really work with aluminium and possibly also with copper and brass. I have already done some research in the past about what sort of CNC machine would be right for my goals. And the IndyMill CNC macine was already on my mind for over half a year. So-last week I ordered the manual and the steel plates
for the build and ordered some other parts from Ali. I also have quite a lot of parts on stock, from my 3d printer supplies. The Nema23- motors and the extrusion, motherboard, drivers, power supply, switches and probes are already available.

The required printed parts are being printed right now (early May-2021). I am printing all the upgraded STL’s, latest version as these are freely available on Thingiverse (just search for IndyMill) . And then you see the power of sharing: the design was already great, and with the upgrades it got even better. The upgraded versions of the mounts for the linear bearings are really a lot sturdier than the original design and the new endstop holders are very handy to have.
I roughly calculated the costs for building this machine and it was a lot cheaper than buying a similar CNC machine of this size. If you purchase wisely, the costs for all materials can be just under Euro 1000, if you follow the original BOM and including the 1.5 KW air-cooled spindle motor with regulator…
If you want to install another board than the standard Arduino UNO with the standard Arduino CNC shield, this can set you back an additional amount of 120 to 500 Euro’s. I use a FLY_CDY_V2 with Mellow’s original TMC2209 stepper drivers. DO NOT FORGET to set the switches on the underside of these steppers to ON if you want to use sensorless homing!
My add-ons to the original build:


, and a better top bearing
.



I started with a FLY_CDY-V2 reprap board to experiment with reprap CNC and the webinterface that has been developed for this setup.
This is achieved with smart dual homing of the dual Y axes, and gives me a lot more control on the machine. It is also already possible to just send GRBL-based Gcode to the USB port of the machine and use the reprap FLY board simply as gcode-interpreter to steer the machine. But for now I use the webinterface
to upload and run any gcode.nc CNC file, which works perfect!
Picture of the CNC-adapted and already available webinterface for reprap, especially tailored for CNC (by Sindarius, work ongoing):
Pictures are already published about this build!

My Chinese lasercutter which I bought back in 2014 has been upgraded over the years. As many others do, I got the cooling system for the laser tube inside the casing, added some LED lights inside and also added an air pump for the laser head.
All in all the machine works fine now but the relatively small working area remains the bottleneck for using this machine for real interesting projects.
Mid-2020 I used the laser cutter for a couple of projects where I needed series of cut acrylic. The machine handled this flawlessly, but I did put it outside to prevent any smoke from entering our home.
I do have some ideas about upgrading the machine with a larger workspace and put the electronics and water cooling system in a seperate housing. No materials are needed for this, except 3 linear rails and some aluminium profiles. But- (status May-2021) I will start this project only if there is some work to be done with the machine since it is already working fine as it is, although the workspace is limited.
I use Inkscape (freeware) for making designs in SVG and import these .SVG files in K40whisperer (also freeware) which then can send the required Gcode to the K40 lasercutter. This all works very well and fast, you don’t need a fast computer for this. I use a 10 year old dedicated HP laptop for this.
In future use I want to make this lasercutter use the same board as I am using with my big LED laser cutter, so I can use GRBL on both.
As you probably know, a K40 or any other CO2 lasercutter can cut a specific kind of materials while a common LED lasercutter can cut other kind of materials better, due to the used kind of light on both which differ in wavelenghts.
The CO2 cutter can cut acrylic easily and the LED laser cutter can’t.
The LED cutter requires some sort of substance in the to be cut material to work properly.
Be aware that the security goggles you need also are specific for either macine.







