Install & KiCad

Install SRM-CAM, learn the four regions of the window and Novice and Pro, and get the right files out of KiCad. Then go on to Mill a board.

Install

PlatformGet itNotes
WindowsSRM-CAM-Setup.exeNo Python needed. Start-menu entry, Documents\SRM-CAM\ workspace. Install a new version over the old one; setups and profiles survive.
LinuxSRM-CAM-x86_64.AppImage from the latest releasechmod +x, run. No install, no root; it carries its own Qt. The machine link is Windows-only: prepare and export on Linux, send the files from VPanel on a Windows PC, and carry a probed height map over as a CSV.
From sourcepip install -e ".[gui]" then python -m gerber2rmlAfter a git pull, python -m gerber2rml.doctor installs anything new.

No PC at the mill?

The lab's CNC PC has SRM-CAM and VPanel on it. If it isn't free, install both on your own Windows laptop (the link and VPanel are Windows-only) and plug in the two USB cables yourself.

Two cablesThe white USB is the mill, for VPanel; the black USB is the Arduino probe link, for SRM-CAM.

Staying current

The app checks GitHub for a newer release a moment after it opens and says so once, with the download link. Help › Check for updates… asks any time. It never installs anything by itself: you download the new file and install it the same way as the first time.

The update sheet, saying which version is installed and whether a newer one exists
Help › Check for updates… When a newer release exists, the sheet names it and opens the download page.

The first interface is still shipped: SRM-CAM --original from an install, python -m gerber2rml.gui from source. Same engine, same files.

Workspace folders

FolderContents
Documents\SRM-CAM\sessionsSetups (.srmcam) and height maps (.csv)
Documents\SRM-CAM\exportsExported .nc / .rml files and the run plan
Documents\SRM-CAM\photosBoard photos for the overlay
Documents\SRM-CAM\gui2.logWhere a start-up problem ends up when there is no console. Read it first if the window never opens.

The window

Four regions that never move, and a header. Tap one to see what it is for; tap a step on the rail and the stage draws its toolpath, as the app does.

The four regionsThe rail, the stage, the inspector and the machine bar. Schematic; the real window is below.
The SRM-CAM window with the setup step selected
The real window, on the setup step (a Linux screenshot, so the machine bar is a sentence: the link is Windows-only).
  • The rail (left) is the plan. In Novice it is three rows. In Pro it is the whole run plan: the same order, and the same files, that the export writes. Numbered steps are files you send; the rows between them (fit the bit and set the Z origin, flip the board) are things you do by hand. Click any step at any time; nothing is locked. A finding that matters stays on the red banner until it is fixed. Export the job is at the bottom.
  • The stage (middle) is the bed in machine coordinates: the copper sheet, the board, the toolpaths of the selected step, the spoilboard's screw grid. Drag the board, or tap the arrow keys to nudge it 0.1 mm (Shift 1 mm, Ctrl 0.01 mm). Scroll to zoom, right-drag to pan, Fit to frame the work. Bed — as cut is the only frame the machine understands; Design X-ray is for checking that the two faces of a double-sided board register.
  • The inspector (right) shows the selected step: the setup page, the checks, or a step's parameters, estimate and file.
  • The machine bar (bottom) is always there: Connect and the port, the position readout (always machine coordinates), the jog pad, Probe Z, Zero Z, Spindle, Click to jog, and STOP. Esc stops the machine from anywhere, including with a dialog open.
The rail: the run plan, with the drill as step 1 and the isolation traces as step 2
The rail on a one-bit job: fit the bit and set the Z origin by hand, then the dry run, the drill, the traces, and the cut-out last.
The inspector showing the isolation traces step
The inspector on the traces step: what it needs, the file, and (in Pro) the cutting parameters, with the tool switchable between a flat endmill and a V-bit.
The machine bar
The machine bar, linked, with Arrow keys lit. STOP is always there.

Novice & Pro

Two profiles, on the Interface menu. Novice is the default and is built around one thing: Mill a board. Pro has everything. It is the same program and the same plan, and exported files are identical in both.

