CNC Out of a Scanner (cheap)




Introduction: CNC Out of a Scanner (cheap)

You can salvage parts from scanners and printers to build a cheap CNC machine. Stepper motors and linear guides (rods) have been taken from printers and scanners.
The things you need to buy is aluminum profile, stepper controller, Arduino, threaded rods, nuts & bolts.
Here 6mm x 1mm threaded rods are used. 
This CNC machine can cut Aluminium, Plexiglas, and wood.
A dust collector have been made from 3 PVC tubes glued together (see picture).
A spindle lamp with 8 LED have been manufactured with this CNC.
I use LibreCAD and HeeksCAD to create the drawings and PyCAM or HeeksCNC to generate the G-code. However, I found that sometimes it is faster to write the G-code yourself. Very often you need separate files for the drill, inner dimensions and outer dimensions. There is no way to indicate which is which when using free CAD software. One advantage with these software is that they work on both Linux and Windows operations systems. But, you have to do a lot of 'hands on'  yourself.
The Z axis have a bad design. The bearings are pushing the rods (7mm) to the side and this causes big tension at the end positions (Z). Do not use this design! It was a bad idea.

The Power Supply 300W is taken from a PC.
The Arduino board is loaded with GRBL, see GIT hub. The GRBL (Arduino) is receiving G-code form the PC via the USB cable. However, bear in mind that the GRBL has a limited set of instructions and the G-code mus sometimes be adopted to the limitations.

Stepper Motors: Z-axix: M42SP-6TE, Y-axis M49SP-2K (Mitsumi). I took the motors from old printers. The stepper for the X-axis was destroyed during test so I was forced to buy a new NEMA17 to replace it.
This solution costs about $40 and has a backlash of 0.3 mm. In one direction you have 0.1 mm precision. I use this solution to make  parts for the next generation.

NEXT step (2.0) is to buy linear ball bearings. This will improve the precision and there is a new simple anti-backlash nut that will be used. Unfortunately by buying linear rods, linear bearings, rods etc. the prices goes up another $100. I am still using threaded rod but this time I use a home made ACME anti-backlash nut (see picture).

Here I use 25x25 mm Aluminium profile and 8mm linear rods and bearings. I also bought 8mm shaft support holders. 10mm transparent Plexiglas is used as bulk material. The drawback is that is shatters easily (see version 1.0 of the XY table). The strategy this time is to support it with Aluminium plates.

VERSION 2: I used the first version CNC machine to make parts for the second version. However, I also decided to buy professional mechanical parts. Now, it is not a cheap solution anymore but has better performance and precision. I estimate the build to be $150. If you have time you can win auctions on eBay,, etc. This will reduce the price significantly. You may also find end mills and other tools on above mentioned sites.
Nema17 12V steppers are used. 

Enclosed the DXF files for the Z axis. Note the 0.7 and 2.5 mm shift for the rod holder and the center of stepper axis. This will make life easier. The M6 nut (anti-backlash) will be on even 1 mm distance from the Z plate and the plate will not collide with the square bars at the end. 

I use a Python script to push the G-code to the Arduino GRBL board. I have modified the script but I would like to expand it more and have more features as automatic tool setting and finding a reference point.  I will put the script here.

For now, I just put the pictures here.

The power supply are mounten onto the rack.
The spindle is modified. I took the motor out of a small engraver tool. This means I have speed control and more power in version 2.

Enclosed 2 pictures of items made with V2 CNC. The accuracy is much better and below 0.1mm I would guess 0.05mm. The platform is now made from Aluminium plates 6mm and is almost without vibrations. 

I am thinking of putting a video here that shows the performance and perhaps the DXF design files for the Z axis.

TODO: modify the Power Supply to output higher voltage.  in order to get stronger hold and momentum.
Picture 3. shows a motor holder (Al) and a part for a quadcopter. The items are machined with version2.

Be the First to Share


    • Puzzles Speed Challenge

      Puzzles Speed Challenge
    • CNC Contest 2020

      CNC Contest 2020
    • Secret Compartment Challenge

      Secret Compartment Challenge

    7 Discussions


    1 year ago on Introduction

    You used a red motor from a Chinese 6 or 8 in one mini lathe ( spotted ) Yes I have one sitting in the corner.


    2 years ago

    валы от принтера и сканера на 0.2 мм тоньше они не являются калиброванными 8 мм


    5 years ago on Introduction

    This is a great idea, but a bit hard to follow. Would you consider revising it into separate steps for construction? I'd love to build one of these myself!


    7 years ago on Introduction

    What stepper controller are you using, don't recognize it from the pictures.


    7 years ago on Introduction

    Hi, what did you use to convert the files to the G-code?