Setup and Introduction Project for FreeCAD

I’m in the process of adding a second extruder to my 3D printer. I’d like to print a Saturn5 or V2 rocket in a single go with the dual extruders.

I ordered a masterspool set from SunLu with black and white filament. IF you haven;’t heard of MasterSpools, they are a great idea to allow you to be more environmentally friendly while 3d printing. Instead of each troll of filament having its own non-recyclable and heavy plastic spool, you have a spool that can come apart.  Then when you buy filament, you just buy the filament itself, which saves on shipping costs and all the pollution associated with it.

I had to make my own masterspool since the filament set only came with one. I didn’t want to use a ton of filament to make it, and also wanted it to be strong so I used this center bolt design  (hafner.stl) (though I might switch to this one as it has a little more grip on the ends).  I tried reusing an old spool like in the examples in those links but the centers were too big for the filament so I made my own.

image         image

I downloaded FreeCAD to test out and drew the flanges for the spool to cut on the laser. Learning CAD and constraints is foreign to me and the cause of literally all my previous 3D CAD failures in the past.  I made a video showing how to set up FreeCAD and make these spools to remind myself how to use FreeCAD later.

After laser cutting, the sides stank of burned wood, so I scrubbed the soot off the cut edges and soaked them for a little while in water with white vinegar as I’d read online helps. It didn’t work well.

I cut a few inches off the end of a tube used to store vinyl for the vinyl cutter as the spacer and it kept the two flanges the appropriate distance apart, but ended up slipping and making them misalign. This caused the spool not to be usable on either a sit-on-bearing style OR a center post style filament holder. I took to inkscape to make a quick SVG of some spacers to place inside the cardboard tube of the center of the spool. This hugged the center post and kept the cardboard centered correctly and now the spool works for both styles of filament holders.

 

You can download my files here if you’d like to make one yourself.

PCB Milling Software Survey

FacAcademy had used a great tool designed in-house for PCB milling making it stupid easy.  I should be able to mill some PCBs at home right? Ha!

Method 1 Carbide Copper (web-based): Carbide Copper (Formally Rapid PCB)is by far the simplest solution for PCBs. A simple step by step process takes your Gerber and Excellon files and generates great g-code for your machine to run. Check it out below:

Method 2 Easel (web-based): Easel is the online CAM tool from Inventables, the makers of Xcarve. It has a lot of good settings in it and the interface is great. I just hate storing all my files online. Honestly I’m kinds sick of all these online “apps” that change settings and user interfaces elements all the time. Makes it impossible to follow a video tutorial after 6 months since nothing looks or works the same (looking at you AutoDesk!)

Method 3 FlatCAM: Once  you create your PCB, you need to run a CAM process inside your PCB tool (such as EagleCAD or KiCAD, etc) to export the gerber and excellon files of your design. Gerber files basically throw all bottom traces into one file, all top traces into another, all drill files into another, etc. Then to view these, you need a Gerber viewer.  Once you do that, you can use a CAM software to generate the tooling for making the board. This is where FlatCAm comes in. You import your gerber files and FlatCAM will help you create the path the PCBmill will need to move to create your circuit.  I must say, I found FlatCAm’s user interface frustrating. YOu bring in your gerber of the bottom traces for instance, then click another tab to set up the tooling, then that creates another file in your project in which you must then select and select another tab (again) to finally generate the g code for your machine.  You have to do the same with the top traces file, the drills file, and the dimension file. This seems convoluted and frustrated me.

Method 4 MakerCam: This method works well for Fritzing. You can export an SVG from Fritzing, then import that into inkscape for touch-ups, then on to MakerCAM to generate the final product.

Method 5 FabModules: The older linux-based Fabmodules won’t work for me, I’m not installing a bunch of junk on my PC just to run fab modules. Luckily, there’s a new web-based version at http://fabmodules.org  The new version doesn’t seem to be as good as the old version in creating the output files. Here’s a basic intro to making PCBs with it:

