Minimill CNC conversion WMD16LV Y-axis 3d printed adapter for NEMA23 and M3 teethed belt

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:

  • Nema23 stepper motor
  • 3d printed parts: a: Baseplate inclusing risers for motormount and shield; b: lid
  • Teethed wheel for the Nema23 8mm axle: 10mm wide, 24 teeth M3 with chest
  • Teethed wheel for the leadscrew 10mm axle: 10mm wide: 48 teeth M3 with chest, machined on the teethed inside 9mm depth with a  width of 33 mm diameter to fit the chest of the leadscrew bearing holder
  • The fitting belt is 9mm wide, 300 mm long and has 100 teeth (M3)

GOTO the MiniMill’s X-axis CNC Nema23 mounting plate

GOTO the MiniMill’s Z-axis CNC Nema23 mounting plate


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

And now the wheel can move over the bearing holder to the right
This saves 9mm mounting space and now the machined handwheel can be replaced, if so desired.  But the handwheel needs to be machined first, to get the dial off.

the small holes can be used to place the lid on the debree screen with small 2.5 mm dia screws  Or, you van leave the lid off and put a wheel on as I have done on the Z-axis.  You must machine the dial off the wheel so it gets thin enough to mount on the remaining M8 leadscrew-end.  A little part of the 10mm shaft will stick out  with my method to keep the handwheel centered.

GOTO the X axis adapter

GOTO the Z axis adapter


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

3d Printers – overview

At the moment (2022-01) I have the following 3d printers up and running:

  1. Voron DIY 2.4 300x300x300 extremely fast ABS/ASA printer
  2. Twotrees Sapphire Pro ‘enclosed’ very fast ABS/ASA printer
  3. Prusa mini very good for PETG primarily
  4. I3 Prusa Bear DIY Fly-CDY-V2 with dual Z axes, 0.6mm nozzle for PLA/ PETG
  5. I3 Prusa Bear ‘plus’ DIY with dual magnetic carriages and sensorless Xhoming
  6. A30M Duet2wifi Geetech dual extruder switchable mono or dual head
  7. Delta G2S Duet2wifi Geetech single head speedprinter 0.8 mm nozzle
  8. Kingroon KP3 mini with full extension package (rails, extruder, firmware..)
  9. Flashforge adventurer 3 all-original almost never used
  10. Ender3pro with TT mini e3 V2.1 , workhorse with 0.6 mm nozzle for PETG
  11. Prusa mini clone (but I can’t tell the difference..) for PETG primarily
  12. E3D Toolchanger met 4xHemera DD’s
  13. Mini Monoprice Delta printer
Prusa mini clone

Triple mixing hotend for A30M

Next to the penta non-mixing hotend, I recently bought this mixing triple hotend, to experiment with it on the A30M.  It is not the same as the Geeetech original triple mixing hotend, however it does have some resemblance.

Obviously, this hotend requires 3 extruders via bowden tubes.  The extruders I have are all Chinese clones of the 1:3 geared bondtech extruders.

The 3 extruders will be placed on the top horizontal aluminium frame, right where they are originally placed.  In fact, I am rebuilding the machine like the A30M from Geeetech that has a mixing triple hotend.  But- mine will have the Duet2wifi motherboard instead.

Soon as I install this, I will upload pictures and the config files (and all tool files like tfree, etcetera for the three tools as well).


Hanging 3d printer

My last 3d printer I built just produced too much noise, mainly from changing the tools during multi-filament prints

Finally, I made a construction where the printer hangs in big elastic suspenders.  This took away any noise that was previously transferred to the wall, so no more problems with noises throughout the house.  Pfff…

My mini shop

One of the 2nd floor bedrooms was converted into my 3.5×2  meters mini in-house workshop… The garage is used for my larger machines like the lathes, milling- and welding machines, laser cutter et cetera…

FLY 407 Motherboard RRF3+ wifi + BTT 2.4 inch TFT + multi-extruder


I got the Mellow Fly 407 board in today, and it now works awesome!

I hooked the Mellow dedicated wifi unit to EXP 1 and EXP2 and to the serial TFT connection, programmed the microSDcard offline on the PC with the files from the proposed Github site and it all went great!  (The little added user manual is very good, just follow the directions and it can’t go wrong!)

