Benchtop Micro Milling Machine

by Honus in Workshop > Tools

90032 Views, 479 Favorites, 0 Comments

Benchtop Micro Milling Machine

20190930_201410.jpg

This is a micro sized benchtop mill that is suitable for milling small parts in soft metals such as Aluminum and Brass. While it is a manual mill it wouldn't be too difficult to convert it to CNC by adding suitable stepper motors and a CNC controller.

The travel specs are:

X axis- 150 mm

Y axis- 75 mm

Z axis- 150 mm

This design uses off the shelf assembled linear slides and 80/20 Aluminum extrusion for simple assembly and accurate alignment. The beauty of this design is its modular nature- you can make it any size you want and it's super easy to build.

Be sure to check out the build notes on all of the enlarged images!

Let's get started!

Tools and Materials

20190929_230322 (1).jpg
20190929_211444.jpg
20190929_221429.jpg
20190929_230217.jpg
20190929_224837.jpg
20190929_225002.jpg
20190929_224931.jpg
20190930_201148.jpg

Tools

To build this you will need a few basic tools. I'll list substitutes as necessary.

Machinist's square (for checking alignment)

Allen wrenches

Tap and tap handle- I used both 6mm and 4mm taps.

Calipers (for accurately marking holes to be drilled.)

Bandsaw- You could have Aluminum plate cut online by a company such as Sendcutsend and you can order the 80/20 Aluminum extrusion cut to length. Onlinemetals will also cut material to size.

Lathe- I used a lathe for making handles and the motor mount plate but it's not absolutely necessary. You can buy premade handles and use a different method for mounting the motor.

Drill press- This is pretty much a necessity for making this as it'll be very difficult to drill accurate holes by hand.

Materials

I literally had almost all of these materials on hand- some of it I had been hanging on to for years. Having said that I have checked to make sure all of the materials used are widely available. I think the only new parts I bought were the ER11 collet chuck and the 12V power supply.

Linear slides- I used Igus SLW prebuilt linear slides. The size I used is the 1040, which has a 10x2 trapezoidal lead screw. One full rotation of the lead screw = 2mm table travel. The beauty of these is that they are configured as bolt on units so the rails and the lead screws are in perfect alignment and you don't have to worry about them binding- getting this alignment right is one of the most difficult aspects of building a milling machine. Igus has a huge variety of linear slides available in all sorts of configurations.

A less expensive alternative would be to use a Proxxon KT70 XY table for the base and an Igus linear slide for the Z axis. I've seen some really nice machines built using the Proxxon table but you're a bit more limited with small table size.

Note that with these Igus linear slides the supported load must be less than 2X the bearing distance- If your Z axis (vertical axis) has bearings placed 2" apart your spindle must be placed less than 4" out from the Z axis base or you run the risk of premature bearing failure or binding. The further apart the linear slide bearings are placed the more rigid the machine will be.

Base frame- I used 80/20 2" x 4" Aluminum extrusion, approximately 22" long. eBay is great for 80/20 surplus sales.

Lower braces- 3/4" thick Aluminum plate, 3" x 5" (all of the Aluminum plate was sourced from a local Aluminum recycler as it was MUCH less expensive than sourcing online.)

Upper mounting plate- 3/4" thick Aluminum plate, 4" x 10.5"

Lower mounting plate- 3/4" thick Aluminum plate, 4" x 7.5"

Various thicknesses of Aluminum plate/round stock for handwheels, tooling plate and motor mount plates.

Steel nuts- I used 1/2" x 1/8" steel bar. You can buy premade T-nuts online from 80/20 but they cost a lot more.

Spindle- I used an old Foredom #44 handpiece for the body (check eBay) and a ER11 8mm shaft collet chuck. A Foredom #30 handpiece should also work as it has the same 8mm x 7mm x 22mm bearing size. It is also possible to retrofit machine tool high speed angular contact bearings in this size.

Pulleys/belt- I used a MXL timing belt and pulleys.

Motor- this was sourced from a cheap 14V Makita cordless drill at my local ReSource.

Electronics

12V 30A power supply- from Amazon. Note that this power supply does not include a cord or power switch. I used an old computer power supply cord and a regular wall/outlet switch.

Arduino- I used a Pro Mini but any Arduino will work.

5K potentiometer (10k will also work)

5V voltage regulator- I used one of these but a 7805 would also work.

