Vectora CNC
VectoraCNC is a custom-designed desktop CNC machine. Built using mainly 2020 and 2040 aluminum extrusions, linear rails, and NEMA 17 stepper motors, this CNC aims to deliver reliable performance in a compact design while maintaining a budget build cost of approximately $400. Simple Desktop CNC This design aims to deliver a reliable CNC machine for makers, focused on affordability, while being a future-proof platform for upgrades and modifications.
Created by
Pegoku π
Tier 1
34 views
0 followers
CAN β‘π
approved Vectora CNC ago
Tickets awarded: 675 tickets
Tier: 1
Awesome project!
Pegoku π
submitted Vectora CNC for ship review ago
alexren β‘π
requested changes for Vectora CNC ago
awesome job posting on reddit - you should have a video demo though!
Tier: 1
Pegoku π
submitted Vectora CNC for ship review ago
Pegoku π
added to the journal ago
Github and Demo
I polished a bit the github and did a post in Reddit r/hobbycnc
https://www.reddit.com/r/hobbycnc/comments/1ridcek/built_a_400_desktop_cnc_at_17_vectoracnc/
I also did a banner for the project

Pegoku π
added to the journal ago
FreeCAD has CAM?!?
Now with the machine assembled, I started to lean CAM. And I learnt FreeCAD has CAM, this is something kinda obvious, but didn't think about that.
So, I did quite a bit of research about what even is CAM, bc I had never used it, and it is the way to generate "paths" for the cnc to use to generate the object. ie. generate Gcode for the CNC.
I watched a short "masterclass" about freecad which was 1.5h (not counting that for the project time, as I wasn't really doing anything, just watching a video). After which I started to test FreeCAD's CAM. It was quite strage to use, but I ended up being able to use it.
First, I got a random wood piece I had lying around, and tried to machine it, and... I broke 2 times a drill bit, converting a 70mm M3 drill bit, to a 22mm one...


oh, yeah, I don't have endmills, only drill bits,, to,, like,, drill things... hope that is not a problem (foreshadowing);
but after many attempts I was able to turn a "simple" CAD piece into a IRL wood picece, which was quite cool tbh.

Also, I found the cause of why the computer did strange stuff when I connected it to the controller. The spindle is an EMI generator. The spindle was 90V AC in reference to earth, and that's why I thought about connecting it to ground via a terminal, which worked, and I was able to do the following piece without crashing the PC :yay:

Then, I upped a bit the level, and designed a more complex piece.

which I turned into this

this time I only broke 1 drill bit :yay: I'm learning... π
btw, the piece came off the build plate and broke bc of bad planinning, so used a bit of blue tape and superglue, which worked better than what I thought

And with that, I consider the project finished. I hope this is enough π€
PS: sorry for making so long updates, but I forget to post
Pegoku π
added to the journal ago
Finished assembly and it homes!
Assembly
First of all, I continued the assembly.
I started with improving the Y axis motor support, as the previous one was too woobly. While that was printing, I did the X axis motor, but it seems I did sth wrong in the design, and I had to grind the motor and aluminum extrusion to fit the coupling and motor.



After that, I did the Z carriage/spindle holder. I was going to machine a part out of aluminum here localy, but when I asked for a quote, they gave me 270β¬ for that piece, so I ended up 3d printing it with 100% infill, and in the future, I will make it myself.

To that piece I screwed the linear rails and the spindle.

Then attached the Z motor, but had to modify the support, as the screws I bought were too short.

Electronics
Now I started with the electronics.
First, I did some tests with the spindle, to check it and the PSU worked.

Then, I added the 24V PSU, Spindle PSU and controller + the PWM to DAC (0~10V) board., but got a problem... I fried it... Instead of a 3.3V signal, I sent it a 24V one π€£π.
I also blew up the mosfet bc it got shorted π¬, luckily I had equivalent ones which I could use to replace it.
But, then I thought I could just use the 24V signal, but with a max duty cycle of ~ 106/255, so I would get an average voltage of ~10V. This worked! After fidling around with pull-down resistors, bc the spindle sometimes span up b of "ghost voltage" I ended up adding a 30k resistor between the pins of the controller.

Then, I played a bit with sensorless homing, and I played a bit too much... 'cause this happened ...

It still works,, kinda... π€¦ββοΈ.
Anyways, I added endstops to the Z (to measure the relative Z of the tool, and for the Y. I was able to get consistent X sensorless homing, so no need for endstop to for that.
Coding
I flashed the controller, installed cncjs, and started testing. I did the sensorless homing tuning, endstops, and then, I went to do the spindle speed calibration, and, well... something happened.
I was using an USB extension cord, and it seems it was acting as an antenna,and it crashed my laptop... but before that, it displayed some cool graphics.

After force-rebooting the pc, I continued tuning the cnc. After quite a lot of trial and error, I was able to get a working homing sequence!
Pegoku π
added to the journal ago
Assembling is fun... except when it isn't
Drilling
Ok, so first of all, I disassembled the test assmebly I did previously, and using the Drill markers I did previously and a Center punch I marked where I needed to drill.
Then, I found out my uncle had a Bench Drill Press π€―.
Luckily, his house is only 20 minutes...
The next day I went there afeter school, and started drilling.
I did this jig, so it would be easier for me to hold on the 2020 and 2040 extrusions.

Then, I started drilling. it took a while, but I was able to do all M6 holes

I also used a 10mm drill so to enlarge the outer hole, so M6 DIN912 screws would fit.

Also drilled the X axis, so the T8 rod would fit through it

After that, I went to use the M3 drill bit, which worked well even though it had a strange shape.


Except bc it got stuck in one of the baseplates holes, and broke π

Luckily was able to fix it designing another drill jig, and drilling from the back.
.
PS: I also tapped the extrusions, but don't have images of that.
Assembly
I did the base frame, but forgot to add the T-Nuts ... so had to dissasemble it...
After that, I added the two Y rail support extrusions.

Then, I did the base and the Y rails. 2 screws didn't fit, and was too lazy to fix it, so I'll just leave it as is for now.


After that, I did the X carriage, which took a while to get the rails parallel.


Next, I was going to add the Y motor mount, but got a problem, I forgot to add the T-Nuts, again...
So, as a temp fix, I used the M3 drop-in t-nuts I had from a past project.


Pegoku π
added to the journal ago
Test assembly
Most of the components have arrived (iirc, only a few screws are missing). I did a test assembly, and it fit!.
I think it is going to look quite cool when finished.

I also designed a few templates I can use to drill the holes "precisely".


Iamalive π
approved Vectora CNC ago
Tier approved: 1
Grant approved: $388.00
Great work! Good luck making it :)
Pegoku π
submitted Vectora CNC for ship review ago
Pegoku π
added to the journal ago
Custom Homing macro and tool lenght calculation for the CNC
I was asked to write some code for the CNC, so I did.
This was something I was going to do anyway, and I'd rather do it when having the machine built, so I could slowly write it, and ensure it works instead of just writing a bunch of code without testing it.
Anyway, I wrote a custom macro (M2000) so I can home the CNC in X, Y, Z, and Z height.
It works as follows:
- Stop spindle
- Home X, then Y
- Raise Z and move to tool setter
- First probe (no tool) β saves reference height
- Raise Z and move aside for tool change
- Wait for user (send M108 after inserting tool)
- Return to tool setter
- Second probe (with tool) β calculates tool length
- Ready to cnc!

PS: I liked doing it this way, bc it was a way to learn how marlin works, even though, I am not sure if this will work, and prob will have to refine it later.
PS2: Hope this is enough to get my project accepted π€, really want to start building it.
Iamalive π
requested changes for Vectora CNC ago
As your project currently stands, you can either submit this as a tier 2 or take time and write code for the cnc to justify the cost. Additionally, it does not take 10 hours to decide a bom and create a readme. Please fix your time!
Pegoku π
submitted Vectora CNC for ship review ago
PenguinMo
requested changes for Vectora CNC ago
Update funding price to 385 extra funding will be giving to u in case u mess up later
Pegoku π
submitted Vectora CNC for ship review ago
Pegoku π
added to the journal ago
Note to reviewers
Note to reviewers: the final price I have is $410, NOW, I can't go any lower than that. The $385 was during black friday, but that is no longer the current/real price.



Iamalive π
requested changes for Vectora CNC ago
Since you stated that this would only cost around $385, please update to requested funding
Pegoku π
submitted Vectora CNC for ship review ago
Pegoku π
added to the journal ago
Add BOM and update item prices
As requested, I have added the BOM.csv file to the repo, and also, I have updated the item prices.
Due to Cyber Monday ending, many items have increased in price, this means, the total has increased from $383.19 to $411.86, a $28.67 increase. Luckily, I've been able to gather some screws and other parts from old projects, and I think I'll be able to build it without them, lowering the total to around $405.
I also found a working coupon code, sadly it is only 41β¬ instead of the 45.5β¬ of the previous one.

1mon β‘
requested changes for Vectora CNC ago
please upload a bom.csv to your repo!
Pegoku π
submitted Vectora CNC for ship review ago
Iamalive π
requested changes for Vectora CNC ago
Please upload your cart screenshots so the cart is in multiple photos as I cannot read the name of each item that you are requesting in the current photo.
Pegoku π
submitted Vectora CNC for ship review ago
Pegoku π
added to the journal ago
Finish BOM!
After too much time looking for the cheapest screws (I have opened + 220 tabs only for screws). I FINALLY FINISHED THE BOM!
It took a while, but is finished now!
Luckily, I found a -44.27β¬ discount code, and that reduced the total cost of the project to: 329.95β¬ ($383.19).
PS: I had to do some modifications to the CAD because some screws aren't available. Also did the README.md

Pegoku π
added to the journal ago
Finish electronics
I placed all the electronics (PSUs, Controllers, etc).
I hope this works, as I am going to use a PWM to 0-10V adapter to replace the potentiometer.

Now, time for the BOM!
Pegoku π
added to the journal ago
Screwed!
I just finished placing drilling and placing all the screws. I think they'all should fit π€
This is what I've got:

Now I'll add the PSU, Controller, etc.
Pegoku π
added to the journal ago
Structural rigidity
I've been adding screw holes, extrusion 90ΒΊ corners, etc. So the CNC is way more rigid, I'll be using part aluminum corners, part 3d printed ones.
I hope this is strong enough.

Pegoku π
added to the journal ago
Mostly finished CNC
Most of the design is finished, I only need to add the remaining screws, electronics, and do a final check to the BOM.
This is what I've got so far.

I think I'm close to finishing!
Pegoku π
added to the journal ago
Finish Z axis
I just finished the Z axis. It will use the same motor as the X and Y axis, so I can simplify the BOM.
I will have to check cleareances with the motor, but it should fit, if not, I can just add spacers/washers.

Pegoku π
added to the journal ago
Finish Spindle Mount
I've been working in the spindle mount/Z axis mechanism for quite a while. I have tried many mounting options, but I finally decided on one.
I will use 2x MGN15H rails and an aluminum/3d printed (temporary) adapter to join the spindle clamp to the MGN15H blocks.
Hope this is a good design.

Pegoku π
added to the journal ago
Work on the X axis
I've been working on the X axis.
I will use 2040 aluminum extrusions on the sides, and a 2080x350 to hold the main spindle. I will be using MGN15H for the X axis, and MGN12H for the Z axis.
This is what I've got so far:

Pegoku π
added to the journal ago
Switch to linear rails, and restructure the base
I've modified the base so it now uses 2x mgn15H rails instead of the linear shafts.
I've also mostly finished the base structure.
The main problem with using Linear rails is I have no way to mount them to the bed, so I will have to drill the aluminum bed so I can screw it to the blocks. Hope it goes well.


Pegoku π
added to the journal ago
Change plans
Switching plans!
I found out about the 15180 aluminum extrusions (15x180) and they're cheaper, lighter and easier to use than 2x 20100 for the bed.
Also, I will probably go with linear rails, as they're stiffer than the linear shafts.
This is what I've got.

Pegoku π
added to the journal ago
Start planning and design
For this CNC, I'll want something big-ish that fits on a desk. Want it to be able to cut wood, plastics and some soft metals, e.g. aluminum, even if it's at a slow speed.
This is the idea:
The dimensions I have in mind are: 300x200x5.
Bed made out of some t-nut compatible shape, so I can clamp parts. I'll probably make it out of 2x 20100 x 300mm
Network connectivity, preferably wired. (probably using CNCjs)
Only 1 PSU.
This is the BOM I have for now. Prob will change many things
https://docs.google.com/spreadsheets/d/13GKgM2DIBkM6Ly_OZJB4GLy0vwwSqJ-mRrfgNgf3ems/edit?usp=sharing
Also, I started the CAD.
This is what I've got done for now.

Pegoku π
started Vectora CNC ago
11/5/2025 - Start planning and design
For this CNC, I'll want something big-ish that fits on a desk. Want it to be able to cut wood, plastics and some soft metals, e.g. aluminum, even if it's at a slow speed.
This is the idea:
The dimensions I have in mind are: 300x200x5.
Bed made out of some t-nut compatible shape, so I can clamp parts. I'll probably make it out of 2x 20100 x 300mm
Network connectivity, preferably wired. (probably using CNCjs)
Only 1 PSU.
This is the BOM I have for now. Prob will change many things
https://docs.google.com/spreadsheets/d/13GKgM2DIBkM6Ly_OZJB4GLy0vwwSqJ-mRrfgNgf3ems/edit?usp=sharing
Also, I started the CAD.
This is what I've got done for now.

11/7/2025 - Change plans
Switching plans!
I found out about the 15180 aluminum extrusions (15x180) and they're cheaper, lighter and easier to use than 2x 20100 for the bed.
Also, I will probably go with linear rails, as they're stiffer than the linear shafts.
This is what I've got.

11/8/2025 12 PM - Switch to linear rails, and restructure the base
I've modified the base so it now uses 2x mgn15H rails instead of the linear shafts.
I've also mostly finished the base structure.
The main problem with using Linear rails is I have no way to mount them to the bed, so I will have to drill the aluminum bed so I can screw it to the blocks. Hope it goes well.


11/8/2025 9 PM - Work on the X axis
I've been working on the X axis.
I will use 2040 aluminum extrusions on the sides, and a 2080x350 to hold the main spindle. I will be using MGN15H for the X axis, and MGN12H for the Z axis.
This is what I've got so far:

11/16/2025 - Finish Spindle Mount
I've been working in the spindle mount/Z axis mechanism for quite a while. I have tried many mounting options, but I finally decided on one.
I will use 2x MGN15H rails and an aluminum/3d printed (temporary) adapter to join the spindle clamp to the MGN15H blocks.
Hope this is a good design.

11/23/2025 - Finish Z axis
I just finished the Z axis. It will use the same motor as the X and Y axis, so I can simplify the BOM.
I will have to check cleareances with the motor, but it should fit, if not, I can just add spacers/washers.

11/29/2025 - Mostly finished CNC
Most of the design is finished, I only need to add the remaining screws, electronics, and do a final check to the BOM.
This is what I've got so far.

I think I'm close to finishing!
11/30/2025 12 PM - Structural rigidity
I've been adding screw holes, extrusion 90ΒΊ corners, etc. So the CNC is way more rigid, I'll be using part aluminum corners, part 3d printed ones.
I hope this is strong enough.

11/30/2025 6 PM - Screwed!
I just finished placing drilling and placing all the screws. I think they'all should fit π€
This is what I've got:

Now I'll add the PSU, Controller, etc.
11/30/2025 7 PM - Finish electronics
I placed all the electronics (PSUs, Controllers, etc).
I hope this works, as I am going to use a PWM to 0-10V adapter to replace the potentiometer.

Now, time for the BOM!
12/1/2025 - Finish BOM!
After too much time looking for the cheapest screws (I have opened + 220 tabs only for screws). I FINALLY FINISHED THE BOM!
It took a while, but is finished now!
Luckily, I found a -44.27β¬ discount code, and that reduced the total cost of the project to: 329.95β¬ ($383.19).
PS: I had to do some modifications to the CAD because some screws aren't available. Also did the README.md

12/5/2025 - Add BOM and update item prices
As requested, I have added the BOM.csv file to the repo, and also, I have updated the item prices.
Due to Cyber Monday ending, many items have increased in price, this means, the total has increased from $383.19 to $411.86, a $28.67 increase. Luckily, I've been able to gather some screws and other parts from old projects, and I think I'll be able to build it without them, lowering the total to around $405.
I also found a working coupon code, sadly it is only 41β¬ instead of the 45.5β¬ of the previous one.

12/11/2025 - Note to reviewers
Note to reviewers: the final price I have is $410, NOW, I can't go any lower than that. The $385 was during black friday, but that is no longer the current/real price.



12/27/2025 - Custom Homing macro and tool lenght calculation for the CNC
I was asked to write some code for the CNC, so I did.
This was something I was going to do anyway, and I'd rather do it when having the machine built, so I could slowly write it, and ensure it works instead of just writing a bunch of code without testing it.
Anyway, I wrote a custom macro (M2000) so I can home the CNC in X, Y, Z, and Z height.
It works as follows:
- Stop spindle
- Home X, then Y
- Raise Z and move to tool setter
- First probe (no tool) β saves reference height
- Raise Z and move aside for tool change
- Wait for user (send M108 after inserting tool)
- Return to tool setter
- Second probe (with tool) β calculates tool length
- Ready to cnc!

PS: I liked doing it this way, bc it was a way to learn how marlin works, even though, I am not sure if this will work, and prob will have to refine it later.
PS2: Hope this is enough to get my project accepted π€, really want to start building it.
2/23/2026 - Test assembly
Most of the components have arrived (iirc, only a few screws are missing). I did a test assembly, and it fit!.
I think it is going to look quite cool when finished.

I also designed a few templates I can use to drill the holes "precisely".


2/26/2026 - Assembling is fun... except when it isn't
Drilling
Ok, so first of all, I disassembled the test assmebly I did previously, and using the Drill markers I did previously and a Center punch I marked where I needed to drill.
Then, I found out my uncle had a Bench Drill Press π€―.
Luckily, his house is only 20 minutes...
The next day I went there afeter school, and started drilling.
I did this jig, so it would be easier for me to hold on the 2020 and 2040 extrusions.

Then, I started drilling. it took a while, but I was able to do all M6 holes

I also used a 10mm drill so to enlarge the outer hole, so M6 DIN912 screws would fit.

Also drilled the X axis, so the T8 rod would fit through it

After that, I went to use the M3 drill bit, which worked well even though it had a strange shape.


Except bc it got stuck in one of the baseplates holes, and broke π

Luckily was able to fix it designing another drill jig, and drilling from the back.
.
PS: I also tapped the extrusions, but don't have images of that.
Assembly
I did the base frame, but forgot to add the T-Nuts ... so had to dissasemble it...
After that, I added the two Y rail support extrusions.

Then, I did the base and the Y rails. 2 screws didn't fit, and was too lazy to fix it, so I'll just leave it as is for now.


After that, I did the X carriage, which took a while to get the rails parallel.


Next, I was going to add the Y motor mount, but got a problem, I forgot to add the T-Nuts, again...
So, as a temp fix, I used the M3 drop-in t-nuts I had from a past project.


2/28/2026 - Finished assembly and it homes!
Assembly
First of all, I continued the assembly.
I started with improving the Y axis motor support, as the previous one was too woobly. While that was printing, I did the X axis motor, but it seems I did sth wrong in the design, and I had to grind the motor and aluminum extrusion to fit the coupling and motor.



After that, I did the Z carriage/spindle holder. I was going to machine a part out of aluminum here localy, but when I asked for a quote, they gave me 270β¬ for that piece, so I ended up 3d printing it with 100% infill, and in the future, I will make it myself.

To that piece I screwed the linear rails and the spindle.

Then attached the Z motor, but had to modify the support, as the screws I bought were too short.

Electronics
Now I started with the electronics.
First, I did some tests with the spindle, to check it and the PSU worked.

Then, I added the 24V PSU, Spindle PSU and controller + the PWM to DAC (0~10V) board., but got a problem... I fried it... Instead of a 3.3V signal, I sent it a 24V one π€£π.
I also blew up the mosfet bc it got shorted π¬, luckily I had equivalent ones which I could use to replace it.
But, then I thought I could just use the 24V signal, but with a max duty cycle of ~ 106/255, so I would get an average voltage of ~10V. This worked! After fidling around with pull-down resistors, bc the spindle sometimes span up b of "ghost voltage" I ended up adding a 30k resistor between the pins of the controller.

Then, I played a bit with sensorless homing, and I played a bit too much... 'cause this happened ...

It still works,, kinda... π€¦ββοΈ.
Anyways, I added endstops to the Z (to measure the relative Z of the tool, and for the Y. I was able to get consistent X sensorless homing, so no need for endstop to for that.
Coding
I flashed the controller, installed cncjs, and started testing. I did the sensorless homing tuning, endstops, and then, I went to do the spindle speed calibration, and, well... something happened.
I was using an USB extension cord, and it seems it was acting as an antenna,and it crashed my laptop... but before that, it displayed some cool graphics.

After force-rebooting the pc, I continued tuning the cnc. After quite a lot of trial and error, I was able to get a working homing sequence!
3/1/2026 - FreeCAD has CAM?!?
Now with the machine assembled, I started to lean CAM. And I learnt FreeCAD has CAM, this is something kinda obvious, but didn't think about that.
So, I did quite a bit of research about what even is CAM, bc I had never used it, and it is the way to generate "paths" for the cnc to use to generate the object. ie. generate Gcode for the CNC.
I watched a short "masterclass" about freecad which was 1.5h (not counting that for the project time, as I wasn't really doing anything, just watching a video). After which I started to test FreeCAD's CAM. It was quite strage to use, but I ended up being able to use it.
First, I got a random wood piece I had lying around, and tried to machine it, and... I broke 2 times a drill bit, converting a 70mm M3 drill bit, to a 22mm one...


oh, yeah, I don't have endmills, only drill bits,, to,, like,, drill things... hope that is not a problem (foreshadowing);
but after many attempts I was able to turn a "simple" CAD piece into a IRL wood picece, which was quite cool tbh.

Also, I found the cause of why the computer did strange stuff when I connected it to the controller. The spindle is an EMI generator. The spindle was 90V AC in reference to earth, and that's why I thought about connecting it to ground via a terminal, which worked, and I was able to do the following piece without crashing the PC :yay:

Then, I upped a bit the level, and designed a more complex piece.

which I turned into this

this time I only broke 1 drill bit :yay: I'm learning... π
btw, the piece came off the build plate and broke bc of bad planinning, so used a bit of blue tape and superglue, which worked better than what I thought

And with that, I consider the project finished. I hope this is enough π€
PS: sorry for making so long updates, but I forget to post
3/2/2026 - Github and Demo
I polished a bit the github and did a post in Reddit r/hobbycnc
https://www.reddit.com/r/hobbycnc/comments/1ridcek/built_a_400_desktop_cnc_at_17_vectoracnc/
I also did a banner for the project
