Pleasant Mill v1

by Zaggo, published

Pleasant Mill v1 by Zaggo May 14, 2011


Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag


Thing Statistics

30183Views 4157Downloads


This is a DIY CNC mill.

The z axis is kind of universal. Mine currently makes use of http://www.thingiverse.com/thing:8481 to attach a Dremel as spindle, but using other tools or even an extruder shouldn't be a problem.

This thing contains only the (mostly wooden) mechanical construction of the mill.

Electronics and software are not included. I use custom made electronics and software with mine, but both aren't ready for publishing yet. You might use a RAMPS board or even Makerbot PCBs to drive this mill.

For more information on the Pleasant Mill project, see

[Update] I already stated this in the above blog post, but since there was a complaint in the comments, I'd like to add attribution to David Carr (http://makeyourbot.org/mantis9-1) also here. He designed the Mantis Mill, which the Pleasant Mill's design is based on. However, I designed my own Z axis, use linear ball bearings, different (and metric) dimensions and a bunch of other design changes and additions. See above link for more info.[/Update]

Additional pictures are available here:


The design is for 16mm MDF or plywood. I used MDF because it is usually very flat, which might be a problem with plywood, which tends to warp.
The disadvantage of MDF is, that you can't put screws directly in the face side (it's too soft). Therefor you want to use either additional wood profiles in the corners (which is what I did), or some other way to securely connect the parts (e.g. cross nuts).
Since there was no room for extra wood profiles, I used plywood for the x-axis. That way I was able to directly screw the z-axis upper and lower parts to the x-axis sheet. Again, another way to solve the problem would be the use of cross nuts.

If not stated otherwise, all holes have a diameter of 4 mm.

You also need:

  • 3 NEMA 17 Stepper motors (e.g. SY42STH47-1684B)
  • ACME threaded rods (e.g. TR10x2mm): 2x 300mm, 1x 220mm
  • ACME nuts
  • Precision rods (e.g. from old printers or scanners, preferable 10 or 12mm diameter): 2x 360mm, 2x 352mm and 2x 250mm
  • Lots of M4 bolts, nuts and washers, some M3 bolts for the stepper motors
  • Some kind of controller board, e.g. RAMPS or any other solution, able to drive 3 stepper motors
  • http://www.thingiverse.com/thing:8480
  • http://www.thingiverse.com/thing:8481

The ACME nut retainer below is for ACME nuts with OD 22mm (TR nut 10x2 / 22x20)

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

What is the minimum dimension we can achieve using this?

Try this again, but use a flexible shaft where the dremel is, then you wont have to worry about the machine gradually vibrating apart and all the bolts undoing themselves.

Nice machine, similar concept, different approach to minekeep up the good work

can you post the 3d rendered files you show a photo of in your description please. I am trying to build this with NEMA 23 steppers and want to see how the axes would need to be modified as well as longer x travel.Thanks

I really like this machine!! I live in Mexico and I want to start a new business that makes prototypes for BTL(point of purchase) I am buying a Makerbot thing o matic but I am also interested in get one of this.

Is this all ready to buy or is just a experiment?

please send me your info to my e-mail.

[email protected]

Ah, after reading your blog post: please do not hesitate to publish your code early and release often! We are (read: I am) mostly worse coders than you are, so we will not laugh at you for some hacks/kludges. I use a derivative of the Ultimaker firmware as it is now, but that cannot do G2 and G3 arcs. It would be very nice to have these working (as would acceleration). There is some firmware out there (grbl or something) that promises those functions running on a 'normal' arduino. If only there were enough time to dig into that too...

It has nothing to do with hack or kludges. It's more, that I want to finalize some of the fundamental structures in the code before sending it in the wild. But don't fear, it won't take too long.

I have G2 and G3 already running in my code. And last week end I also added all the basic drill cycles G81, G82, G83, G85, G89 and G73. More on that in the next few days on my blog.

What good are drill cycles etc, do you plan to write your on gcode? I do not know of any gcode generators that will output them (apart from humans).

"do you plan to write your on gcode?"

I not only plan to, I already do. Where else would be the fun?! :-D

Is there software, using G2/G4 when generating G-code, anyway? My guess was, that these commands are also used only in handwritten code... Why generate drilling cycles in G-code software but no arcs?

BTW, I just discovered, that there are indeed gcode generators, outputting G82 G-code.

When using the pcb-gcode.ulp in Eagle to output G-code for drilling holes in a pcb, the generated G-code contains G82 commands for drilling the holes.

With this layout, you might just as well pay some tribute to David Carr, who designed the Mantis mill/router that looks quite a lot like this one.

I made a derivative of his design that can be found here: http://www.thingiverse.com/thing:6115http://www.thingiverse.com/thi...


I suppose, you didn't read the blog post I linked to in the description above:


I clearly state there, that my design is based on the Mantis design and I link to their web page!

I designed a completely different Z stage and my design doesn't use any bush bearings. Also there's no epoxy glueing of bearings or motors involved.

I wasn't aware that someone else already made a
metric derivate from the mantis.

True, I stand corrected! A link/mention of David Carr here would be nice, but you did indeed give credit where credit is due: my apologies.

What G-Code generation oftware do you use? Coming from 3D printing, could it be Skeinforge (Milling profile)?

Skeinforge does not work fine for milling.

For 3d printing skeinforge wins, but only by default because of lack of competition. For milling a lot of other software options are available, both open source and proprietary. (I mainly have experience with pycam and deskproto) You could waste a lot of time, patience and needless irritation to learn skeinforge milling, or you could just spend your time more wisely.

So far I'm still testing the mechanics, electronics and software. All shapes I cut so far were handwritten G-code. But I will try Skeinforge's millin profile eventually. I guess it will be usefull for milling more 3D shaped objects.

Skeinforge works fine for milling.

For milling PCBs I can recommend Visolate (I patched it to allow metric units and work the the RepMan for milling. Back in the days...)

This little mill is awesome! I really like the LCD screen.