Speed control- I used an old Ace R/C 30A speed control I had sitting in a box for 25 years (I knew my hoarding would pay off!) but just choose a speed control suitable for your motor that can take a PWM control input- almost all R/C speed controls are set up like this.

Hobbyking is a great source for inexpensive electronic speed controls (also called an ESC.) Note that the majority of modern R/C speed controls are designed to be used with brushless motors but you can still get inexpensive brushed controllers if you happen to find a suitable DC brushed motor.

Building the Base

20190929_224644.jpg
20190929_213123.jpg
20190929_224723.jpg
20190929_213259.jpg
20190929_213647.jpg
20190929_213900.jpg
20190929_225046.jpg
20190929_214902.jpg
20190929_214850.jpg
20190929_214922.jpg

Begin with the 80/20 extruded Aluminum base. This is the backbone of the machine so it's important to get it setup nice and square- use a machinist's square to get the alignment correct. An 11" long section forms the back upright and a 10.5" long section is used for the lower base. These are bolted together using braces made from 3/4" thick Aluminum measuring 5" tall by 3" wide at the base (the exact shape of these is unimportant.)

I made steel nuts from 1/2" wide x 1/8" thick steel bar by drilling holes and tapping them with a 6mm tap. Two of the edges of the nut need to be beveled so it can slide in the extrusion.

The 3/4" thick Aluminum upper and lower mounting plates were then bolted to the extrusion using 6mm bolts. These plates have 6mm tapped mounting holes in them to accept the linear slides.

Mounting the plates like this allows them to slide up/down and forward/back for positioning adjustment. This makes adjusting the mounting height of the Z axis a breeze so you can raise it later on if you need more room under the spindle to hold a tall part in place.

The reason for using 3/4" thick Aluminum plate is twofold: First, It gives a nice solid surface to mount the linear slides and second, it drastically increases the mass of the machine making it much more rigid and less prone to vibration.

Fitting the Spindle and Motor

20190929_225146.jpg
20190929_225212.jpg
20190929_225247.jpg
20190929_215258.jpg
20190929_215511.jpg
20190929_215640.jpg
20190929_225350.jpg
20190929_215806.jpg
20190929_215856.jpg
20190929_220010.jpg
20190527_180548.jpg
20190929_220100.jpg
20190929_220147.jpg
20190929_220246.jpg
20190929_220252.jpg
20190602_172538 (1).jpg

The spindle is made from an old Foredom #44 handpiece that had been disassembled so only the body and bearings remained. The ER11 collet chuck simply slides right in place and a MXL timing belt pulley is fastened to the collet chuck shaft using a set screw (a spacer is needed so the pulley clears the top of the spindle housing.) It's not the fanciest spindle out there but it works pretty well for small sized end mills and it's very inexpensive and easy to make. There is much debate about using deep groove radial ball bearings in a spindle but for lower RPM applications (under 20,000 rpm) on small mills it seems to work just fine as both Taig and Sherline milling machines use them. For high speed/high loading spindles that are running all day long angular contact bearings are the way to go and proper balancing of the assembly becomes critical. For more info about home made high speed spindles have a look here, here and here.

The spindle mount was made from an old bicycle 1" round tubing clamp block. The tube clamp block is bolted to an Aluminum plate that attaches to the Z axis slide. To the front of this block is mounted a 3/4" thick by 1 1/2" wide Aluminum bar that serves as the motor mount support. The upright plate that supports the motor mount is made from 1/4" thick Aluminum plate and has slotted holes at the top for adjusting belt tension. The slots were made drilling holes and then filing with a small round file.

The motor came from an old 14V Makita drill I found and the mounting plate for it was made from 1/2" thick Aluminum. I had to turn a recess in the mounting plate for the motor using my lathe so the motor shaft has enough clearance to mount a MXL timing belt pulley on the other side. This is by no means the only way to mount a motor- there are probably fifty different mounting methods so choose whatever works with the motor of your choice.

Making Handwheels

20190929_225838.jpg
20190929_225649.jpg
20190929_225622.jpg
20190929_225545.jpg
20190929_220729.jpg
20190929_225731.jpg

Now I needed some handwheels!

I only had one suitable handwheel in my junk box so I made the other two by turning them from round Aluminum bar stock using my lathe. I made the knobs on the handwheels from some 1/2" diameter bronze rod I had laying around. There is a recessed hole in the knob and they are attached to the handwheels using 4mm screws.

