Repurposing My Laser CNC Into a Multi-tool CNC




Introduction: Repurposing My Laser CNC Into a Multi-tool CNC

About: I study Computer Science and generally tinker with stuff. Be it software or hardware. I have my software periods and my hardware periods.

Hello. I jumped in the CNC world last October and I have been a passionate enthusiast since... I often watch videos of DIY CNCs and experiment with new things. Myfirst CNC project (highly recommend to take a look) was quite a success (but had a few issues) and this made me think that I need to try more complicated things. The inspiration came from this guy and his pcb maker:

I though I could make something that useful and decent. Not just a proof-of-concept laser engraver with quite pour quality...

I made my motivation drink:

frape coffee

and started designing my new CNC...

Step 1: Deciding Basic Things Before Starting...

First of all: the budget... It was around 10 euros... And the available space to store the new machine was about 0 m³.

That meant that the only option was to repurpose my old laser CNC. I took it apart in minutes and decided which parts to keep for my new build. This way I designed the new CNC to be compatible with the last one when it comes to parts.

I kept the wooden parts of the frame, the motors (those 28bjt-48), the rack and pinion set up, and the fan.

Also remaking a CNC gave me so much opportunity to do many things differently than the last time, knowing what works well and what doesn't...

So lets move one to the Design...

Step 2: LInear Actuator Experiments...

The first thing that didn't quite worked last time was the pipe drives. They didn't flush fit, so (while they were doing there work) they allowed vibration to the XY axis. The result of this was curly laser lines...

I didn't like this... Not one bit... So I got drawer slides. They were SO much more stable! and costed about 2 euros a pair.

I tried a nylon string setup as the moving mechanism. It worked but put so much strain to the motor and driver it finally fried the Easy Driver board...

Here you can see it work (before the cooking):

It was a weak (but working solution) till it did that damage to my property. After that it got ultimately scraped...

I returned to my trusty rack and pinion axis...

Step 3: The Y Axis

I suddenly remembered assembling an IKEA thing some days ago. It included some shelf corners (is this the name) that I never used.

So I drilled them and fitted my motors on them. I could also screw them to a wooden surface as they were already drilled for that purpose. The result is shown. Worked like a charm! Also serve as a GREAT heatsink!

This way I decided to make my new machine a "moving bed" one. It could save sooo much time and effort. Plus I wanted a Z axis this time because I want to be fancy and auto-zoom the laser without touching anything but the computer's mouse... And Z axis with "moving gantry" aren't exactly what we call friends...

Here is some testing for the axis. The rack is moving a bit as it isn't screwed nor glued on the base.

OH! Almost forgot! This motor is modified from unipolar to bipolar using this Hack:

Worked with Easy driver like a charm and got much better...

Step 4: The Whole Frame Assembled

As I decided the "moving bed" arrangement everything went smoothly! I knew what to do. I have seen so many instructables, videos, and articles, and CNCzone topics the past year!

