Picture of Make a CNC mill with a laser cutter

So, you have a CNC laser cutter but you want a CNC mill? Problem solved.

This project is a small CNC mill that can be assembled from store-bought and laser-cut parts for about $800 without machine tools. (If you have access to a shop with a chop saw and a drill press that'll be helpful, but you can get by with a hacksaw and some wrenches.) As pictured it has about a 4" x 6" x 1.5" working volume, but it can easily be expanded and modified.

The killer app for this is making custom printed circuit boards. But it can also make plastic and wood machine parts (including all its own parts), mill custom aluminum instrument panels, create stencils, and make artistic etchings for print-making.

I've included both Adobe Illustrator and Autocad DXF files for the custom parts, as well as an Arduino sketch for controlling the brushless motor.

The Steps:

(1) Setting expectations, and words of caution

(2) Buy parts and find tools

(3) Laser cut the custom parts

(4) Assemble the Z-axis and spindle

(5) Assemble the X-axis carriage

(6) Assemble the Y-axis and bed

(7) Assemble the frame

(8) Wire it up

(9) Tuning, tweaking, and milling tips

(10) Software you may find useful

Remove these adsRemove these ads by Signing Up
ravi80019 days ago
I'm making this project according to given dimensions. please provide the videos when you were working on that...
el_peluzza1 month ago

What a wonderful project! Sure it will be my next project. So I will try to improve it adding a recursive perk: a Bluray-diode engraver. Just a simple adaptation to the spindle mount and a dual mode calibration could do the trick.

Thank you so so much.

kingkhalid3 months ago

i need a ardino progaram plzzzzzzzzzzzzzzzzzzzzz soon

领衔DIY8 months ago

I want to buy the where is unpowered spindle?

dronecz9 months ago

Hi, I´m planning to use same brushless motor and ESC for my spindle but what I can not figure out from text and images is what power source are you using to power up ESC? Thanks for reply.

joebell (author)  dronecz9 months ago

The spindle power source a 12V, 3A wall wart. (See the parts list for a part number.)

dronecz joebell9 months ago
Ok, I´m not in USA but this will help me find right power source. Are you powering just GRBL shield with this power source or whole setup? ESC is connected to power source through GRBL shield or directly? Do you have some schematic how is everithing wired together?Thanks
adexhoo10 months ago

is the grblShield compatible with arduino mega?

joebell (author)  adexhoo9 months ago

No idea.

pasqua10 months ago

Can you please explain how the carriages sliding the slide in the grooves of the aluminum bars? From the photographs is the one thing you can not see clearly. Sorry for my low quality English. Thanks

joebell (author)  pasqua10 months ago

Hmm. During normal operation nothing should slide on the aluminum T-slot framing - the T-slot nuts clamp those parts in place. Instead, the parts slide along the round steel rails when the lead-screws turn.

However, during adjustment you can loosen the bolts fixed to the T-slot nuts, and then the nuts can slide along the channel. Does this answer your question?

pasqua joebell10 months ago

Yes, thank you. You've been very kind. Now I understand how it works. Great project.

ril3y10 months ago

Honestly, you should just use a TinyG as this is what the othermill software uses. You could use othercam then.

joebell (author)  ril3y10 months ago

Fair point. I picked the Arduino / GRBLshield config. because it gives you a little more mod. flexibility. And Othercam does a great job of making G-code paths and exporting them...

ril3y joebell10 months ago

I would have to disagree :) grbl is quite limited. That is why we made TinyG :) However I am biased!

davisbr911 months ago

Don't forget about PyCAM!

joebell (author)  davisbr910 months ago

Great point! I didn't include it because I haven't actually used it yet. But it's rising to the top of my queue...

davisbr9 joebell10 months ago

Also, as an afterthought...

You can also use LinuxCNC, which is an open source OS designed to handle G-code interpretation and communication with the motor drivers... basically it turns a partition on your HD into a MCU + GRBL.

GRBL seems really awesome, but I haven't got it to run code yet. The only thing I don't like about it is there's no tool change protocol yet (or have they added that already?).

Lastly, if you need a good motor driver shield designed to run with Arduino and GRBL, check this out! I got one, it's awesome.

liquidhandwash11 months ago

Thats a great project, Im in the process of building a similar project but its a 3D printed mill, just waiting for parts to finhish it off .

joebell (author)  liquidhandwash10 months ago

That looks awesome!

pshoemaker110 months ago

looks like a nice little mill, but I need a laser cutter - can this be modded into one? What would need to be changed out other than the tooling head?

joebell (author)  pshoemaker110 months ago

Cool idea! But I think it's probably ill-advised for safety reasons: to make it work well you'd need an IR opaque, fire-proof, and very well ventilated enclosure, and probably also positive pressure air for lens protection.

You could mount a diode laser (1 W-ish) on the head and etch away paint, and get through paper and thin cardboard. But you probably couldn't do the kind of sturdy plastics you'd need to make more laser cutters... And I think the software mods to GRBL might actually be a little tricky, because you have to modulate laser power with travel speed.

shwp11 months ago

Cool,that is an huge project!

jiajunwang11 months ago


karcsika92211 months ago

That is so awesome, i like it!

Jan_Henrik11 months ago

Awesome project!

ASCAS11 months ago

SUPERB! A month ago I started a CNC project. I was stuck on the g-code stage, until you posted those links! Thanks bro, this is very useful!

ElectricSlim11 months ago

This is fantastic! I have a feeling I will be building one in the near future.

andrea biffi11 months ago

I'm really impressed, that's an huge project! Awesome!