Burnt the board’s firmware first, then the firmware of the wifi esp module and after setting up the wifi with YAT via USB, I programmed the wifi settings.  Then, with the Duet’s WDC PC-remote console via wifi, I uploaded the FLY 407 motherboard with all the latest available firmware: RRF3.4 beta and the latest wifi- and DWC versions.

Then, I removed the serial connection between the TFT connection on the motherboard and the wifi module and plugged in the BTT 2.4 inch TFT at the same serial port.  Since there is only 1 tft port available, I use the same serial port as I used for programming the esp wifi module.  I already put the RRF3 firmware on the TFT unit.

Well, the results are awesome! On the TFT after connecting you see the extruder step from 0 to 1-2-3-4 and back to 0 so this all works very nice!

I must be honest here: I also tried the Mellow 7 inch screen but this is not yet really working as well to me as the little BTT screen IMHO.  The Fly screen is a lot bigger, though, and the Fly 7 inch TFT has great potential.  I know that it will also take some getting used to the FLY’s TFT screen layouts.  The access to the macro and gcode directory is nice, but since everything is placed differently than the PanelDue screens, it might just take some time to appreciate it more.

Geetech A30M first use

In mid-June 2020, I started using the Geeetech A30M desktop 3d printer.
The printer can print 2 colors mixed with 2 filament geared drive units on top of the frame and a fan for each feed to the combined hotend.

A few adjustments are needed on this printer if you really want to work well with it.
First of all, I had a lot of trouble with the standard noise from the 24 Volts fan under the bottom plate, which is supposed to provide cooling for the motherboard. This fan is always running at full power.
I put a controller in between with controls on the left side, through a drilled hole. I secured the controller with 2 tie-wraps through the cooling slots on the left side. The dial just comes through the case and you can hardly see it. Most motherboards I use don’t need a fan for cooling because they are placed freely in the open frame but the A30M has a closed case so a little air circulation is necessary. Plan is to add a thermostat control so the knob is no longer needed. Later. The controller is set to the position that there is a lot of air movement but without the whirring of the fan.

Second modification is the addition of a Geeetech 3d touch on the hotend. The bracket was included with the printer, suitable for both a thick inductive sensor and the 3d touch sensor. What’s nice is that the software (or firmware, if you will) as suitable from the factory for autoleveling. Do pay attention to the correct placement of the connectors, from the front view the brown and black wires should be mounted to the right.

The disadvantage is that the firmware from factory does not really work well with auto leveling. In the middle of the hotbed everything goes fine but with larger prints I noticed that the first layer was printed very differently, so everything kept coming loose. So now I work with manual leveling while automatic leveling is possible.

The hotbed is nice and big with a workable size of 320x320mm. The print height is 420mm.

The price was over 400 Euro, and the delivery was from Germany.

I recommend everyone to secure ALL and especially to include the block hook. My one was really not assembled properly. All threads were OK but all bolts were either too tight or not tight at all. I only found this out during the first test print. I stopped and checked everything. Pay special attention to the rollers of the hotbed. It is difficult to reach them but in my case the adjustment wheels were not set at all and did not rotate. The disadvantage of such a desktop printer is that you hardly have any space under the hotbed.
The vertical V-profiles were not mounted perpendicular to the upper profile. That is difficult to repair because everything is drilled through and bolted. I recommend installing corner stiffeners at the back in the top 2 corners. I have them on order and then they can go right on.

And… what some large printers have and the A30M does not: Additional stabilization rods to the front (or to the back, that is also possible) so that the vertical profiles cannot move. Now when you apply a little force there is about 2mm of play on it, despite the solid mounting to the desktop housing.

Voron 2.4 Core XY build

My experiences with CoreXY printers are excellent, so I chose a VORON for my home-built COREXY printer with a print size of 300x300x300 mm.

Developed from a large community, the VORON is one of the best and most reliable 3D printers.  And this printer just looks really good!

Via AliExpress, Banggood, Reichelt, and I ordered all the stuff, according to the bill of materials I could download from the VORON site.

I printed the PETG parts on the Prusa mini at 0.15 fine.

The ABS parts (red and black) were printed on the Twotrees Sapphire plus.  It took a lot of ‘tweeking’ before the ABS came out well but in the end I got a nice result!