The concept is that the gantry is allowed to move in only one axis while the other (the perpendicular to the gantry's movement) axis is moving the table below the gantry. This is another way to achieve XY movement of a certain machine bed spot.

I used Rack and pinion for X and Y axis and 8mm lead screw for the Z axis. I also suggest 5/16' lead screw as it has slightly bigger step (1,41mm against 1,25).

Step 5: Electronics and My DIY Parallel Breakout Board

Buying electronics you can build yourself is a sin. End of story. Breakin' a parallel port's useful pins is a bit time consuming, but generally a piece of cake. So I did it myself. I had some old Parallel-to-Printer cable:

printer cable

The left socket goes nicely to my PC. (I have a hipster motherboard that has Serial and Parallel Port along with HDMI!) The right one is useless (unless you have a dotted printer) and so I cut it out. Then I checked continuity for each cable (many of them are Ground cables and thous ignored) to each parallel pin. Soldered them in a perfboard and connected them with anything my heart wanted.

Specifically, this is a Parallel socket pinout:

LPT Pinout

The pins 1-9 and 14,16,17 are out pins (PC out) and are used on CNCs to control the motor driver Step/Dir signals, Transistor-Relay chain signals, and those kinds of things. The rest (that are not Grounds) are in pins (PC in) and used for Emergency buttons, home switches and anything that needs the PC to be aware about the outer world.

To drive the Steppers I used the remaining survivor Easy Driver (I had 2 from last project) and 2 of myDIY Attiny85 Stepper Drivers(2 euros cost each!).

I dropped my last project's cost about electronics (55 euros) to less than half (about 20 euros) without losing anything!

Here you can see my puppy blinking and doing its job... (Z axis is not used in this run so it isn't driven with current and its LEDs are off):

Technical stuff:

The Attiny85 drivers have a 300 usec delay in their code. This is OK for those motors in 5V and result in a 666,6Hz (not on purpose!) step frequency that is fairly slow. At 12V you can make this delay as little as 140 usec and make the step frequency about 1200Hz that is decent.

Again if you have another motor you need to trial and error this variable in the code using an arduino or you LPT port.


The last Attiny85 "firmware" supports up to 1900Hz step frequency. I get about 35 mm/s from those in X and Y axis. Very speedy machine!

Step 6: Home Switches

I wanted to make a great build! I mean I wanted it to have everything a CNC has. Home switches were the next targets to make. An external Emergency button too...

So I made them. Glued them to each axis (except Z at time of writing) home and tested them. I made them Normally Open, and Inverted, meaning that when they get pushed, they ground the Parallel port pin that otherwise is on 5V. The PC reads the change of those pins from HIGH to LOW and understands that the axis has been homed, or that something went terribly wrong and it has to emergency stop the running g-code...

Step 7: The "Multi-Mount" Project

A -not so powerful- laser engraver is impressive but almost useless. My laser is a 200mW CW 405nm diode that can't cut most things. It needs much time to deeply engrave (almost cut) a black CD Case and this is really bad. I need this machine to be more useful. Not just impressive.

So the idea came when I was takin' a shower to wash my hair from all the small wooden pieces:

"As I make a working CNC table why not make toolchanging interface on the gantry. I can use 12V supply (controlled from the Parallel Port via the ULN2003) to power up any small tool... Not just a laser..."

That was a great idea! I suggest you to take showers twice a day, at least.

The rest you can see in the pictures... I made the laser (the constant current driver is on the laser tool, not the main board) "tool" and mounted on the gantry for you to see.

Step 8: So Why Not a Mill Too...

At that time my electric mixer (that I used for my motivation drinks) broke. So I broke it too into pieces! It had some nice things inside that gave me another idea!
I got a 220V to 7.5V tranformer, 4 1n4001 diodes (arranged as bridge rectifier), 3 100nF ceramic caps a cheap switch and... a quite powerful 12V 250mA DC motor.

I made another wooden block "tool base" mounted the motor and cut the stirring thingie in a sharp tip way using my dremel with cutting tool and my DIY dremel base (usually used for PCB drilling).

When I run the motor for the first time things went peculiar... Steppers got steps out of nowhere and finally the ULN2003 channel that drove the motor got cooked to dead state "always ON".

Never trust motor's Amperage ratings... Motors have inductors inside them that make amperage tricky (by having an unstable resistance and scrapping Ohm's Law).

By measuring the amperage with the DMM I found out that when slightly stalled the motor sucked up to 1.5 Amps... So this sent my ULN2003 flying... I also read about motor's (electronic) noise reduction and ended up using 3 caps and a flyback diode (ULN2003 include a flyback diode already). The motor stopped giving random steps to the LPT pins this way.

The Amperage issue was solved by installing 2 ULN2003 ICs one on another (the term is "piggybacking") in the same socket. So I got 2 transistors in parallel that *almost* doubles its ratings to 1A Continuous and 1.2A peak. That should be enough for any 12V tool...

Last News:

The piggybacked ICs got cooked too. The last working configuration is a ULN2003 with 4 Bases and Collectors soldered together. This has been through a torture test and it is working at time of writing...

Step 9: And... DONE!

By adding the fan I conclude my build. It can be seen in the pictures.

Here are some videos of it in action:

And some results on engraving with laser.

As you can see the results aren't great, they are a bit unprecise. The machine needs more testing and calibration.

Final Thoughs:

Why not a 3D printing tool? I can use a glue gun heater (already have one) with a relay. There is a fan already installed and I can find a CAM easily (even use LinuxCNC with a different profile)...

Step 10: Last But Not Least: COST

Easy Driver stepper driver - 10 euros

3 28BYJ-48 motors with ULN2003 driver - 5 euros (less than 2 each)

3 pairs of drawer slides - 6 euros(2 euros each)

Wooden frame - almost 16 euros

fan - 4 euros

laser - 15 euros

"milling tool" - free! (costs no more than 5 euros altogether)

lead screw - 1,50 euros

rack and pinions - less than 20 euros (if I remember correctly).

So a Sum of 77,50 euros. Cheaper than my last build (at about 100 euros), and definitely better!

Thank you for reading my fifth (OH they became five so quickly!) Instructable!

Please Leave comments for questions and suggestions. Or just because you feel like it!

Be the First to Share


    • Pocket-Sized Speed Challenge

      Pocket-Sized Speed Challenge
    • Metalworking Contest

      Metalworking Contest
    • Maps Challenge

      Maps Challenge

    8 Discussions


    3 years ago

    Frape helps to solve the problems more easily :P :P
    Thanx a lot johnny i will start tomorow with aluminium rods..
    but i will follow your steps !!
    i hope i will make it !!


    5 years ago on Introduction

    hi.good jub.i try to make one laser cnc but i dont now nothing about electronic. i see your laser is easy to build( i thing).only can you tell me what schematic i need to drive the laser.

    PS the name of the motivation drink is????

    thank you


    5 years ago on Introduction

    About the camera I tend to believe that battery quality plays a role in photo taking... I changed batteries (different brand) in the middle of the instructable and I got much better photos...


    5 years ago on Introduction

    I like how your camera freaked out when you got in close to some electronics. What do you think the fastest rapid travel speed is for your machine? In the video I watched it was hard for me to guess how fast it was going. You said to use your laser you have to travel pretty slow anyways.

    I made all of my electronics too. If I had it to do all over again I wouldn't today. But I guess being as I did that still earns me some bragging rights now. That, and my machine is capable of 180 inch per minute rapids :) Which isn't bad considering the skate bearing linear slides I'm using. I'm thinking your drawer slides would even be a step up, but they'd have been more expensive for me to buy.

    My machine is an extra cheap build too.


    Reply 5 years ago on Introduction

    I get about 1900mm/m. X and Y motors move with 32 mm/s with 40 mm/s² acceleration. I don't know about inches...

    This was achieved today with an upgrade I wrote for the AVR Attiny85 driver (purely software update).

    My linear slides are cheap 2 euro drawer slides and no, they are not a step up...

    They are all right, but resist small movements, sometimes causing arcs to be strange... Maybe I haven't lubed them properly-enough. Nevertheless they are sturdy and never jog (like my old pipe system).

    Now that I made the machine I am going to design a Parallel Breakout PCB (using it) to clear all the tangled mess...


    5 years ago on Introduction

    Nice project. Thank you for sharing your work. I love the idea of a multi-tool DIY CNC.


    Reply 5 years ago on Introduction

    Thank you!

    It is a great idea indeed, but it makes very hard to configure the Z axis. I have spent days since making it...