A new Custom CNC and lessons learned [Overkill]

Hello friends,

I want to share this machine mostly as a educational experience. I have learned a lot and I LOVE this machine but it is not a great fit for most people so I don’t encourage anyone to attempt to build it. I will point out its Pros & Cons and in a few years when my work space changes I will consider replacing it with a new Lowrider.

Background & Rational

I moved from Colorado to Missouri last year and I had to dismantle my 525 MPCNC for the move. I am currently living in a smaller rental house until I can eventually buy land and build. In the meantime I miss my old CNC.

I wanted to build another CNC Router but I wanted to change some things.

  • Cut 4’x4’ but still rest on TOP of a table. Not hang down the sides of a table.
  • Be like the Low rider and have minimal XY torque/deflection when the bit is lowest/closest to the table.
  • Use NEMA 17 motors that I have in plenty instead of NEMA 23s

Since neither the MPCNC or the lowrider fit those requirements perfectly I got creative. I came across a really good deal for some 1,500 mm linear rails. SBR16. $133 to have four rails with eight roller blocks delivered. They are super strong and have almost 0 deflection under a reasonable CNC load. Sorry no pictures but I did test with a 10 lb. weight.

Introducing my Overkill CNC!

What I Love about it and what is “New to me” with this build:

  • Cut area is Greater than 4’x4’
  • The XY Deflection is very minimal
  • It is strongest at lower Z heights where it is needed most
  • It can still raise up almost 6 inches to reach the top of some Softer work materials I will use. (Foam)
  • The Duet Wifi 2 with RepRap firmware Gcode Everywhere design
  • Macros (easy to run gcode files that can do ANYTHING even when a job is running. Change motor current as example. Or even call macros from jobs or other macros. )
  • Dynamic Message dialogs (LOVE IT! ). At the beginning of my Gcode job start I added a message box that gives me a checklist of things to make sure they are ready: Bit, workpiece secured, vacuum etc. I have to click ok then it shows a message box with buttons that allow me to jog the bit into starting position that will be used as the origin for the job. If I click cancel then the job is aborted.
  • Sensorless homing for XY and Coordinates for working
  • The system for holding a work piece into place using 3/8" Angle Aluminum. (Details with pictures next week.)
  • Hands free Bit replacement clamp
  • Stronger XY Motor power for deeper DOC. (In MDF 10mm DOC I cut at 40 mm/s with ease.)
  • Better cable management than my previous machines.
  • A vacuum attachment (to be improved soon)
  • Strong enough machine that I could replace the DW660 with a full sized 1hp heavy 1/2" inch collet router if I wanted to.

What I don’t like:

  • The X Bearing Blocks can ratchet forward and back a tiny bit. That causes about .5 mm deflection at the bit. I need to secure the plastic tool carriage to the blocks better. Use more bolts or add a filler like gorilla glue that will expand and then hold tight.
  • It took a LOT to print. A lot of filament and time. About 2.2 Kg of filament (over two spools counting waste and revisions)
  • The X axes belt is tightened with zip ties.
  • Had to use 4x mgn12 rails and 8x roller bearings for the Z axes.

What I plan to add soon.

  • Script a macro that I can use if it ever looses steps during a job. It will record its current position (Where it should be) then switch to the machine coordinates and re home. Switch back to the job coordinates and go back to the saved position. So I could possibly recover the job.
  • Physical buttons that I can use to trigger Macros. Emergency Stop, Move to park position, Pause job, Resume etc…
  • Better Vacuum Attach that can swap for a marker attachment
  • Vacuum table pad that can hold a t-Shirt into place

Any questions or suggestions?


As part of a conversation starter. My experience with the RepRap Firmware on a CNC router has been AMAZING!!! I have not had to compile a single bit of firmware. I simply followed their steps online to upgrade then used configuration gcode files to setup the machine. All of the bonus features this firmware adds are amazing! The macros, the ability to call macros from inside of any other gcode file, or even trigger a macro from a physical button. Or show a dialog box with jogging controls! I love it.

