Cambam post processor settings

I have a strange compatibility problem using cambam with pronterface/smoothieboard and would appreciate any advice.

I used the trial version of Cambam and without having to tweak anything it worked perfectly with pronterface/smoothieware.

I have just bought the licensed version of Cambam, and now circles appear as triangles and arcs are straight lines in pronterface . I have been talking to people on Cambam forum and they say I need to have correct Post processor settings for the pronterface/smoothieboard. I tried the different post processor options but nothing produced the correct shape

Is there a standard list of settings for pronterface/smoothieboard to use in Cambam?

Imported from wikidot

It’s very possible one version of cambam used to cut G2/G3 into many G1 segments, and the other didn’t. That’d explain the pronterface triangle thing.

Is anybody using Cambam 9.8 with pronterface/smoothieboard preferably in a CNC application? If so I would really appreciate if you could look at your post processor settings and tell me:

  1. Which post processor is selected?
  2. The value of any setting to do with arcs
    Any help appreciated

I’m using a licensed version of CamBam 0.9.8 P for a three axis CNC mill with SmoothieBoard. I do not use any post processors and have not modified any settings in CamBam having to do with arcs. I’m new to CAM/CNC so I don’t have any customized settings. I have not had any trouble with odd shaped geometry as you describe. All my cuts come out okay except for the backslash/mechanical slop in my machine design.

Have you tried simulating your GCode files with Camotics (CAM simulator)? Do the jobs look correct when simulated?

With respect to Pronterface I do not use it for anything but jogging my machine to it’s zero position, send “G92 X0 Y0 Z0” to home it and then send “@play /sd/<my gcode file>” (note I copy the GCode file to the SD card by mounting it in Linux and copying). I have tried to get Pronterface to render my CNC job but it’s never looked right. I truly miss LinuxCNC’s AXIS GUI. From reading some of the recent posts I’m about to try the Ethernet interface to Smoothie.


Thanks for information, sorry for delay I just came across your reply.

I don’t know why the Cambam trial version should work without problem compared to licenced version, however I was given a solution to this problem in Cambam Forum
After converting arcs and circles to polylines I needed to use:
edit>polyline >remove arcs [value= 0.1]

This produced correct shapes in Pronterface. After some other teething problems I am very close to producing a successful PCB

Good to hear. I frequent the CamBam forums also. That is a fantastic community and great source for CAM stuff.

Making simple PCBs has been a side-goal of my machine. Do you have a sample G-Code file for a PCB I could try on my machine? What size/type of bit are you using in your CNC mill?


I can send you the GCode to try out.

If you, or anybody else, wants to try yourself I will explain how I did it, but I will say now I’m no expert, this worked for me but there are probably much easier ways.
STEP 1 – Design PCB in Eagle. You can download the light version free.
STEP 2 - Download PCB-Gcode . Again this is free. If you go on Youtube there is an excellent tutorial by a guy called Matt Westwick which explains how to get, install and use the PCB-GCODE software.
When board is finished you run PCB-CODE from within Eagle it produces the Gcode files. For a single sided board it will create a file for bottom etch and file for holes. I think it produces top and possibly other layers also but I haven’t tried.
STEP 3 – The files produced in Step 3 are .tap files which I couldn’t get to open in Pronterface, so I used Cambam.
If you open the bottom etch file, for example, it will show the tracks to be cut. You then select the machining parameters and produce toolpaths and gcode. You can set machining properties within PCB-GCODE but I didn’t.
If you want to edit the tap file in Cambam, open file, Right click on machining tab and select “Toolpaths to geometry” this converts the traces to polylines which can be edited as you like. When happy you can produce gcode for edited board.
STEP4 – In Pronterface load the files produced in Cambam (.nc files) for etch/trace and hole files you can recombine these files to one in Cambam if that is easier.
I’ve tried end mills from 0.5mm and 1mm but I keep snapping them. I have had reasonable results using V bits (60° 0.2mm) but I’m still experimenting.

If you could email me a sample G-Code file that would be great (ken dot gentry707 at gmail dot com). I don’t have any Eagle files but do have a V-Engrave bit to play with. I’d like to see whether my machine to good enough to engrave PCBs.

Thanks for the step by step process, too.


I’m also having issues with circles generated by CamBam starting out well but then becoming triangular. My initial suspicion was the gcode that CamBam generated - things like arc centre mode settings, etc. If you ever get odd circles then arc centre mode is usually the culprit. However I’m fairly sure this is not the case.

I seem to have tracked it down to the fact that if I run the lines of gcode that CamBam has generated one at a time via Pronterface then it works fine. If process them as a file then it all starts to go weird. I’ll spend a little longer poking this over the weekend and then I’ll post the exact gcode and my settings to see if anyone else can replicate it. (Perhaps I’ll move this to its own thread once I’m sure it’s not CamBam related.)

The only thing slightly odd about the generated gcode is that CamBam will split a complete circle into 3 arcs of 120 degrees when generating the gcode. Nothing wrong with that, but perhaps it’s an edge case that trips things up. I’ll try manually creating 90 and 180 degree segments to see if that changes things.

As an aside, my laser also doesn’t fire properly on these moves - just gives a little blip at the start.

Ok - I seem to have sorted out the CamBam issue. It turned out that the header was set to send G90 (absolute coordinates for position) and G91.1 (relative coordinates for arc centre). This suited Mach3 but it seems that Smoothie was interpreting G91.1 as G91 (absolute coordinates for position).

Below is my post processor. I use it with a laser so I also removed other stuff I didn’t need like tool changes and clearance moves. If you’re using it with a mill, you may only really want to look at the Header bit. I also noticed that there is a setting in the post processor to covert arcs into short straight lines. I haven’t use it but it’s there - Arc Output = “Convert To Lines”.

<?xml version="1.0" encoding="utf-8"?>
<PostProcessor xmlns:xsi=**REMOVED** xmlns:xsd=**REMOVED** Version="">
  <PostFile>{$comment} Smoothieboard Laser CNC Code {$endcomment}
{$comment} Fred Murphy - {$endcomment}
{$comment} S parameter may need manually adjusting {$endcomment}
  <Header>{$comment} {$} {$date} {$endcomment}
{$units} {$distancemode}
  <ToolTableItem />
  <ToolChange />
  <MOP>{$comment} {$} {$endcomment}
{$velocitymode} {$workplane}
  <EndRewind />
  <EndComment />

I had to replace the namespaces as links weren’t allowed. Seriously - is this restriction really necessary?