I write this guide because I think It's helpful starter tutorial to milling PCB in a very simple way and low budget.
You can find complete and updated project here https://www.mischianti.org/category/tutorial/milling-pcb-tutorial/
If you have some passion for homemade things you must build a router.
To build It you need arduino an old scanner and an old printer.
I write old in bold because new device sometime haven't a stepper motor but brush motor with feedback device.
Than If you have at home a dremel like It's perfect to complete your CNC.
My CNC is that (a mix of drawer guides, epson gt-8700 and Lexmark x642e all completed with plexyglass).
www.mischianti.org
Component of CNC
Program/firmware on Arduino
For the project I select a single side Copper clad plate 1.5mm thin.
Exists 2 variant one with yellow (laminate) and other white material (Glass Fiber), the second one is better for milling.
This program is what I like to use to control my CNC but you can use what you want.
To start we need a project, I like to create a fast prototype board for my IC, and I like to program with ESP01, I like to work with only two wire (so I can use Serial olso), so PCF8574 IC a I/O port expander via i2c protocol is my first prototype board.
The input female pin is GND, VCC, SDA and SCL, the dipswitch-03 is for setting address of i2c.
Then there are 8 female pin for I/O (P0-P7) and a Interrupt pin near SDA SCL pin.
You can find library to use in a simple manner the IC here and the instructable here.
Than in the third tab you have a scrambled PCB and here we must work.
Positioning is very simple, so I add only some advice.
First I set some default value on my FlatCam.
I set 0.57 for tool dia[meter] because it is the max tool size without too many overlaps.
For Excellon (drill information), I set it to 1.5mm because this is the thickness of the copper clad that I buy.
Paint area I set overlap (0.01) and margin (0.1) very low to create small letter.
Border put 0.1 to margin, other value is reccomended.
The last one is drilling but Excellon is already geometry.
I don't want to change the bit; I've use the same bit all along and a punching tool to enlarge the smallest part of the V hole. Or if can set low dept and finish hole with a 0.75mm bit.
I also use the punching tool to remove the copper connections that aren't removed by the CNC.
Here a simulation of Universal GCode Sender.
Finish copper bottom routing.
This version is my smallest size of the board, with very thin copper wire at 45° curves.
Link to library here.