3018 CNC notes, on Mac OS

Greetings! Here are my notes for how I used a 3018 CNC machine on the mac. I had two primary methods that I tried. One was using a .BRD import workflow for Chilipeppr, and the other way was to use a free Carbide 3d web tool to generate the copper trace toolpaths. Chilipeppr runs the gcode in both methods.

1. Chilipeppr Direct .brd Import Workflow

Chilipeppr Direct .brd Import Workflow

Generate gcode using Chilipeppr

The only thing you should really be watching out for is the routing depth. Make sure it goes below the surface of the board.

Run the gcode using Chilipeppr

whoa there, let’s talk

here’s where the other half of the situation happens. We have the idea, the breadboard prototype, eagle cad designs, we have the gerbers, xcellon, and now we have gcode. Now we enter the physical world.

machine physical setup

the 3018 isn’t exactly loud, but it could be quieter. I have spare discs of silicone hanging around, so I’ve cut some up to make rubber pads to go underneath the machine. You could easily just implement LRF† support instead.

† little rubber feet

With the machine facing you, the x axis runs left to right with the yz support frame being further away from you. This will make understanding the machine’s movement easier when we get to later steps in The Workflow.

double sided tape / hold down options

Without a doubt, I prefer the super-glue’d blue painters tape trick, as described by this straight up wizard.

spoil board

I’m using a sheet of ~1/4″ thick acrylic, because I have a ton of that sitting idle, but it’s not too important what you use. You’re goingt to be robotically drilling holes, and lots of them, so use some kind of spoil board so you don’t drill into the aluminum bed of the machine.

Use some diy double sided tape to stick the spoil board to the aluminum bed of the machine.

single sided copper laminate

I got mine from aliexpress at about $5 a sheet for ~7″x11″ (200mm x 300mm)

thoughts on placement of the copper on the 3018

You’ll want to have a bit of overhang of the copper board exposed off the bed of the machine, in order to attach the aligator clips for the upcoming autoleveling step.

drag and drop the .brd file into chilipeppr.com/grbl

The tool paths should show up in a 3d environment in the web browser. Running gcode inside of a web browser. *welcome… to the world of tomorrow*

autolevelling

This is not an optional step! All copper clad boards are not-flat, and because of the extremely shallow depth of cut we’ll be making, we need to have the toolpaths be calibrated to follow the curve of the board.

On the 3018 CNC machine, the probe pin is in the mostly-unused expansion pins in the back. There are two, and you need both. One is the signal, and the other is ground. When you run autoleveling, you attach one aligator clip to the copper, and the other to your endmill. Then the program will run a bunch of tests to see how un-flat your copper board is.

specific settings

  • probe feed rate : 80
  • max negative z: -3
  • z final safety height: 35

sending autoleveled gcode to workspace

Click on the button after the autoleveling routing finishes to have it fix your toolpaths to use the contour of your copper clad board.

Finally! Run trace isolation with v-bit endmill

tbd

Run drills with drill bit

tbd

Cut out the board with the bandsaw/

tbd

use like 220 grit sandpaper to knock the burrs down

tbd

vacuum the dust up FFS!

tbd

Test the board

seriously, just test it out for continuity before you put parts in it. Use a multimeter on the beep setting and just go around the board and see if every lead goes where it’s supposed to, can beep at the start and end of each lead, and make sure that no leads connect to any unexpected places.

solder the parts in

tbd

maybe test again

make sure after you soldered parts in that you didn’t accidentally bridge anything that you weren’t supposed to.

Eyyy, now you can write the specific arduino code

sometime things change, or you think of some optimizations between the breadboard and circuit board. Shit happens. Make sure your prototype code takes all those things into account.

fire that shit up

Did it burn anything out? Hopefully not!

2. Carbide 3d Workflow

export Gerbers

