Caseyz's MPCNC build

My parts should arrive today and I am down to the last bit of printing so I hope to begin assembly in the next day or so. I am planning on XY dimensions of 36" x 24", but haven’t decided on Z yet. I will mostly be milling wood and a bit of aluminum for jigs, etc. I do plan on printing and would like to be able to print up to 10" tall. I have read that the recommended height of the Z axis is 150mm. Given what I plan to mill could anyone comment on the pros / cons of going a bit higher with the Z axis?



I read in another post by Ryan that he drills holes in the table under the legs so the conduit can slide into the table. This way you can shorten the legs, but if you need the height, it can be extended.


That’s a nice looking printer what is it?

If you bought my hardware kit you should print the taller z motor mount. linked here

As for height, Yes you should do the legs through the table, a 10" z will probably make cutting aluminum unbearably slow. If you try it make a box so you can mount your wood and material as close to the gantry as possible.

Thanks, it is a Prusa i3 kit from I figured out I needed the other Z mount, it is printing now. Is the issue with the height deflection of the spindle when working with dense / hard material? Just curious. Can anyone post a picture of a through the table leg setup?

Many thanks.

You have a real prusa!? That is awesome. I need to sell one of my knock offs and buy his, I really like his design and all he has contributed to 3D printing.

The longer the z-axis hangs the longer the moment arm. Is decreases rigidity linearly, twice the length half the rigidity.

I have not made the through table legs yet, I found that I never print anything taller than about 3.5" so I built a 4.5" Z and one with 4" Z. Build to what you need. Try the legs through the table it should work out really well. 4 screws to adjust the height, Bet you won’t use 10" very often but if you need it it will be there.

I have only had it about 6 weeks and it is a good design. There are a few things to be improved upon and I have designed and printed a few things to improve it. The real drawback of the design IMHO is the bed moving in the Y axis. There is always a little resonance with the bed movement and it effects the print quality at times. I am really interested to see how the MPCNC compares. I think it should yield more accurate prints if dialed in correctly. We shall see!

Jeez, no pressure. Just getting compared with the print quality of the worlds most popular an most imitated design!!! Fingers crossed.

I am messing with a printer of my own design. I am tired of these high price normal quality, and low cost crap quality printers. Hopefully I can make a cool MPCNC project out of it. Milling and printing parts, the fancy ones can laser etch or cut some vinyl graphics… could be fun. I am sure it will pull heavily from The Prusa!

Continuing to make progress, have one axis moving and continue to wire the others. I am confused regarding how to attach the LCD. According to this diagram it attaches on the headers at the end of the board. What I can’t figure is which pins. The LCD has 2x5 connectors and the board has a single row of pins. Could someone point me to a diagram or a picture it might help.

BTW, after assembling and disassembling the Z axis several times I have come to the conclusion that it’s designer is an evil genius! I have no idea how he visualized that assembly. it makes perfect sense when you get it together, but as a collection of parts it is mind bending!


There should be a small adapter board that goes from 2x5 to the single row and the corner pins.

Thanks, got it. Next question, I am adding the endstops and I can see the status when issuing the M119 command and they are reporting OPEN when open and TRIGGERED when triggered. However, they don’t stop movement on the axis. Here is the configure.h I am using. Is there a setting somewhere else I need to set? I googled and it looks like my setup is correct.

EDIT: After some messing around I found that they do work when I issue an auto home from the LCD, but not when I am using Reperier as the controller.

// coarse Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

// fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined

// Mechanical endstop with COM to ground and NC to Signal uses “false” here (most common setup).
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.

Why aren’t you using my firmware? It is pre-configured for all this.
If you hit home in repetier it does not stop at the endstop?

The mega board from the kit was toast so I ordered a new one and loaded the marlin software from github and then made the edits you suggest on your software page. Where is your version of the firmware? I will use it instead.

I test every single board on my cnc before they ship, was it something you did, or do you think it arrived dead?

here is the firmware,

Thanks, I will load that. I know you test them, this one was just dead. Took it out of the bag and plugged it in via USB to my computer and it was a brick, nothing else connected to it so don’t see what could have gone wrong. It’s not a big deal, I got the new one working with the Ramps board just fine.

Weird, that is what I used. I loaded the Full Graphic LCD file and made the configure.h edits.

You should not have had to edit anything, it should be pre-configured. That is what I flash all the boards with.

What did you change?

Ok, now I see my issue. I thought that was a library and I included the BG16 folder as a library for the git hub marlin firmware. I used your firmware B16_32_fullG-112515 and attempted to compile it and I get the following error:

In file included from sketch/dogm_lcd_implementation.h:39:0,
from sketch/ultralcd.cpp:39:
sketch/dogm_font_data_marlin.h:12:25: fatal error: utility/u8g.h: No such file or directory
#include <utility/u8g.h>
compilation terminated.
exit status 1
Error compiling.

If I comment out the line:


I don’t get an error. Not sure what is going on, I did import the library into the Arduino IDE and it shows as installed.

Problem solved. The compile error is in dogm_font_data_marlin.h, it is trying to include utility/u8g.h. The actual file in the library for me is u8glib.h. Changed that in two places and it compiles and uploads fine.

What are people using for the Z Axis max endstop mount? The standard clip mount doesn’t work with the universal tool mount.