Built one! Observations and lessons.

To start, thanks to Allted for the design, files, big brains and good heart.

Right now I’m stock apart from 20T pulleys and 64oz-in motors. I intend to get/print 16 tooth pulleys as soon as I can and try the torture tests for the beta firmware, then I’d like to up the build size, especially if I can find straighter EMT than they had at Lowes…

I’ve got the machine tuned in and cutting, and I thought I’d bullet a couple of my pitfalls while they’re fresh in my memory:

1: Belts can be too tight! Skipping steps like crazy and can’t seem to tune your steppers? If you pluck the belt and it sings rather than flopping a sub-audible bass note, that’s too tight. Don’t tighten the zip ties with a needle nose like I did.

2: One of those 1.75" bolts in the middle assembly really needs to be the exact measurement. If you can only buy a 2", cut one down (or both, since I can’t remember which was trouble), and do it before it’s in the plastic or you’ll melt it. The assembly wouldn’t ‘fold’ into shape with a 2".

3: You probably need the smaller Z nut lock. I didn’t realize there were two, because I don’t pay attention to details.

4: Substituting a flex coupling from a 3D printer for the rigid coupler is a bad idea. Stretches like a noodle, huge backlash.

5: Spend more than you’d like on bits. Harbor freight is out. I’m quickly becoming close friends with a Whiteside V bit.

6: Big spindle. I used the Dremel while I waited for the Dewalt 660. The difference is night and day. You’ll eventually need a speed control, the harbor freight one is working fine, used it for years on some other gear, now it’s on the CNC.

It’s my new favorite machine!

Great tips, let me try and add to them a bit.

  1. I agree. I usually start super loose and only tighten a bit if it skips a tooth or has round corners on parts. Mine don’t really make a sound if plucked.
  2. Those 1.75" bolts are on the Middle Joiner parts. A 2" will fit on the middle end’s.
  3. Sorry. The larger one usually fit the longer coupling nuts if you choose to skip the spring anti-backlash contraption.
  4. Agreed. Those spring couplers aren’t the best idea, but they can be made to work if you add a washer like the speed washers on the roller f’s and seat the coupler against it and the bearing but they you still get the “up” spring. Rigid is better, or a spider coupler.
    5)I’ll elaborate and say make sure to use endmills, not router bits. There are mills for every material and they should be used makes a huge difference. I finally got wood mills and they leave a much cleaner edge. Google single flute vs 2 flute, upcut vs down cut, wood vs plastic. You can save a ton of money getting them from drillman 1 on ebay, they seem very high quality and brand name. http://stores.ebay.com/carbideplus/ I have no affiliation with him, although I wish we could work something out!

Your cuts look great. Thanks for sharing your experience.

Oh one more tip.
Make sure the power and usb is disconnected from the ramps before you do anything to it. No plugging or unplugging anything with any power to it, quickest way to fry it.
Lost another one yesterday, because I thought I knew what I was doing.

Ah - this is notable, perhaps needs it’s own thread.

Did a cut that required a tool change, and found ESTLCam generates M00 (I think) for it’s pause code, while Repetier Host only honors the @Pause command in the Gcode. A quick find and replace should fix that. OctoPrint behaves in the opposite, ignores @Pause and honors M00.

During a finishing pass I selected tool 2, by mistake.

The code has a M00 at the Finishing stage and Repetier run it with a problem. But I had no idea how to restart the code up again with Repetier. Even the LCD status was “Awaiting User”.

So all I did was select tool 1 for both the rough and finishing pass, and no M00 was generated, so therefore no issue as the code did not pause.

My question is how do you start the code back up after an M00, within Repetier?


Hi Greg,

It’s been a while since I’ve used @pause in Repetier (For 3D filament changes), The behavior should be: @pause encountered in code, Pause message appears on screen with button to resume, and on press, the gcode program picks up on the next line. If Repetier does pause for you on an M00 (I don’t know why mine did not) than the above might work for you. I need to try both @pause and M00 in repetier and see if I missed something before. Perhaps there’s a G/M code to restart from the terminal/console.

These Repetier Host commands look useful, especially @isathome - Sets the current X, Y and Z coords to Zero’s.


Hi Matt,

The pause worked with an M00, I could not find anywhere on the Repetier screen a resume, ok or restart button, nothing.

But it is a good chance that I missed something or maybe I needed to enter code in the available area.

So I’m still at a loss as to how to restart, I will dig around and run some tests.


Doing research, I find Marlin should pause on an M0, and requires a button press on the LCD to resume - http://reprap.org/wiki/G-code#M0:_Stop_or_Unconditional_stop

So it seems, @pause is to pause Repetier Host, M0 is to pause the RAMPS board, providing you can start it again…

Perhaps my board skipped the M00 as I lack the LCD with buttons and encoder, or perhaps I didn’t wait for the buffer to empty… More experimentation to come…


Well done Matt,

I will again setup a small run tonight, and see if the stop/kill button works to resume the job.

I tried the shuttle button, but that did nothing. The only other button the the stop/kill!

Reading the link you put up, it states that all motors are turn off! To me that is not a good way
of pausing a job. As normally to pause a job you need to do something, like change a tool, or filament
in the case of 3d printing. But if the motor are de-energized they will move very easy, and even a little
bump will cause a move in your paused position.

So I think I will look at the @pause command and see if that command keeps the motors energized?

Thanks for your efforts Matt.