Method 6 Fusion 360: While the newest version of Eagle has a plugin to send the PCB design to Fusion360, you can’t do anything useful with it (such as extrude the traces easily). It seems you have to redraw or trace the traces onto a Fusion360 sketch. While using “Smart snapping” can simplify this, it’s still something that should be automated. (Correct me in the comments if I am mistaken about this method). However, a friend of mine worked out a method that seems to have worked well for him. You export the EagleCAD as an PNG, then import the PNG to fabmodules to create an SVG of the outline of the traces, then import this SVG into fusion and extrude and generate toolpaths.

The workflow is similar to the video above for the fabmodules. Once you bring your SVG into Fusion360, extrude all the traces up about 0.2mm (could be time consuming) and extrude the remainder of the PCB downward -1.5mm and select a teeny-tiny endmill. If you have to, simply create this as  a new tool. 1/64″ (0.39-0.4mm) is what FabAcademy uses typically. Then create a 2D contour around all the traces.

 

PCB Milling Tips

This post is like a scratchpad for documenting for myself the process, but could be helpful to you as well. To mill PCBs, I recommend the following:

Only use FR1 blank boards. FR1 is paper infused with fiberglass resin. This is better to mill than FR-4 fiberglass substrate boards. It is better on bits than FR4 and you won’t have tiny specs of glass dust in the air when you cut PCBs. You can get this at Inventables.com or Bantam (formally Othermill)

I had a bunch of issues generating a usable board. My workflow was originally to use EagleCAD to FlatCAM, then pronterface to control my smoothie board. I have since come across Carbide Copper which seems to be MUCH better.

Since my work are isn’t level, I attempted to level it before milling a PCB.  That didn’t work for… well.. reasons.