Printed parts for the Voron 2.4 300In the end, rebuilding is not really self-building and it is more based on ordering and assembling than getting to work with the saw and drill yourself.  Also the necessary 8(!) linear rails of 350mm, bearings, gears, belts, motors, electronics and so on have been ordered and the rest of the necessary stuff has been printed (25-8-2020).

For the control part I have chosen one PI Raspberry PI 4B 4GB and two pieces of SKR 1.4 turbo motherboards, according to the VORON recommendation.

Building the Voron 2.4 with the afterburner Beta1 hotend combination is illustrated by the following pictures.

Gantry ready:

Gantry of my Voron 2.4 300Housing and skirts underside with Z-motors yet without the gantry mounted:

Frame of my Voron 2.4 300
Electronics positioning underneath my Voron 2.4 300

Below: The 9 mm drive belts of the 4 Z-axes placed:

Halfway the building phase of my Voron 2.4 300

And the assembled base plate with the rails and controls, power supplies and so on (printer turned over):

Cabling and electronics of my Voron 2.4 3000: 2xSKR1.4 turbo with Klipper, Raspberry PI and Octoprint with Klipper

We are still waiting for the bearings for the Alpha and Beta drives in the gantry.  These bearings are used to make a tension roller per 2 pieces.  I had originally bought idler bearings for this purpose, but the diameter of the collar of these bearings is just too large.

Too bad but then I have to work on the Raspberry PI4B in combination with 2 times SKR V1.4 turbo motherboards.  The PI will make a new config.bin via Klipper for the SKR V1.4 motherboards so the PI can drive both SKR boards at the same time.  On the main board will be Alpha and Beta and the extruder plus the extruder heater, on the other (Z) board the 4 Z-motors and bed heater.  By itself a Duet with expansion board could have been an option too, but the Voron designers made it with the PI, Klipper and 2 SKR boards.  And I try to stay as close to the design as possible . -)

Below: Threading the straps, no picture used.  Just start somewhere and you’ll end up right.  Oh yes, also changed the sensor in the config from NC to NO..

Below: In addition to the 24Volt 200 Watt hotbed nevertheless also added the 500 Watt 230V.  With only the 24V version it took more than 20 minutes to get to 110 degrees Celsius…


And new— no PID run done yet..)

Below: The steel plate is placed on the sticky magnet sheet.

Below: First print….  I had to search for the Z offset adjustment and the extruder turned the wrong way around.  Also the gantry leveling took some thought, you actually have to make the basic setting with a ruler, otherwise the leveling takes a long time.  Nice is that a bed mesh leveling is not necessary anymore, but of course it can be done.  You turn a home and because the nozzle always calibrates the Z on the mechanical Z endstop, and the gantry does all the leveling, you always have a good first layer.  Unless the bed warps but with such a thick plate that seems almost impossible. Just to be sure, I did include a bed_mesh profile in the config.g.  By the way I just used a 24 V aluminum hotbed as a base because my 8 mm 310×310 plate turned out to be a cut plate instead of sawn.   And a cut sheet turns out to be non-flat on the cut sides by default, unfortunately.  Flattening costs more than a new plate, maybe that will come sometime….

And with enclosure, camera and the TOP LED’s:


In practice, I fixed a few more minor flaws, including:

Extruder tuning.  The donor extruder turned out not to pick up the filament properly.
First I tried to put a ring in between the left side of the shaft, but then the nylon gear on the right side of the shaft gets tight and the housing can’t be closed completely anymore….
I ended up using a spare set of dual drive extruder gears and swapping the set of gears.  With that, the filament was properly aligned with the running path of the gears.  See the picture how it was at first:

Misaligned filament path in Afterburner extruder

Hotend tuning
After the PID runs of hotend and heated bed, my chosen assembly of the custom ED6 heater block, the heatbreak pipe and the cooling element turned out not to fit together properly.  The result was that when the filament was extracted, a thick piece was always stuck at the end.  This was caused by the heatbreak pipe not fitting tightly on the nozzle.  There should be no play between them.  I completely demounted the filament and screwed the heatbreak pipe 2 turns less into the cooling element with red threadlocker.  Let it harden for a day and then I assembled the rest.  By the way, I also mounted the teflon version of the heatbreak pipe in stead of the titanium version.  The tintanium version was to my experience a bit too stiff.  Or my filament was too old or inferior.  In any case, after the modification, everything works without problems.

