Week08
Week 8 Group assignment:¶
- Characterize the design rules for your in-house PCB production process: document the settings for your machine.
- Document the workflow for sending a PCB to a boardhouse
- Document your work to the group work page and reflect on your individual page what you learned
Enabling milling circuit boards¶
Instructor: Take
Students: Bara, Yoshi
Since planned milling machine isn’t available due to delivery delay, we purchased affordable LUNYEE 3018 PRO MAX by it having good reputation. Since end mills Take brought was 4 mm shaft we used TRUSCO ER11-4 Collet. Using collets that’s not cheap is good to avoid axial runout. Axial runout may cause wider milling and breaking end mills.
We recommended to use non glass fiber t=1.6mm Copper Clad Laminate. Take recommended Nitoms Transparent Double-Sided Tape No.539R 15 mm x 20 m to fix raw PCB on the spoilboard.

The controller on LUNYEE 3018 PRO MAX has Z-probing function but we used CNCjs as an interface so we couldn’t use Z-probing. If we use Candle, there are auto leveling function that probes and absorbs the slope of the sat board.
So, Take prompt Google Gemini to write a G-code to flatting. Unfortunately, that prompt was in Japanese but it was “generated the G-code for a 120mm (Width) x 100mm (Depth) surface leveling operation, optimized for small CNC machines like LUNYEE”. That g-code assumed 6mm Flat Endmill but we are going to use 3mm, so Take added “remake it using a 3mm end mill”. And we got W8_surfacing.nc. We put t=3mm MDF as a spoilboard and surface leveled it by using that G-code.
MODS¶
After that, we tried to mill a tester. The data was from [CAM]-[trace width] section of Fab Academy 2026 page. There are linetest.traces.png and linetest.interior.png. We can generate G-code from these PNG by using MODS.
On MODS, we read PNG file on “read png” section. And then goes to “set PCB defaults” section. For traces, click “isolate traces (1/64)” button. A preset tool diameter 0.0156inch is almost 0.4mm and it is our endmill cutting diameter. For outline (interior), we choose “mill outline (1/32)” is this section. A preset tool diameter 0.0312inch is almost 0.8mm and this is our endmill cutting diameter.
After sat up, go to the “mill raster 2D” section, and hit the calculate button. So that tool path will be drawn on the bottom window and g-code will be downloaded automatically.
Test-fire¶
After that, I open the g-code file with CNCjs and started milling.

When you change endmills
To avoid damages to endmill blade, remember to hold endmill when you loosen shank.

The bottom part should be test for trace. It looks 0.001-0.002 inch width traces were broken and 0.003-0.005 inch width are risky. I may set minimum trace width as 0.010inch ( 10mil, 0.254mm ). Top (or center) part looks tester for clearance. It look we need to have at least 0.020inch ( 20mil, 0.508mm ) as clearance.
Design rules¶
With 0.4mm tip endmill, design rules would be
- Minimum trace width: 10mil
- Minimum clearance: 20mil
Consumables¶
Here is the list of consumables.
- non glass fiber t=1.6mm Copper Clad Laminate
- Nitoms Transparent Double-Sided Tape No.539R 15 mm x 20 m
- Tip: 0.4mm Shank Diameter: 4mm endmill
- Tip: 0.8mm Shank Diameter: 4mm endmill
- t=3mm MDF for spoilboard
We have 1/8” Shank collet bundled with the machine.