Custom CNC/Laser engraver
A completly custom CNC using a makita router or a laser engraver
Created by
schuilchristiaan
4 views
0 followers
schuilchristiaan
added to the journal ago
Made a changeable toolhead and added last limit switches
I designed the holder for the router/laser so that i can easily change between the two since i didnt want to have the weight of two heads on my axis i made it changeable i also added the last limit switches into the design

I then modeled a holder for the laser but since i'm ordering from alie i dont have a data sheet so i dont know 100% certain it will fit so i made it how i think its going to work but im most likely going to have to change it.

I also added this small piece to the model which will help keep the router stable

schuilchristiaan
added to the journal ago
Electrical drawing and addition to pcb
I realised i still didnt have a way to connect the motor to the PCB so i added some holes to the PCB so i can atach the wires here.

I then finished the wiring diagram of the CNC,

schuilchristiaan
added to the journal ago
Electrical drawing and addition to pcb
I started making the electrical drawing for my project i added in the laser module,

and wanted to end my nema 17 motors but realised i forgot to add the place to inset the A4988's on the PCB so i added these onto the PCB so that i can insert these and i dont have to wire them outside of the board.

schuilchristiaan
added to the journal ago
added end stops
i added endstops to the end of the Y-axis they connect to a 3d printed tube which connects to the SBR-16

I also added endstops to the X-axis wich is added to the holder for the X-axis

schuilchristiaan
added to the journal ago
added router and motors
I added the motor mounts and changed these since i wouldnt be able too insert the motor into the holder so i added a small slit into the holder so i can slide the motor in. I also added the holder for the router and the motor which will lift the router.

schuilchristiaan
added to the journal ago
restarted the 3d model
I was thinking about editing my 3D model to use the new parts but since i'm going to change the biggest parts i decided against that and i started from scratch again, i had to model up the parts for the linear rods and slide block so it took some time but i have a model that is starting to come alive a bit, i still have to add the router holder and all the motors back in. but the sliders are already done.

schuilchristiaan
added to the journal ago
BOM research and talking with my dad
I did a lot of research into parts for the CNC machine since i want it to be good on the first try, yhese are the parts i have selected for now thsi is without any long conduits.

I also talked to my dad about my design since he is quit handy and has a good view and knowledge of things he advised me to ditch the conduits for atleast the Y-axis and use SBR16 rails whcih sound like a great idea so im going to change my design to use these, since they are easyer to mount to a table or plank and are way sturdier then the conduits i was planning on using since im using these rails i want to also use special Linear Slide Block which are designed to be used with the SBR16 since these will glide way better then my own deign and thuse the CNC will function better. for the X-axis im going to use SFC20 rails since these are also stronger and will work better then the planned conduits, these SFC20 and SBR16 rails dont cost more then the planned conduits but will work a lot better so thats the reason i'm switching to these, unfortuantly this does mean i need to bassicly redisgn the whole CNC but i've learned alot of what i did before so it will become better and it will also eliminate one of my biggest worrys printability since i dont have to print these very strange shaped linear slides.

schuilchristiaan
added to the journal ago
routed almost everything
I thought i was done with routing everything but i forgot about J5 and J7 so i now have to route these which is going to be a pain but i do want to have the option of using the extra pins so im going to do my best. I also have to fix the DRM errors but i will do this after i routed J5 and J7

schuilchristiaan
added to the journal ago
routed the Vin to 5v
I routed the circuit thats going to take a voltage in and make it 5V i did this with cosidiration that everything should be close to each other and that some parts should use couper pours instead of traces i havent worked with this before if it wasnt a ground plane so it was a bit of trile and error to get it how i wanted it to be.

schuilchristiaan
added to the journal ago
Finished the schematic
I made a lot of small tweaks to the schematic and added alot of things, i added a place for the input voltage, mounting holes, terminal blocks for the motors and terminal blocks for other pins. after i did that i looked at other designs to see if mine looked good which i think it does so im going to the next step chossing the footprints and then design the actual PCB.