I have seen that it is possible to run RepRap firmware on SKR 1.3 and 1.4 boards and you can add A wifi module for about $10. So you don’t have to pay Top dollar for the Duet boards.

Here are some of the macros I have setup.

  • One that moves the machine to XY Origin.

  • Switch to G54

  • Switch to G55

  • Set current position as Home (machine coordinates)

  • Set current position as Home (working coordinates)

  • Level the Z. This one will set the Z motor current to $30 of normal then display buttons to Jog the Z. So I can crash it either at the top or at the bottom to make sure both sides are level to each other. Then it sets the Current back to 100%.

  • One macro for Lifting the Z for various operations like Homing X or Y.

  • One macro that handles all of the Job start features. So I don’t have edit the starting job gcode in ESTLCAM. This way I can update the starting gcode on the machine macro and it will always be up to date. Even if I rerun an old job the job start script will run from my macro so I don’t have to update the old job file.

  • HomeX and Home Y are macros that are called as part of a HomeAll macro/button push

  • I also have a warm up macro that just enables the motors with a higher current than normal to heat them up for a time before I home the machine. It helps make sensorless homing more consistent.

  • Configure Wifi. This one allows me have the machine connect to a different WIFI.

  • I mentioned the macro I want to script that will allow me to pause a job rehome the machine then resume the job. That could potentially help recover from skipped steps.

After using RepRap on a CNC router. I will never go back. Marlin will continue to run all my 3D printers but not my CNC router. RepRap has just been so much better of an experience. I have even decided that the dedicated laser engraver I was building will be running RepRap instead of marlin.


I like the RepRapFirmware too. I’m not using it for the Repeat printer because I don’t have a Duet 3 6HC yet, so I need the SKR Pro boards to handle the 6 necessary drivers. I am using it on my older 3D printer. The wifi interface and DWC are great.

There is also a port of RRF for the SKR Pro, but I haven’t tried it yet. I do have the wifi module that is supposed to be able to deal with the DWC.

Both my Primo and my LowRider2 are currently running Duet 2 wifi boards. I also have a number of useful macros set up, but because I have soft stops enabled, the machine home is set by the endstops, so it won’t crash into the ends of X.Y travel. Z zero is set by the probe, and it will not permit the mill to go more than a few mm into the spoilboard. using work coordinates allows me to cut through material as I like, provided that it doesn’t go too far into the spoilboard. This is to save my bit from hitting the T nuts or tracks (depending on which machine) so I don’t want to arbitrarily set the machine home position.

I’m not using sensorless homing, I have endstop switches, and I like them that way myself.

I hadn’t considered a wifi configuration macro, since M587 is easy enough for me to use from the console (Or M588 to forget a wifi network) since I need to enter the SSID and password anyhow.

1 Like

I like that idea of setting the Z limit so it won’t cut too deep into the spoil board. I may have to consider that. My current plan was to keep my current spoil board in good shape by using other old scrap like 1/8" MDF as a sacrificial spoil board between my work piece and the real one.

As for wired ends tops. Those are so much better. More accurate and way more consistent. I expect that I will eventually switch back to those but this is version one of a new machine. I expect that I will be making several changes over time. So I copied my old Sensorless homing work from a previous Printer build and just used that. It will work for now.

I will probably buy an SKR board and try putting RRF on it. That may be what I use on my laser engraver. I have a Duet Maestro here in a box but that requires a Hardwire network connection. And I can’t run a wire out to the garage. Or I could try to use a wireless bridge.

1 Like

You might consider something like a Power line network extender. It runs over the household AC, and can be used to extend your wired network. It’s not perfect. I have an older version, which I use to connect to some paper printers in a location where I found it difficult to run ethernet. It is sometimes subject to interference, and I’m not sure how hackable it is from a security standpoint, either. I have also used it for a small media box (WD TV) for a while, and it seemed to be good enough for that, though often required me to reset the connection before streaming…

1 Like

Great idea. I have an old pair of those in a box around here somewhere. I’ll give that a shot. Thanks.