NovicePro
RailYour board, Check it, Run itThe whole plan, step by step
How it cutsBy itself, sent directly to the millFiles you play from VPanel, or Automatic from the Machine menu
The stockHeld in the corner bracketBracket, found by its edges, clamped or screwed
LevellingPart of the runAlso its own page, and by hand
Double-sidedOne tickFiducials or dowels, every setting
Cutting parametersFrom the tool profilePer operation, and your own profiles
Also only in Pro—Export, rework, several boards on a sheet, drilling a board made elsewhere, output format, streaming, machine test, simulated mill
BothThe pre-flight checks, the jog pad and arrow keys, Click to jog, and STOP

Interface › What Novice and Pro differ by… lists it in the app. A lab that wants the profile fixed sets SRM_CAM_MODE to novice or pro in the environment or the shortcut.

Novice: three rows on the rail, and the Your board page
Novice: three rows on the rail, and Your board.
The sheet explaining what Novice and Pro differ by
Interface › What Novice and Pro differ by…
The Help menu
The Help menu: the web guide on F1, the machine lessons, and the update check.

The machine, in five minutes

Help › The machine, in five minutes is the part that is true at every step: VPanel's three coordinate systems and why G54 is the one that matters; zero Z and leave X and Y alone; keep machine Z above −50 mm with the bit on the copper (−55 is the end of the travel); the probe's one wire, the red clip on the copper; STOP against Pause; and where the files go.

The sheet titled The machine, in five minutes
Help › The machine, in five minutes

Files from KiCad

Before you route: clearance and the build area

Set the net class clearance to at least the width of the bit (Board Setup › Design Rules › Net Classes): a 0.8 mm endmill cannot enter a gap narrower than 0.8 mm. For finer boards, use the ball mill profile. The app's checks list every gap that is too narrow, but it is quicker to fix before routing. KiCad › Set up the build-area plugin… in SRM-CAM adds a button to KiCad's PCB editor that draws the SRM-20's build area around your board and says whether it fits.

KiCad Board Setup, Net Classes, with clearance and track width set
Net Classes: clearance and track width, set before routing.
KiCad PCB editor with the SRM-20 build area and the recommended maximum board drawn around a board
The build-area plugin: the machine's travel and the recommended maximum board, drawn on User.Drawings.
KiCad's toolbar with the Show SRM-20 build area button
After a KiCad restart the button is on the toolbar and under Tools › External Plugins.
  1. Plot Gerbers File › Fabrication Outputs › Gerbers: at least B.Cu and Edge.Cuts (and F.Cu for double-sided), into one folder. Add B.Mask if the board will get solder mask. If KiCad asks to refill the zones, say yes.
  2. Drill files Same dialog, Generate Drill Files…: Excellon, millimetres, into the same folder. KiCad writes the plated and unplated holes as two files; keep both.
  3. Open In SRM-CAM, File › Open Gerber folder… (Ctrl+O) picks up the layers and the drills and names the job after the KiCad project.
What the folder needsTap a file to take it out and see what Open Gerber folder… makes of the rest: without B.Cu or Edge.Cuts the folder is refused; without the drill files it loads with no holes.
KiCad's Plot dialog with F.Cu, B.Cu and Edge.Cuts ticked and Gerber format
Plot: Gerber format, the copper layers and Edge.Cuts, one output folder.
KiCad's Generate Drill Files dialog with Excellon and millimetres
Drill files: Excellon, millimetres, into the same folder.
No KiCad handy?

Demo board on Set up the job › The board loads a bundled 40×30 mm coupon that exercises every operation.

Setups

File › Save the setup… (Ctrl+S) writes one .srmcam file with everything: the boards and where they sit, the tool, the copper sheet, the screws, the height maps of both faces, the measured flip. File › Load a setup… brings it back. A setup written by the first interface loads too.

Save after probing

A probed height map is minutes of machine time. Save the setup right after probing; the map is in it.

Need help?

Reach out to Mads Rudolph, or to the TAs of the course, if you need guidance with the milling.