Project · September 2026 · working

SRM-CAM: PCB milling software

My CAM application turns KiCad boards into milling jobs for the Roland SRM-20. Used daily at the DTU Ballerup fab lab.

PythonPySide6CNC / grblArduinoSPIReverse engineeringComputational geometryKiCadDesktop app

View on GitHub ↗

Personal project. I built the CAM software and reverse-engineered the mill’s SPI interface, covering probing, double-sided registration, and machine control.

SRM-CAM in forty seconds: KiCad Gerbers in, a milled board out.
SRM-CAM v0.5 — the run plan down the left rail, the machine bed with a board and its isolation toolpaths in the middle, and the selected step’s parameters on the right
The milling interface: board preview and ordered run plan.

The challenge

A bowed PCB left isolation cuts unfinished. I replaced three-point leveling with a probed grid that follows the actual copper surface.

Results

Milled double-sided PCB, front copper, held to the light Milled double-sided PCB, back copper, held to the light
A double-sided board milled with SRM-CAM.

Code, design files & full documentation →

← All projects