I then decided to autolevel the board. After MUCH research and trials and tribulations, I discovered that the smoothieboard has this feature built in to it’s CNC firmware.  You need to probe the PCB  to see where the surface is, and it will automatically record the offset in the Z axis and apply it to your G-code so you’ll have nice boards.

  1. First, place the PCB blank on the workspace using 2-sided scotch tape.
  2. Move the CNC to the 0,0 position and make sure this is the MACHINE offset (reset the smoothieboard once in this position).
  3. Build a probe (simply two wires with alligator clips as ends that plug into the Z stop.
  4. Scuff up the PCB’s surface with a scotch brite
  5. Use a piece of aluminum tape affixed to the PCB’s surface in a nondescript spot. Allow some of the tape to overhang enough to clip one lead from the probe to it.
  6. Clip the other lead of the probe on your endmill
  7. Make sure there’s good conductivity from the metal tape and the surface of the PCB, or else you’ll be buying new bits and might break your machine. 
  8. Knowing the dimensions of your board, and how resolute you wish to measure the surface, issue the following command:
  9. G31 X0 Y0 A75 B50 I7 J7

    This starts probing at X0 Y0, and goes to X75mm  probing 7 times along the way (I7).  It will then move 1/7th (J 7) in the Y dimension towards Y50mm.  It makes a zig zag like this across the entire board until it reaches the endpoint X75 Y50.  The number of probe points in each dimension (I and J) need to be odd numbers. An example of its results are shown below.

    50.0000|    -0.0986   -0.0920   -0.1032     -0.1336      -0.1647     -0.2448     -0.3930
    41.6667|    -0.0966   -0.0860   -0.0906     -0.1032      -0.1475     -0.1833     -0.1727
    33.3333|    -0.0582   -0.0476   -0.0463     -0.0774      -0.1184     -0.1667     -0.2335
    25.0000|    -0.0741   -0.0437   -0.0384     -0.0582      -0.1052     -0.1581     -0.2263
    16.6667|    -0.0364   -0.0099    0.0013     -0.0278      -0.0681     -0.1237     -0.1912
    -8.3333|    -0.0172    0.0139    0.0218       0.0053      -0.0337     -0.0886     -0.1661
    _0.0000|     0.0040     0.0291    0.0404      0.0139      -0.0086     -0.0655     -0.1389
    _________—–+———-+———-+———-+———-+———-+———-+—–
    _________0.0000     12.5000      25.0000     37.5000     50.0000    62.5000    75.0000

    (Thanks for the great spacing wordpress… just ignore the underscores) The numbers represent the offset from Z=0 at each point in the grid.

  10. At this point simply tell the machine to go to (0,0,0), remove the probe clips and tape (Seriously do NOT forget to do this… again).
  11. Load the gcode into pronterface, turn on the router on its lowest speed and run the file.
  12. Cuss a lot when something goes wrong.
  13. Contemplate creating your own all-in-one solution.

Another tip I saw online (Thanks pda3k!) was to use the Z probe in a single spot (this would be for other things, not PCBs.

New Z probe: T. Once it makes contact, it raises the tool to 19mm. G10 L20 Set Coordinate System
G30 Z9.6
G10 L20 P1 Z9.6 ;G10 L20 Set Coordinate System in P1, he touch plate is 9.6mm thick
G0 Z19 ;it raises the tool to 19mm.

Although OpenCNCPilot looks like a very nice project with autolevelling and camera integration… Maybe I’ll use this to help visualize stuff better. Thought it likely won’t work with the smoothieboard. We’ll see in the future post.

Making a Simple Sign with Fusion360 and Xcarve

(Video below)

So I just got back into fighting working with my CNC machine.  After a few failed attempts at PCBs (I’ll post what I learned there some other time) I thought I’d work on something on the macro scale.  Below are notes to myself on the workflow.

Designing a sign in Fusion 360, simple enough. CAM is tough though, especially when using mm.

First I had Jess (Queen of fonts) find a cursive font that connected most of the letters together and had her create a SVG file for me of it.  She used photoshop and MakeTheCut (for our Zing vinyl cutter) to generate the SVG.

I used easel to get the settings I would use for feeds and speeds, then converted them to mm. This can likely be fixed by creating my own tools file locally with these values hard-coded as defaults.

Realize that my machines is Left hand rule orthoganal axes.
Z
^   Y
|   /
| /
*——> X with Y pointing into the screen.

Set CAM origin to nearest-leftist-top face of project stock (0,0,0)-ish on my machine

Set up a 2D contour and select the bottom of the design to be cut out. Make sure to select all the inner contours as well. Add a tab or so to the inner parts to prevent them flopping around or going ballistic.

Multiple passes, no more than 1/2 bit thickness each with triangular tabs.

I set clearance heights at 5mm, 10mm is safer but slower. (Click pic to make bigger).

In the first 2D contour settings tab, you must select the tool. The menu seems to have changed since I last saw it. Simply use the search bar at the top. I used 1/8″ as my term and easily found something that would work.

Export the CAM using smoothieboard CAM process. Save the file with a .gcode extension. We’ll be using printrun (does anything else work for smoothieboard?) which only looks for .gcode files.

(needed?) Open the file by hand like a cave man and add “G1 Z5” to the code JUST BEFORE the first G0 or G1 command. This will raise the bit to a safe height from the start. I might be able to ignore this if I follow the correct steps below… but do it until I learn better.  I might also be able to modify the smoothie post processor to add this in.

I used 2-sided scotch tape to secure the part. It works well for light duty stuff.

Using the step blocks, set the gantry roughly equal on each side to square up the machine. This is a tip from a youtube video I cannot find again (sorry to the guy who made it. Thanks man, you’re the real MVP). I got my step blocks for practically nothing online. Bonus, once you’ve squared you floppy gantry with them, you can use them as they were designed to be used, as actual step blocks with clamps for holding your stock down to the table top as well.

Turn motors on and use printrun to move to Set up the X and Y of the machines to where Fusion360’s workpiece offset was (nearest-leftist-top face of stock).

Raise the bit like 30mm and prep for an air run.

Reset axes, then RESET THE SMOOTHIE. Fully disconnect and reconnect, and I don’t mean in printrun, I mean unplug the USB cable and plug it back in. This is the only way to change the stupid machine offsets which will cause problems. If you don’t, before the machine does the G1 Z5 we added, it’ll immediately move to the place the router was when you powered on the smoothie last. Often times this means moving directly through the stock, especially if the Z was touching the stock or lower when you started running the file. IT WILL ALWAYS GO BACK TO MACHINE 0,0,0 BEFORE GOING TO WORKPIECE 0,0,0 AND STARTING YOUR PROGRAM.

Once you’ve rebooted the smoothie, load the file and run an air cut (at Z 30mm) to verify nothing funky happens.

Once this is all verified, move to the actual start position you want (bit touching the top of the stock)

Adjust the Z by hand to verify starting position.

COMPLETELY REBOOT THE SMOOTHIE ONCE MORE. The whole shebang, unplugging and all.

Turn Speed on router to lowest setting. If I had a superPID it’d be able to go the correct speed but as it stands it is almost always spinning too fast.

Turn on the router, turn on the vacuum, connect to the smoothie, reload the .gcode file in printrun, then Run the file.

Keep an eye out especially at first, always be ready to smack the E-stop.

If you smack the E-stop, be ready to jog the machine back to the workpiece offset (or new area of the workpiece ) and completely reboot the smoothie. The latest printrun (1.6.0)/smoothie firmware (April 4th 2018 firmware) I’m using seems to lag dramatically after E-stop has been reset and could be dangerous.

 

Xcarve updates and Passive Amplifiers

passiveAmpIn summer, I went to Woodcraft and grabbed a bunch of blocks of wood to make x-mas presents for some friends. I already had an idea of what I was going to make from a project video I saw on Inventables’s site. I wanted to make Passive Amplifiers that would double as a desk nameplate. Rather than use the pre-made file from Easel, I wanted to do my own in Fusion360 to get more practice.

Machine Upgrades:

Before I had any time to work on this at all, I ended up buying the new beefier gantry makerslide.  I also 3D printed an enclosure for my smoothieboard and an enclosure for my E-stop button, both from thingiverse.

E-stop box         smoothiebox

Literally at this point, I’ve got enough extra makerslide, plates, belts, ACME screw and nut set and gears to build a Shapeoko 2 (missing bolts, nuts, washers, V wheels, bearings, or idler wheels). Leave a comment if you are interested in purchasing my extra parts.

I also had beefed up my gantry motor to a NEMA 23.

Processing the Blocks:

Once I had made the changes to my machine (a never-ending project in itself) I got to work on the passive speakers.  I clamped my handheld belt sander upside down in my workmate bench (I do not condone this stupid behavior). I sanded down all the blocks until you could no longer see the bandsaw marks using 150 grit sand paper. I rolled the edges and ends to get nice rounded edges. This worked for the most part, but sometimes I got inconsistent results along the entire edge of the block which looked bad and wasn’t easy to fix.

blocks

After rough sanding, I hand-sanded the corners to remove the sharp point using 150 paper by hand, then used 220 paper on my orbital sander to remove the traces of the rougher sanding and smoothed out the overall faces. Due to time constraints (I was so busy that I waited until the last minute to do these) I went ahead and hit the blocks with Tung Oil every other day for about a week. This soaks in and if I had done it more would really bring out the luster int he wood. It smells a bit funny so I left the blocks in the garage to air out.  Tung oil is good because it won’t combust spontaneously like a lot of oil-based stains. Heck, the guy that sold it to me said he never even wears gloves and has been using it 20+years. I wore gloves anyway.

After the blocks were processed and thoroughly tunged, I went about using Fusion 360 to design the passive amplifier element. Unlike the inspiration project, I wanted a continuous spiral as my cone. I created a block approximately the size of these blocks, then I created a spring. It took a long time to figure out exactly how to get the spring to have the features and be be the size I wanted. I then had to merge this with a cone shape to create a single solid body that was a helical cone shape. I put it on the block and performed a difference operation to remove the helical cone shape from the block. Then I added the slot for the phone. I used my and Jess’s phones as tests using a block of scrap 2×4 to find a width that fit both of them.

model1

CAM Processing

I can’t say this was intuitive. When I ran simulations of the cut, I kept having weird errors that would break an endmill in the real world. For instance, the bit would circle the perimeter of the helical cone step by step, leaving a huge plug of wood in the middle 40mm high to be cut from the side at the very end of the job. In order to remove this weirdness, I had to get creative with the cuts. Firstly I used a plunge cut to cut the very center of the cone out in several passes. As you can see in the image at the top of this article, there’s a bit of an error at the right side near the top of the helical cone. This is due to the lead-in of the plunge cut. In later iterations, I removed that stupid lead-in. I have no clue why it would generate paths that would defile the user’s design, but it does…

Then I used a contour cut to remove material for the slot and helical cone in multiple passes. The Fusion 360 simulator said it’d take about 5 minutes for the whole shebang, but it took about 3 times longer in reality. I’m not sure how to reconcile this. CAM

Milling:

So I intentionally went against my best judgment on this one. Looking for a cheap engraving bit, I ended up at Harbor Freight. I found a pack of 5 HSS router bits that included an engraver for $8. Since an engraver bit is usually taking a bit more light duty use than other bits, this was a good deal. Other bits were like $25 just for the engraver elsewhere! My mistake happened when I considered using the half-inch  router bit as an endmill. I figured if I take off only 1.5mm at a time, then it couldn’t hurt to use this router bit slightly out of its specified application. So I went ahead.

Surprisingly, this worked beautifully for the first four blocks I milled. The last one had ragged edges though. Since I needed to make about 4 more, I went back and bought another Hazard Fraught bit set. This was enough to cut the bulk of the gifts I was making. I had another 2 blocks to mill, but I had a couple weeks to finish those while these first 8 were needed literally that night at a party.

After I milled them, I had Jess get one of her fancy fonts and make some SVGs of our friend’s names to engrave on the other face of the block so it could be used as a nameplate on their desks. This was easy to do in fusion in a new file. I simply created a block the size of the wood I was using, then imported the SVG onto the face of the block. The Z axis here is still setup so the tool comes from the top (ie. as if the block has been rotated so that the face is pointing upward). Simply go into CAM and do an engrave and it’s done. The results came out beautifully!

The problems started when I moved my CNC machine the garage form the office to avoid the dust. I used one of those half-inch bits and aligned everything and let ‘er rip. I was making a video when the failure happened…

 

I hit the E-stop immediately but it still screwed up stuff. The bit came loose and slipped down as the router continued to spin (likely screwing up my quarter-inch collet) The CNC kept moving for a short time as well until I could hit the E-stop. This  caused the bit itself to break. Luckily no chunks of it came loose or flew off at the 22,000RPM I was running at, but it came close as the pics below show.

bit1     bit2

After this error, I went ahead and redesigned the toolpaths to use a proper 0.25″ endmill and tried cutting another block.  I didn’t get to see the final result, BUt I’m pretty sure the lead-in screwed me on the first plunge cuts I did.  I didn’t finish the part because like a genius I stuck the vacuum cleaner hose in the way of the Z cart and ended usp causing my X axis motor to skip a bunch of steps as it wedged the vacuum hose into the block. I’ve yet to revisit this. even this short amount of exposure to the incredibly fine wood dust made my nose clog up again(even wearing a respirator). I had to go back to work after new years and haven’t had a chance to revisit (or document) and projects until now.

Lessons Learned:

  • Never, ever, ever use tools the wrong way… especially if you get them from Harbor Freight. The half-inch router bit I used was intended only for routing (ie cutting sideways) and not designed for plunge cuts, even 1.5mm shallow ones.
  • Fusion 360 can’t fix stupid part 1. If you delete a shape’s reference, it’ll cause you trouble in Fusion. I don’t know how I did it, but somewhere in my timeline I deleted the helical coil. I get errors all over the place if I try to modify it. Yellows are warnings, reds are errors.
    timeline
  • Fusion 360 can’t fix stupid part duex. If you don’t know what you are doing as far as feeds and speeds, making sure your lead ins and outs don’t screw up your part, and don’t try to cut off too much at once, then there’s nothing Fusion 360 can do to help you.
  • Even with a respirator on during the sanding and milling, I still ingested a lot of dust through my nose (ended up with one hell of a sinus infection requiring a shot on Christmas Eve). It was a loud and dusty process. I need to build an enclosure. The never-ending project continues…