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!

Update on 2023 projects

The last four months have been great. I really had no intention of being able to make this much progress on my personal projects, but then my bandwidth opened up.

I budgeted my time, and I told my family what my plan was. I stayed on task, and I got a lot done. It was fun and it was real, but that’s my time, folks… back to the workforce for me.

So, what did I get done?

I did some work on an AR project. It is a way to see videos of my techno band’s performances around San Jose, as you are near where the performance was. I have the placeholders placed, and I have the videos cut, i just need to connect with the CEO again and try to get this finished.

I created a couple of web toys.

Then I worked on one that draws images using emoji instead of pixels.

Next, Pajaro Iterations

  • Then I evaluated some print-on-demand vendors.

I looked at Printful for backend with Gumroad for front end. Free, but costs 10% on sales. Should work, though?? Not a bad solution, just a lot of *work*. For instance, I’m looking at a product I built last month, using a low quality image.. so I have better images now, but to update the product with the new image, and update the mockup images… sigh, it’s many steps. Here’s some products I built with this combo:

one way to sell original prints (actually this is just gumroad)

  • I like Fine Art America. (Link goes to my part of their website.) They have wall art and other things. Mostly I liked the fact that product setup was automatic, and they have a shop interface, too. After looking at the pair in the above paragraph, it was pretty great to just upload my high res images, and all of their products light up as ready. pillow? shower curtain? poster? framed canvas print with mattes? Ready. It’s all ready. Like these:

a relatively full-size canvas print of Sequence 19, which is the painting I picked for my END OF LINE album. Weird, and cool!

A tote bag with one of my meta-paintings from the Pajaro Iterations project.

  • Then I revisited Zazzle. I ordered a few things. So far so good.

A t-shirt with a ha ha joke, using my Pajaro painting 😉

  • I’m doing a LOT of work on my blog!
  • Recently, I saw MC Frontalot and Mega Ran perform Frontalot’s song “I hate your blog“, haha. sigh. I’m tryin’ real hard, Ringo. Oh, and speaking of why I had to do this…
  • I had my very long term web host attempt to throw a bill for $1000 at me for three years of service, moving forward. I’m not sure I need all that, so I’m consolidating my separate blogs into this one. It’s a work in progress. Speaking of wordpress…
  • After four months of iterating, I feel like the Pajaro Iterations web experience is close enough for now. Feels good to be back on my own home court, self-hosting.

I ended up creating a wordpress plugin that rotates images 90 degrees. I needed this for my “Pajaro Iterations” website, because I wanted to let visitors be able to rotate or re-scale the images on the page. This painting project isn’t rigidly orientated. I like them vertical, and horizontal, mostly. I like some better one way or the other. So I wanted a way to let my web visitors be able to rotate my paintings… the wordpress plugin was not hard to produce with a LLM programming pair.

  • Synthclub got me digging around in my project bins…

I re-discovered how far along I’d gotten on a couple of Synthseqr circuit boards, along with Adafruit Grand Central M4 Express microprocessors. I more durably solved some mechanical build quality issues. Hot glue is ok for temporary holding, but for a longer lasting soltion, that 3M VBH tape is strong stuff. I was able to get code compiled and loaded onto the boards. Anyway, they work just fine sending midi data over USB, so it works with outboard hardware that accepts USB midi. An iPad, for instance. So, I have a hardware 16 step sequencer that can run Thor, or Gadget, or anything that accepts midi.

  • Firmware debugging??

Then I acquired the parts to connect a Segger J-Link Base to synthseqr’s grand central, for debugging. I’m hoping to quantify if my clock speed is accurate or not. First I just need to learn how this … thing… works… Coming soon, I hope!

  • 2023 Music Album released!
  • I’ve been getting out to events and talking with people. I got some trusted folks to take a peek at my Pajaro Iterations project and give feedback. So far so good.
  • Then generally:
    • I was relaxed
    • I was more available for my family
    • I was having a lot of fun

I can only hope to be able to afford to do this again someday!

cnc workholding

Nov. 17, 2023

Harbor freight has an affordable set:

https://www.harborfreight.com/58-piece-combination-step-block-and-clamp-set-3-8-eighth-inch-16-nc-studs-1-2-half-inch-clamps-5952.html

Printable version of the harbor freight item above: https://www.thingiverse.com/thing:6308416

Here’s a similar idea using 3d printed long clamps. Printing them is a good idea in case you crash an end mill into it accidentally, but milling some out of Delrin or ABS might be stronger and more long lasting. https://www.thingiverse.com/thing:4168018

Another similar clamp that you would use the t-slots in the cnc’s table with, but same advice, purchase or mill out of aluminum or even plywood, if possible :

https://www.thingiverse.com/thing:4769680

Another long clamp. The idea is to keep the metal parts away from where the tool head is, in case of an accidental crash. 

https://www.thingiverse.com/thing:4948898

Aluminum versions are available, and arguably balance cost to strength well: 

UTOOL 2 Pack T-Track Hold Down Clamps Kit, 6-1/3″ L x 1-1/5″ Width, Heavy Duty Anodized Clamps for Woodworking, Starlight Blue 

https://a.co/d/f8q8dcn

Similar: 

O’skool Multi-Positionable T-Track Hold Down Clamp Kit for CNC Router Clamp, Metalworking and Woodworking T-Slot T-Track Clamp,2 Pack

https://a.co/d/9n5sk7x

Similar: 

T-Track Mini Hold Down Clamp Kit, 2Pcs Aluminum Alloy M6 T-Slot Hold Down Clamp, CNC Router Clamps for Woodworking and Metalworking-3.2″Lx1″Wx2.7″H

https://a.co/d/8eD86wi

For higher risk but more repeatable fixturing, a cross sled vise can work, with the risk being crashing your end mill into metal. It definitely can work for special tasks but might not be a good generalist solution.


Nov. 19, 2023