The handwheels are attached to the linear slide lead screws using 4mm set screws ( I used socket head cap screws instead of traditional set screws as they're easier to remove later on if the handwheels need to be replaced.)

Motor Electronics

20190929_230138.jpg
20190929_221339.jpg
20190930_201300.jpg
knob_schem.png

To give the motor variable speed I wired up a R/C DC motor speed controller (more commonly known as an electronic speed control or ESC) to an Arduino.

There is a voltage regulator connected to the 12V power supply to provide the necessary 5V to the Arduino. While the Arduino Pro Mini I used can handle the 12V output from the power supply I wanted to use a separate 5V regulator in case I ever swapped out the power supply for something with a higher output if I ever go to a more powerful brushless motor.

The Arduino just acts like a servo tester in this circuit- it provides the necessary PWM signal to the motor controller that tells it to change speed based on the position of the potentiometer. Instead of the wires going to the servo they go to the R/C input of speed controller. The wiring and code for this is extremely simple. Of course you can also use an inexpensive pre made servo tester to output the signal to the speed control.

Here's the code-

/*
Controlling a servo position using a potentiometer (variable resistor) by Michal Rinott

modified on 8 Nov 2013 by Scott Fitzgerald http://www.arduino.cc/en/Tutorial/Knob */

#include

Servo myservo; // create servo object to control a servo

int potpin = 0; // analog pin used to connect the potentiometer

int val; // variable to read the value from the analog pin

void setup() { myservo.attach(9); // attaches the servo on pin 9 to the servo object }

void loop() { val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023) val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)

myservo.write(val); // sets the servo position according to the scaled value

delay(15); // waits for the servo to get there }

The neat part about this is you could use this speed control setup to make a power feed for the X axis table by connecting a geared motor to the X axis lead screw!

Making a Tooling Plate

20190929_220955.jpg
20190929_221233.jpg
20190610_132413.jpg
20191004_130428.jpg
20191004_123014.jpg
20191004_123344.jpg
20191004_130559.jpg
20191006_163434.jpg
20191004_130653.jpg

Since the top of the X axis linear slide is bare I needed to make a tooling plate. A tooling plate is what allows you to bolt things like spoil boards and vises/hold downs to the X axis so you can hold parts to machine.

I made the plate from 3/8 thick Aluminum and drilled holes on a 1" square pattern and tapped them with a 10-32 tap. Since there were a lot of holes to tap (and the material wasn't too thick) I mounted the tap in my drill and used that to drive the tap (with lot of cutting fluid.) Worked great and a total time saver!

As well as just using the tooling plate I wanted to be able to mount a T-slot plate for greater versatility. The profile I used is 80/20 1030 (1" x 3") that has slots on 1" centers. This is done by drilling holes through the T-slots at the ends just large enough for a allen head wrench to pass through to tighten the 10-32 socket head screws that secure it to the tooling plate. Super simple and it only takes a couple of minutes to bolt it in place. Now I can mount things like sliding low profile vices and the small rotary table I'm building.

Wait a minute... Mixing metric and imperial?! How dare you sir!

Yes - absolutely sacrilegious but there's a good reason for this. My Taig lathe uses this 1" bolt spacing and 10-32 thread mounts for all of its accessories and I wanted to be able to swap parts easily between my lathe and my mill. So totally justified. :)

Finished!

20190930_200036.jpg
20190930_200208.jpg
20190930_200228.jpg

And there you have it! I powered it up and did some test cuts and it works wonderfully. I have been wanting a small mill like this for a very long time as I have so many projects that can make use of it. :)

Yes you can buy milling machines relatively inexpensively these days but the beauty of building something like this is you can get exactly what you want, you know what goes into it and you can modify it later on to suit your needs.

If I didn't already have a motor and speed control I would have definitely gone with an inexpensive brushless setup as they are very quiet and quite powerful (this drill motor is not quiet.) Ideally I would make the entire spindle from scratch using matched precision angular contact bearings with proper preload adjustment, etc. for higher spindle speeds but for right now this setup works quite well.

As soon as I have more time I'll make a proper case for the electronics and I'll build some additional tooling for it to make it more useful. When that happens I'll be sure to update this.

As always if anyone has any questions just ask- thanks!