Hotbed, TPU and ABS
To print TPU and ABS without brim or skirt without warping I bought a magnetic PEI steel plate with coarse profile.  It really works perfectly. Both ABS at 110 degrees sticks nicely and TPU at room temperature sticks nicely too.  And the removal is also without problems.  Occasionally I spray a little hairspray on the plate but I don’t think that lacquer is really necessary at all.  It is meant to make the removal easier.

Tension of the belts
I tried getting the belts at the same tension, this was not that easy.  Finally I ended up with a mechanical way of measuring tension after putting 1 at my desired tension and comparing this as reference with the other to be compared belts.  So, for the Alpha and Beta belts I first did a ‘good feeling’ setting and then I used my old trunk scale weight device to measure the tension when pulling the belt A. Then, I used the device to measure at the same place for B. And I repeated this for the 4 vertical belts.

Aligning the machine is also a bit of a challenge…
You must assume that your frame is square and straight.  You have to check this thoroughly.  Both vertically, horizontally and diagonally.  Then you can adjust the gantry. Loosen and remove the A and B belts.  Or do the alignment BEFORE placing the belts.
Fix the horizontal position of the Gantry otherwise you can’t align at all. Place 4 equal distance blocks of about 10-15 cm under the sliders of the vertical linear rails on the lower 2020 profiles, in the 4 corners through which the gantry rests stably. I have placed position holders under all MGN9 vertical linear rails afterwards so that the rails cannot slide in the 20×20 V profile.  If you use ‘regular’ 20×20 extrusion profile you don’t have a problem because there is enough ‘meat’ left for attaching your rail to the profile.  With V-profile, the groove is a bit wider and it is very difficult to mount the rails neatly without tools in the groove.  My frame is of V-rail profile and the gantry of plain 2020 profile.
The alignment of the gantry I started at the back.  Loosening all screws a bit, including the screws of the convex connectors that hold the gantry to the linear rails.  By the way, I see some builders placing these screws with multiple spring washers.  I’m going to do that too…
At the rear of the gantry, push the gantry completely against the rear.  There should be no gap between the XY joints and the frame.  PS: Leave the endstops off for a while at this action!
While the gantry is sitting against the back, tighten the XY joints and the sliders of the X-axle as well. (the side of the endstops holder is temporarily secured with 2 screws)
Tighten the rear 2 gantry joints (with the convex surfaces) as well.  This fixes the rear position at right angles.
Carefully slide the gantry forward. This should be possible without any effort.  If not, check whether there is enough play (and if necessary loosen the screws) on the gantry joints at the front (with the convex surfaces).  If you still don’t have a free run to the front, your frame is not good or your vertical rails are not seated properly.  First check the correct positioning of your rails with your position tool (from the printed stock) and to be sure also unscrew the 4 screws on both front vertical rails.  Try again if the sliding of the gantry goes smoothly.  Still no good?  Then reverse the procedure and start at the front.  Try to set the gantry exactly level with the frame.
After adjusting: Test the alignment also halfway (vertically) and at the top!

Wobbling in cheap linear bearing screws

As I experienced, from my 10+ 3d printers only the Prusa mini and the I3 Bear deliver adequate print quality.  Even the Voron 2.4 CoreXY has problems if you look carefully at the printed results.  Though all prerequisites were made to build a good printer, it was never really matching real good quality.  So- in my search for the root cause of this somewhat disappointing discovery, I stumbled on some interesting stuff: The HevORT Advanced DIY 3D Printer project.

I found this website as a link from one of my fact finding searches for the cause of wobble in my linear rails that I am using for my Indymill CNC.

Obviously, the cheaper rolled linear screws with ball bearing nuts are not as good as the ones that are first cut on a lathe and are then grinded on a special machine.  The better linear screws with ball bearings are specified into 10 categories from 1 to 10 where no.1 is most expensive and no.10 the least expensive. Quality is better with higher price.  Prices are over 500 Dollars US for the better ones, but can mount up even higher.

If you look at the category of the rolled ball bearing screws, these take a lot of strain in the material due to the manufacturing process. The strain causes an unequal surface and therefore this can cause lateral wobble.  When using these cheap linear ball bearing screws for 3d printers as Z-drives, the lateral problem can be solved by adding shifting plates as horizontal shift compensator.

