8. Electronics Production¶
This week we focused on two things: characterizing the design rules for our in-house PCB milling process, and submitting a PCB design to a board house.
This week’s work started as a group effort. We characterized the milling process together, which gave me a solid foundation for my individual work. More details on the group assignment can be found here.
Our Setup¶
Both the Dilijan and Gyumri labs use the Roland SRM-20 CNC machine for milling PCBs. Before starting the practical work, our instructor Onik Babajanyan walked us through the essential electronic components — resistors, capacitors, LEDs, diodes, MOSFETs, voltage regulators, and transistors — and explained how each one functions in a circuit.

Preparing the Board¶
To secure the copper board to the MDF bed, we used double-sided tape. The milling depth for traces is only 0.1mm, so even slight warping can cause problems — either not cutting deep enough, or cutting too deep. The tape keeps the board flat and firmly in place.

For stronger adhesion, we placed an 18mm plywood sheet on top and clamped it down for 10–15 minutes before starting.

Once the board was secure, we put the removable table back in and fastened it with screws.

Machine Calibration¶
We used VPanel for SRM-20 to control the machine.

Because the board is replaced almost every session and isn’t always in the same position, XY zero needs to be reset each time. We moved the bit to the bottom-left corner and pressed the X/Y button to set the origin.

Z calibration is done manually — we lowered the bit close to the surface, released it with a hex key, let it touch the board, then tightened and pressed Z to zero.

One important detail: when using .nc files, coordinate systems G54–G59 are available. Files generated with modsproject default to G54, so the zeroing needs to match that.

G-code Generation¶
As a test we used the standard Fab Academy line test design. We wanted to compare two bit types: a 1/64” flat end mill and a 30° V-bit.

For G-code we used Fab Mods — under Programs → mill 2D PCB. It accepts SVG or PNG input; we used PNG.

Flat End Mill¶
We selected Traces as the operation and set the tool diameter to 0.4mm (metric bits in the Gyumri lab). Max depth was left at 0.1mm — the copper layer is only 0.07mm thick, so that’s enough. Cut depth stayed at 25% of the bit diameter.


Worth noting: the actual spindle speed doesn’t reach the set value — it runs at around 9000 RPM in practice.
After clicking Calculate, a 3D preview and path visualization appeared before saving the file.


V-bit¶
The process is the same, but the standard tool options only offer 60° and 40° — our bit is 30°. We used the V-bit calculator, entered a tip diameter of 0.1mm and a 30° angle, set cut depth to 0.1mm, and clicked Send calculated settings.

Milling¶
We opened VPanel, clicked Cut, cleared the previous file with Delete All, loaded the new .nc file, and clicked Output.


Results¶

The flat end mill produced clean, well-defined traces across all widths — even the narrowest gaps at 0.001” were clearly separated.
The V-bit results were less consistent. With the offset number set to 4 and a very small tip diameter, some copper areas between passes weren’t fully cleared. We also sanded the V-bit section after milling, which affected how it looks in comparison.
For reliable PCB fabrication, the flat end mill is the clear choice.