schuilchristiaan
added to the journal ago
progress on the schematic
I added a SD-cart holder so i can locally save my gcode and software so it isnt based on a connection with my computer, i also added some optocouplers so i can use endstops and other switches without having to worry about false triggers and if i short something on the switch side it wont be as big of a problem.
After that i connected everything to my esp32

schuilchristiaan
added to the journal ago
started the schematic
I started working on the schematic for the PCB, i added two I2S Pin Expanders since i need more pins then the esp32 has, the pins on these expanders are going to be used for motor control and since im going to have 4 motors i added two expanders since these will enable the use of 4 motors.
I also added a Vin to 5V circuit, with power led so i can power the esp32 from the Vin

schuilchristiaan
added to the journal ago
installed easyeda2kicad
Every time i want to make a PCB i find it hard to find some footprints for kicad buit i can always find them in easyeda, since its a bit of work every time to get it into kicad i wanted to automate this so i searched for a way to do this. i first installed a script to do the conversion work for me but since i still had to manualy run this i wasnt completly happy but then i found easyeda2kicad which is a plugin for kicad which does all the work for you you only have to insert a lcsc part number and you get the footprint and schematic.

schuilchristiaan
added to the journal ago
software
I wanted to start working on a PCB, but before i could do this i would need to know the software which im going to sue since this will have restraince which i will need to consider. I choose to use fluidnc since this uses an esp32 which im used to working with and is nice and fast, and it has some excellent open source boards which i can use as inspiration for my board.

schuilchristiaan
added to the journal ago
overhaul of the router holder
I did a complete overhaul of the part which is going to hold the router, since i didnt have any bearings in the first part which i do need so i added those and made it overall stronger. This was the old part:

And this is the new part:

I'm prabaly going to add more support to it but i first want to add the motor which is going to lift the router so i know wat can be reinvorced and what cant.
schuilchristiaan
added to the journal ago
added belt holders
I made a holder on which i can secure the belt, i dont know how i want to secure the belt yet so i didnt create that yet but im thinking about securing it with a bolt but dont know how actuactly yet.

I also changed the side of the motor on the right it was on the other side firstt but this would limit the amount of room the router could get so i changed it to the other side to get more usable space for the CNC.

schuilchristiaan
added to the journal ago
making the belt-driven axis motor connect to the glider
I first put it on the glider which i already had but this one wasnt big enough and i already thought it was going to be too wobbly so it extended the glider so it will fit and be less wobbly.
First design:

New design:

schuilchristiaan
added to the journal ago
belt-driven axis motor
I want move my motor with the router and not have it stationair since this will use less belt and thus be cheaper i modeled a way to do this:

The belt goes under the bearing's and over the drive pulley so it has a good contact with the drive pulley and can thus be moved using this contraption.
schuilchristiaan
added to the journal ago
added holder for router
I first made this deign where the router was between two tubes,

but i realised i couldnt get it to move up and down like this so i decided to completly oferhaul what i made already and switch to a design where the two tubes are on top of each other, i do still have to add rollers into the holder for the router but i made a first idea of how i want it to be.

schuilchristiaan
added to the journal ago
made the first connectors
I designed a connector which connects the X-rods to the Y-rods using bearings so it can glide along nicely.

I also designed a connector to connect the suport rods to the X-rods but now i think i need to make these stronger.

schuilchristiaan
added to the journal ago
Sketch
I made a sketch of hwo i want it to be so i can look at this when im designing the machine. Normally when i start a project i start by making the electronics and then making teh case or design around that but since this isnt a build which has to be pretty i think its going to be easyer to make the actual CNC first and then make the electronics to power everything im ofcourse keeping in mind that i need motors and belts and stuff like that.

schuilchristiaan
added to the journal ago
Starting
I did a lot of reasearch into different CNC builds, i liked some design like the workbee CNC but this one is way too expensive,

i then looked at some other design like the G300 but i dont think thats going to be strong enough since i want to use my cordless makita router so its going to have to be sturdy

