PCB Milling Problems (Eagle & FlatCam)

Hello All,

Having issues with the A350 milling a PCB.

I’ve milled some acrylic before successfully using Luban to turn an .svg into G code.

This time I’ve created a board with Eagle, generated the CNC with FlatCam and sent the .cnc to the A350 using Wifi.

I have many bug issues where it doesn’t start until I recycle the power and resume after power failure, but I’m chalking this up to bugs with the firmware.

Right now when I resume from power failure, the spindle spools up, it goes to the work origin (where I set my Z height) and it just spins there and doesn’t move along the X,Y,Z.

Attached is my CNC file. Originally FlatCam generated all the G & M commands with a zero (G00, G01, M03) etc. I saw that this is not how SM2.0 typically does things so I did a find and replaced and removed that first zero to be consistent with SM Gcode, but still no success. Just spinning at the origin.

Any ideas?

3copper_top.gbr_iso_combined_cnc.cnc (314.7 KB)

Is the file you provided after you modified it?

I think the problem is the G94 code. That’s related to feed per minute and may not be handled properly by SM. I haven’t seen that before in any of my gcode with SM.
What happens if you remove that? (Try running a pass in the air with z origin well above anything that it would run into.)

-S

-S

It is.

I’ve also created a file where I had included the ;Header Start and ;Header End that Luban seems to put in. I’ve also had both with and w/out the header with and without G94. It seems to make little difference.

Also @staff, I’ve got the latest firmware, and it freezes when I pause, and it freezes when I end. I’ve cycled the power on/off dozens of times today.

I’ve had Fabscreen fail on me multiple times. I have had to go back to an older Firmware version, and then upgrade again.

To this point my A350 has been an absolute pleasure to use, and I know this is not the norm, but this is very frustrating, and really starting to sour my mood towards the machine. I’m going to stay positive, like I said, the machine has worked absolutely great so far, but this is maddening.

UPDATE: This seems to be entirely a GCODE issue. I’ve exported the FlatCAM file to a .dxf and processed it in Luban, and it is working quite happily.

This is not an ideal solution as I need to scale the .dxf as best as possible because it loads way too small.
I’m also not sure how the drill file will work, but we do have another datapoint.

Here is the .cnc from Luban that works.
copper_top.gbr_iso_combined_56016042.cnc (3.3 MB)

@GarageFactorySD have you had any issues like this? I saw your videos, and it seemed pretty straight forward for you.

Do you also have any feeds and speeds you can provide for your project?

Thanks!

Definitely seems to be a post-processor/g-code issue. I have no experience with Flatcam.
The only other thing I see that is different from my gcode is that there is an F command at the end of each move command.
@brent113 can probably be more helpful with any of that.
-S

So here is what I was able to successfully cut using Luban from the .dxf:

One thing I didn’t pickup on before I started cutting was that if I am going to do it using Luban (and god do I hope I don’t have to keep doing so) I need to provide the negative for the toolpaths.

Is that how that works?

I didnt realize you had to negative a board you were milling for a PCB, but it certainly makes sense now that I think of it.

Thats pretty neat…

I would absolutely love to make a lil pcb for something at work and i dont even know where to begin

we have a motor controller and some relays that we use to reverse voltage based on which relay is activated (controlled via a logic controller) and we run two different motors at once.

i would love to make a lil board with relay sockets and screw terminals as well as the fuse holder for the motor controller.

Probably not for production use but i really want to try to do it for the sake of doing it, then maybe persuing having it manufactured at a board shop.

the ideal end goal is just to clean up wiring and make it a little easier to assemble.

far cheaper to do this than to find a reversible motor controller, because on top of that i would need two as we run two motors in opposite directions but i want to keep them independent

used to just use the outputs on the plc but at least on our old brand it eventually wore out the controller outputs so we added relays to protect it. all low voltage stuff but hefty

i could even add little push buttons to force a motor to move for calibration purposes. and even cooler would be to add a fail safe to prevent accidentally activating both directions simultaneously, which i have a great deal of logic in place to separate that out with at least .1 second delay just to super make sure no residual voltage from controller lag

otherwise fuses blow out, at best.

so like, how do you even start with this? software and what kinda specifics are needed in terms of compatibility with the snapmaker?

dont suppose you know of a link somewhere that has simple instructions on what software to get and how to implement snapmaker specific stuff?

It is possible to get working output from flatcam (nd it’s a while since I’ve used it, so struggling to remember as I obviously didn’t document everything)

The start of my working file however does look like this:

  • no comments anymore I cleared out the pre and post boxes for generating gcode completely
  • It looks like I manually changed the M03 line to M03 S12000
G21
G90
G94
F30.00
G00 Z0.1000
M03
G4 P1
G00 X0.1671Y5.9690
G01 Z-0.0020
G01 X0.1465Y5.9885
G01 X0.0990Y6.0398
...

I know I struggled a lot to get it working:

  • run boundary never worked, always caused the screen to crash
  • I had a lot of problems with flatcam until I configured it to mm in stead of inch, closed the program and started a complete new project making sure everything was in mm. (I didn’t realize it wasn’t in mm by default and when I changed it I never got it to work until I completely restarted my project.

So unfortunately, no definitive guide to a working setup, but maybe some hints to get it to working.

I too tried to go through Luban at some point but that was even much more frustrating than Flatcam. (And as I had a non-rectangular pcb cutout shape I even ended up drawing that shape manually in Flatcam as it didn’t easily supported that if I recall correctly)

But make sure you do try it in the air first, I struggled a lot with getting the feed rates right and in the end had my job start above the pcb and adjusted the working speed through the screen.

Don’t go that way, that will mean you’ll be removing all the copper that isn’t a trace, which you usually don’t want either. It will either take way too long, depending on your drawing you remove your ground planes completely, and it will take so much longer than needed.

Hi, I am new to pcbs using flatcam. It happened to me that when generating the CNC code the flatcam left me the Z height at -2,400 which I had to manually fix one by one in the GCODE. If I’m not wrong, the first code you sent the Z is at -0.000 maybe that’s why it doesn’t go down. Luck!!

I have had success with Eagle > ‘PCB-Gcode’, but I had to make a new machine
profile, mainly Snapmaker does not like G01, is needs G1 etc… plus the comments need a semicolon.

Adam

snapmaker.zip (1.4 KB)

1 Like