Gerber RS274X with the following layers and config options:

  • Note that if you’re doing just the bottom layer, you should not check the Mirror option. It mirrors the layout for you automagically. I don’t actually know what the pos. Coord or Optimize options do.
  • Note that I’ve named the file with .gerber as the extension. The export process will also create some other files, and it’s confusing if you don’t know what it’s doing, like me, so I’ve decided to explicitly indicate what I want the extension to be so that I know exactly which file it is. Don’t assume it will do something intelligent with the correct file extension for gerbers. It does not know what you expect unless you tell it.

export excellon

Exactly the same as above, except for these layers:

  • Note that I’ve explicitly called for .xcellon to be the file extension so that I know exactly which file it is.

Generate gcode from board

PCB-GCODE

http://www.pcbgcode.com/ stopped working for me with high sierra 10.13.5 🙁 so I found this next thing.

carbide3d.com

http://copper.carbide3d.com/

needs Gerber RS274X and Excellon files.

Looks like this for gerber options:

and this for Excellon

Exports a .nc file

Run the gcode using Chilipeppr

whoa there, let’s talk

here’s where the other half of the situation happens. We have the idea, the breadboard prototype, eagle cad designs, we have the gerbers, xcellon, and now we have gcode. Now we enter the physical world.

machine physical setup

the 3018 isn’t exactly loud, but it could be quieter. I have spare discs of silicone hanging around, so I’ve cut some up to make rubber pads to go underneath the machine. You could easily just implement LRF† support instead.

† little rubber feet

With the machine facing you, the x axis runs left to right with the yz support frame being further away from you. This will make understanding the machine’s movement easier when we get to later steps in The Workflow.

double sided tape / hold down options

Without a doubt, I prefer the super-glue’d blue painters tape trick, as described by this straight up wizard.

spoil board

I’m using a sheet of ~1/4″ thick acrylic, because I have a ton of that sitting idle, but it’s not too important what you use. You’re goingt to be robotically drilling holes, and lots of them, so use some kind of spoil board so you don’t drill into the aluminum bed of the machine.

Use some diy double sided tape to stick the spoil board to the aluminum bed of the machine.

single sided copper laminate

I got mine from aliexpress at about $5 a sheet for ~7″x11″ (200mm x 300mm)

thoughts on placement of the copper on the 3018

You’ll want to have a bit of overhang of the copper board exposed off the bed of the machine, in order to attach the aligator clips for the upcoming autoleveling step.

drag and drop the gcode file into chilipeppr.com/grbl

The tool paths should show up in a 3d environment in the web browser. Running gcode inside of a web browser. *welcome… to the world of tomorrow*

autolevelling

This is not an optional step! All copper clad boards are not-flat, and because of the extremely shallow depth of cut we’ll be making, we need to have the toolpaths be calibrated to follow the curve of the board.

On the 3018 CNC machine, the probe pin is in the mostly-unused expansion pins in the back. There are two, and you need both. One is the signal, and the other is ground. When you run autoleveling, you attach one aligator clip to the copper, and the other to your endmill. Then the program will run a bunch of tests to see how un-flat your copper board is.

specific settings

  • probe feed rate : 80
  • max negative z: -3
  • z final safety height: 35

sending autoleveled gcode to workspace

Click on the button after the autoleveling routing finishes to have it fix your toolpaths to use the contour of your copper clad board.

Finally! Run trace isolation with v-bit endmill

tbd

Run drills with drill bit

tbd

Cut out the board with the bandsaw

tbd

use like 220 grit sandpaper to knock the burrs down

tbd

vacuum the dust up FFS!

tbd

Test the board

seriously, just test it out for continuity before you put parts in it. Use a multimeter on the beep setting and just go around the board and see if every lead goes where it’s supposed to, can beep at the start and end of each lead, and make sure that no leads connect to any unexpected places.

solder the parts in

tbd

maybe test again

make sure after you soldered parts in that you didn’t accidentally bridge anything that you weren’t supposed to.

Eyyy, now you can write the specific arduino code

sometime things change, or you think of some optimizations between the breadboard and circuit board. Shit happens. Make sure your prototype code takes all those things into account.

fire that shit up

Did it burn anything out? Hopefully not!