CNC Machine Homemade
This CNC machine is composed of some ball bearings as well as materials available in a do-it-yourself store and it was made with low tech tools.
It is driven by cheap, low power geared DC Motors. You can get a step by step instruction, the schematics and the software at the project page. In this video I will show some of the construction steps and demonstrate the accuracy of the machine. The main tools used are a drill press, a vice, a metal saw, some file tools, wrenches and a set of 6mm taps. You can cut the iron bars by using an angle joint as guide for the saw. Cooling the sawing blade with some water extends the lifespan of that tool.
After four cuts the bar is trimmed to the desired length. Triangular or square-type tubes are used as linear guides for the X- and Y axis. Four ball bearings are attached to piece of a square tube with a length of approximately 20cm. The inner diameter of the ball bearings is 10mm, the outer diameter should be clearly larger – I am using bearings with 30mm in total. The iron square tube has an edge length of 25mm – at least a 10mm nut must fit to the inside. The drill hole for the ball bearings should be close to the lower edge of the tube.
Consider that the 10mm nut is used at the inside of the tube, thus the hole should not be too close to the lower edge. The outer diameter of the ball bearings must be clearly below the edge of the iron tube. There must be an offset between the drill holes at two sides of the tube, because the bolts and nuts used to mount the ball bearings should not get in touch. The drill holes for the ball bearings are done at the flat sides of the square tube which should be no problem. At the construction shown here, some drill holes are done on the edges. In order to make those holes I am using two aluminum angles on a wooden plate as guide for the iron tube.
With a second wooden plate the construction is attached to the drill press. The edge of the iron square tube is filed… …and the place for the drill hole is marked with a center punch. The drilling is done in three steps, starting with a 3mm drill… …than 6mm… …and finally 10mm.
The CNC machine axes are driven through 6mm threaded bars. We need some 10mm bolts with a 6mm thread at one end. To get that, the 10mm bolt has to be filed flat on two opposite sides. Now, a 5mm hole is drilled. Counterbore the hole with a 6mm drill. The threat is cut next.
3 taps are needed. The first cut is done with the bottoming tap, usually marked with one ring at the shaft. Put some lubricant on the tool. Assure that the tap is aligned perpendicularly. After turning the tap clockwise for some degrees, turn it counterclockwise to break the chip formed through the cutting process, thus to prevent the tool from jamming. The second run is done with the intermediate tap, marked with two rings at the shaft…
…and finally the third run is done with the tapper tap, usually marked with no ring, sometimes with three rings at the shaft. Now, a 6mm bolt should easily fit into the hole. After that, you can mount the bolt with the 6mm threat and the ball bearings at the square tube. Note that the space between the square tube and the ball bearings must be large enough so that the bearings don’t touch the screws used to mount the linear guide on the base plate. Thats the first half of the carriage for the x axis. At the opposite edge of the base plate, the carriage is running on a flat aluminum bar.
Both halves are connected through a compound made of an angle profile and a square tube. My first attempt was using a square tube made of aluminum with the dimensions 20 times 20mm, but as you can see that construction is to weak. An iron tube of the same dimensions is not much stronger. Finally the iron angle profile with the dimensions 40 times 40mm being 4mm thick is strong enough for this low tech CNC machine. Adjust the carriage to the correct height on the right side of the base plate. The carriage for the Y axis runs on the square tube.
The main components of that carriage are some 10mm threaded bars being connected through flat iron bars. The carriage is guided by an aluminum angle profile and two more ball bearings at the top of the construction. With the ball bearings, the movement along the X and Y axis is very smooth and nearly free of clearance. The Z axis is guided by ball bearings running on round tubes. The carriage for the z axis is based on two aluminum angle profiles. The 6mm threaded bars for the drive are mounted next.
One fastening point consists of two iron angle joints. Using just one of them isn’t strong enough… …which is why I have added a second one to enforce the construction. The treaded bar is mounted using four nuts and two ball bearings with an inner diameter of 6mm. One ball bearing is to the left and one to the right of the joint. Tight the third nut so that both ball bearings are pressed against the angle joint.
The higher the torque used to tighten the nut, the more friction, thus it becomes harder to turn the treaded bar. If you have found the right adjustment, lock that nut with nut number four. That end of the threaded bar should be free from clearance. The sensor disk and the drive are at the opposite end of the treaded bar. The geared motor is connected to the threaded bar through a piece of rubber tube. Thus, that connection is flexible.
Threaded bars from the do-it-yourself store are usually not dead straight, thus with the flexible link the drive runs smoothly even with a buckled bar. The carriages are connected to the drive through the 6mm threads in the 10mm bolts. If that thread is adjusted straightaway, the drive runs smoothly, but there is a noticeable clearance. By turning the 10mm bolt slightly, the friction is increasing, but the clearance is lowered. Adjusting the drive is always a compromise between friction and clearance. To reduce friction, put some lubricant on the threaded bar – this black fluid is used motor oil, something I have always in stock…
In total you need four drives: Two for the X axis… …one for the Y axis… …and another one for the Z axis. The gear ratio of the DC motors is 30:1 and the maximum current running through the windings is 1.2A at 12V operating voltage. The motors are controlled through 4 H bridges – each of the two boards used here has two bridges,
The control pulses are generated by an Arduino Uno which computes the current position of the motors via the 8 photo sensors. I have demonstrated that principle in detail in my video about the Arduino Uno microcontroller. Now the CNC machine is ready to run. First I would like to draw a test pattern on a piece of paper, thus I have attached a ball pen to the carriage of the Z axis. The software used to control the CNC machine is written in C… …and it is running from the command line.
With the menu you can choose the test pattern and set some variables. With sending the start command the CNC machine begins to plot the file. That pattern will be used to proof the accuracy of the CNC machine. The scalable vector graphic consists of multiple, concentric circles… …and 4 straight lines arranged in an angle of 45 degrees. As reference I have printed the same pattern with an inkjet on a foil
After adjusting the foil as congruent as possible you can see that the accuracy is in the range of some tenth of a millimeter which is not bad for that low cost CNC machine! A second criterion for the quality of a CNC machine is the accuracy while driving the pen to one point from different directions. As you can see, it is performing that test with almost no visible error. The time passing by while plotting the test pattern was 30 minutes. The maximum speed along the Y axis is approximately 3mm per second. When painting a 45 degree line, thus with the motors for the X- and Y axis spinning with the same speed, we get just 2mm per second.
Motors with a higher power are needed to increase that speed. When replacing the ball pen with a water resistant marker, the cover of my laptop gets another tattoo. The lettering was done with my plotter made of old CD drives in the previous video. The area covered by this CNC machine is approximately 50x50cm, thus it is clearly larger. With a diamond milling cutter you can engrave glass. The router is attached flexibly to the carriage of the Z axis, because neither the base plate of the CNC machine nor the glass plate are perfectly flat.
The roughness of the plates doesn’t matter with that kind of attachment. Always cool the cutter – I am using water with some drops of dish liquid. Next thing to do is cutting some Styrofoam with a soldering iron and a piece of copper wire at the tip. The closer the cut is done to the soldering iron, the hotter the copper wire, thus the wider the cutting line. Underneath the Styrofoam to be cut, there is a second layer used as spacer. The result is the cross section of a wing – sometime I would like to build electronic components that conqueror the sky.
I did not use the second layer of Styrofoam during my first test run – that failure is now stoved at the base plate of my CNC machine… To cut more solid materials than Styrofoam, I have replaced the soldering iron by a router. As you can see, the mechanism is not as solid as as it ideally should be – I can deflect the router with my finger. One source of error are the threaded bars used for the drive: If the carriage is close to the “hard” end, the deflection at the router is negligible when bending the treaded bar. However if the carriage is close to the “flexible” end of the drive, that deviation becomes noticeable.
Next I will cut holes with a diameter of 5, 10, 20 and 40mm in a plate of acrylic plastic that is 4mm thick. The cut is done in two steps. In the first run the router is lowered to just half the thickness of the acrylic plastic. The speed of the motors is lowered by software whenever the router is down or else the cutter would crack. The same test pattern is cut at the flexible end of the X and Y axis. Once more I am comparing the result with a pattern printed on a foil.
As you can see, the error is just a fraction of a millimeter. There is no difference determinable between the patterns cut at the “hard” respectively the “flexible” end(?). With the software you can compute geared wheels with round teeth. The quality of the gears cut by the CNC machine is good enough to compose a transmission, which is not bad for that low tech tool. With structures like that you can build CNC machines with improved speed or accuracy – may the evolution of the CNC machines begin… Besides acrylic plastic, the CNC machine can also cut 0.8mm aluminum plates.
I have not tested any other materials for this kind of CNC machine yet. As mentioned before, you can get more information on the project page. Thanks for watching and: “I’ll be back!”