On the net, a solution is given by using a couple of bearing balls (3) between magnets that are used as rolling plates on top and bottom.  The shifting plate holders on top and bottom stay aligned with each other by mounting 2 magnets that attract each other on 2 sides of these plates.  Please see the cutouts I took from the movie that is provided in the above mentioned link:

This can be implemented in the HevOrt BUT I feel that my Voron2.4 could really benefit also from this solution. Although the Voron is depending on the vertical linear rails for sliding up and down and a belt mechanism is making the motion happen, the mechanism that compensates for any wobble or different sizing of the frame is only a friction plate of (in my case) 2 PETG surfaces that slides on each other, 1 per vertical axle.

So, I will see what I can find or make to get the above anti-lateral wobble solution built and implemented in the Voron 2.4 asap and see what the result will be!


MMU2S on Ender3pro with TT SKR E3 mini motherboard

In 2020 I upgraded my Ender 3 with synchronised Z-axes and a new motherboard, the SKR Mini E3 V2.1.

The Ender 3 is very reliable and has been equipped with a direct drive bondtech extruder but still has the original hotend.

I chose the Ender3 to be the 3d printer on which I will attach the MMU2S.  This also means that I will have to exchange the hotend/extruder combination with a Prusa Mk3S version.

Started this on May 4th, 2021.  Only the printed parts were needed, all other parts were already available through sourcing form a.o. Ali.  I printed everything in ABS, mostly red.  For this I used 2 machines: The Twotrees Sapphire pro with enclosure for black ABS and the Voron 2.3 (300) for red ABS.

The motherboard that is also in the Ender3, SKR mini E3 V2.1.  I used this setup to test the MMU hard- and software together with the SKR mini E3 motherboard
The MMU2S on top of the Ender3, just next to the 6mm belt that connects both Z-leadscrews
The bondtech Prusa MK3S hotend/extruder combination, mounted on a 2020 mounting plate for the Ender3

There is a firmware version for the SKR mini E3 V2.1 on Github that makes use of the MMU2S.  I downloaded this version and uploaded it to the board via visual studio code maker, all works well in the test setup. Some tweaking was needed in configuration.h and in the advance config, since I am using the S-version of the MMU2 and the filament sensor was not standard ON. And- it appears that the communication port needs to change to the 2nd port. You can see it all at the Reddit page, the additional changes to the published config files are these (thnx to fixel112):

Excerpt from Configuration.h:

#define SERIAL_PORT -1

#define SERIAL_PORT_2 2 <————— This has been the issue. Uncomment that line.

#define BAUDRATE 250000

Excerpt: Configuration_adv.h


// Serial port used for communication with MMU2.

// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)

// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)

//#define MMU2_SERIAL_PORT 2

#define MMU2_SERIAL MSerial2

//#define MMU2_RST_PIN 23

// Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)

//#define MMU2_MODE_12V

// G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout


#define MMU2_DEBUG // Write debug info to serial output

#endif // PRUSA_MMU2

Next is to put everything physically on the Ender, and exchange the hotend/extruder.  Then, the settings for the extrusion lengths will have to be determined.  And- the buffer for the filament between the MMU2S and the filament spools has to be installed. As soon as I have it all properly installed, more pictures will follow!

I discovered that the dual display I now use for the Ender3 will only work for Marlin LCD and no longer for TFT, since the serial TFT pins will be used to drive the MMU2S unit.  I exchanged the TFT/LCD unit with the original Ender3 LCD, I kept this in storage and tested it today with the Ender mini E3 V2.1 , it works very well!

The twotrees SKR Mini E3 V2.1 motherboard is really perfect for the combination with the MMU2S and the new  filament sensor in the new hotend/extruder. The firmware has been updated to include the MMU2S and the AUX’s serial that was previously used for the TFT screen is now in use by the MMU!  It all works!!!

Now the next thing was to get the new extruder, F.I.N.D.A. and the filament sensr to work properly.

That took some time and next on the agenda is the filament management.

I already decided to go with the original Prusa filament box with plates to hold the retracted filament for all 5 spools. The spools themselves will hang at the wall, behind the printer.  I don’t have space for standing spoolholders.  Underneath the spools the filament box with plates gets its place on the wall and from there the 5 PTFE tubes will run to the MMU!

error: Content is protected !!