Then i found out about the MPCNC (mostly printed CNC) which looks great and looks way sturdier and a bit cheaper then other designs so im going to base my design of of this one.

schuilchristiaan
started Custom CNC/Laser engraver ago
2/2/2026 2:09 PM - Starting
I did a lot of reasearch into different CNC builds, i liked some design like the workbee CNC but this one is way too expensive,

i then looked at some other design like the G300 but i dont think thats going to be strong enough since i want to use my cordless makita router so its going to have to be sturdy

Then i found out about the MPCNC (mostly printed CNC) which looks great and looks way sturdier and a bit cheaper then other designs so im going to base my design of of this one.

2/2/2026 2:51 PM - Sketch
I made a sketch of hwo i want it to be so i can look at this when im designing the machine. Normally when i start a project i start by making the electronics and then making teh case or design around that but since this isnt a build which has to be pretty i think its going to be easyer to make the actual CNC first and then make the electronics to power everything im ofcourse keeping in mind that i need motors and belts and stuff like that.

2/2/2026 4 PM - made the first connectors
I designed a connector which connects the X-rods to the Y-rods using bearings so it can glide along nicely.

I also designed a connector to connect the suport rods to the X-rods but now i think i need to make these stronger.

2/3/2026 2 PM - added holder for router
I first made this deign where the router was between two tubes,

but i realised i couldnt get it to move up and down like this so i decided to completly oferhaul what i made already and switch to a design where the two tubes are on top of each other, i do still have to add rollers into the holder for the router but i made a first idea of how i want it to be.

2/3/2026 3 PM - belt-driven axis motor
I want move my motor with the router and not have it stationair since this will use less belt and thus be cheaper i modeled a way to do this:

The belt goes under the bearing's and over the drive pulley so it has a good contact with the drive pulley and can thus be moved using this contraption.
2/4/2026 8 AM - making the belt-driven axis motor connect to the glider
I first put it on the glider which i already had but this one wasnt big enough and i already thought it was going to be too wobbly so it extended the glider so it will fit and be less wobbly.
First design:

New design:

2/4/2026 11:16 AM - added belt holders
I made a holder on which i can secure the belt, i dont know how i want to secure the belt yet so i didnt create that yet but im thinking about securing it with a bolt but dont know how actuactly yet.

I also changed the side of the motor on the right it was on the other side firstt but this would limit the amount of room the router could get so i changed it to the other side to get more usable space for the CNC.

2/4/2026 11:26 AM - overhaul of the router holder
I did a complete overhaul of the part which is going to hold the router, since i didnt have any bearings in the first part which i do need so i added those and made it overall stronger. This was the old part:

And this is the new part:

I'm prabaly going to add more support to it but i first want to add the motor which is going to lift the router so i know wat can be reinvorced and what cant.
2/4/2026 3 PM - software
I wanted to start working on a PCB, but before i could do this i would need to know the software which im going to sue since this will have restraince which i will need to consider. I choose to use fluidnc since this uses an esp32 which im used to working with and is nice and fast, and it has some excellent open source boards which i can use as inspiration for my board.

2/5/2026 10 AM - installed easyeda2kicad
Every time i want to make a PCB i find it hard to find some footprints for kicad buit i can always find them in easyeda, since its a bit of work every time to get it into kicad i wanted to automate this so i searched for a way to do this. i first installed a script to do the conversion work for me but since i still had to manualy run this i wasnt completly happy but then i found easyeda2kicad which is a plugin for kicad which does all the work for you you only have to insert a lcsc part number and you get the footprint and schematic.

2/5/2026 11 AM - started the schematic
I started working on the schematic for the PCB, i added two I2S Pin Expanders since i need more pins then the esp32 has, the pins on these expanders are going to be used for motor control and since im going to have 4 motors i added two expanders since these will enable the use of 4 motors.
I also added a Vin to 5V circuit, with power led so i can power the esp32 from the Vin

2/5/2026 4 PM - progress on the schematic
I added a SD-cart holder so i can locally save my gcode and software so it isnt based on a connection with my computer, i also added some optocouplers so i can use endstops and other switches without having to worry about false triggers and if i short something on the switch side it wont be as big of a problem.
After that i connected everything to my esp32

2/6/2026 11 AM - Finished the schematic
I made a lot of small tweaks to the schematic and added alot of things, i added a place for the input voltage, mounting holes, terminal blocks for the motors and terminal blocks for other pins. after i did that i looked at other designs to see if mine looked good which i think it does so im going to the next step chossing the footprints and then design the actual PCB.

2/6/2026 12 PM - routed the Vin to 5v
I routed the circuit thats going to take a voltage in and make it 5V i did this with cosidiration that everything should be close to each other and that some parts should use couper pours instead of traces i havent worked with this before if it wasnt a ground plane so it was a bit of trile and error to get it how i wanted it to be.

2/6/2026 3 PM - routed almost everything
I thought i was done with routing everything but i forgot about J5 and J7 so i now have to route these which is going to be a pain but i do want to have the option of using the extra pins so im going to do my best. I also have to fix the DRM errors but i will do this after i routed J5 and J7

2/7/2026 11 AM - BOM research and talking with my dad
I did a lot of research into parts for the CNC machine since i want it to be good on the first try, yhese are the parts i have selected for now thsi is without any long conduits.

I also talked to my dad about my design since he is quit handy and has a good view and knowledge of things he advised me to ditch the conduits for atleast the Y-axis and use SBR16 rails whcih sound like a great idea so im going to change my design to use these, since they are easyer to mount to a table or plank and are way sturdier then the conduits i was planning on using since im using these rails i want to also use special Linear Slide Block which are designed to be used with the SBR16 since these will glide way better then my own deign and thuse the CNC will function better. for the X-axis im going to use SFC20 rails since these are also stronger and will work better then the planned conduits, these SFC20 and SBR16 rails dont cost more then the planned conduits but will work a lot better so thats the reason i'm switching to these, unfortuantly this does mean i need to bassicly redisgn the whole CNC but i've learned alot of what i did before so it will become better and it will also eliminate one of my biggest worrys printability since i dont have to print these very strange shaped linear slides.

2/7/2026 2 PM - restarted the 3d model
I was thinking about editing my 3D model to use the new parts but since i'm going to change the biggest parts i decided against that and i started from scratch again, i had to model up the parts for the linear rods and slide block so it took some time but i have a model that is starting to come alive a bit, i still have to add the router holder and all the motors back in. but the sliders are already done.

2/8/2026 2 PM - added router and motors
I added the motor mounts and changed these since i wouldnt be able too insert the motor into the holder so i added a small slit into the holder so i can slide the motor in. I also added the holder for the router and the motor which will lift the router.

2/8/2026 4 PM - added end stops
i added endstops to the end of the Y-axis they connect to a 3d printed tube which connects to the SBR-16

I also added endstops to the X-axis wich is added to the holder for the X-axis

2/9/2026 12 PM - Electrical drawing and addition to pcb
I started making the electrical drawing for my project i added in the laser module,

and wanted to end my nema 17 motors but realised i forgot to add the place to inset the A4988's on the PCB so i added these onto the PCB so that i can insert these and i dont have to wire them outside of the board.

2/9/2026 2 PM - Electrical drawing and addition to pcb
I realised i still didnt have a way to connect the motor to the PCB so i added some holes to the PCB so i can atach the wires here.

I then finished the wiring diagram of the CNC,

2/10/2026 - Made a changeable toolhead and added last limit switches
I designed the holder for the router/laser so that i can easily change between the two since i didnt want to have the weight of two heads on my axis i made it changeable i also added the last limit switches into the design

I then modeled a holder for the laser but since i'm ordering from alie i dont have a data sheet so i dont know 100% certain it will fit so i made it how i think its going to work but im most likely going to have to change it.

I also added this small piece to the model which will help keep the router stable
