Date   
Re: #pcbgcode #thanks #development #pcbgcode #thanks #development

jlockhartrt@...
 

Greetings Mariob,

I am unfamiliar with the ability to use PCBGcode with KiCAD if there is one. My understanding was it only worked with Eagle.

I started with KiCAD->FlatCAM->Mach3 with Autoleveller b/c I found several tutorials and a Udemy course that went that route. I have been using Fusion 360 for CAD for my 3D printer, and saw in the updates to start the year "Electronics" being added in. I was more looking for a way to integrate PCBGcode into Fusion Electronics or ask if support for that will be forthcoming.

Re: #pcbgcode #thanks #development #pcbgcode #thanks #development

mariob_1960@...
 

¿Hay alguna manera de usar pcbgcode con Kicad?

#pcbgcode #thanks #development #pcbgcode #thanks #development

jlockhartrt@...
 

Greetings PCB-Gcode Community,

I want to thank the admins for the add to the group. I stumbled upon PCB Gcode in a FB group for the Sainsmart 3018 CNC I had picked up for doing home/hobby electronics. Currently I have been experimenting with KiCAD and Fusion 360 Electronics. At the moment I have been using FlatCAM for my milling, but have been having issues. It tends to cut on the inside of the path even when selection default for the cut area. Verified this will diff, visual inspection in Visual Code, and running test on wood blanks. I tested CopperCAM with decent results, but 90 Euros is a bit steep for a hobby. Several people recommended the software in the FB group, and I found my way here. 

First, I would like to point out the download link in "Files" on the group no longer appears to work. I downloaded the file, opened it, selected the Dropbox link inside, but the page reports that the file no longer exists. I don't know if there is an updated version to download. 

Second, with Autodesk beginning to migrate Eagle into Fusion 360 as Fusion 360 Electronics, I was wondering if there was any request or plan to migrate support for the ULP files into that as well? I attempted to run the files from the Eagle plugins database for PCB Gcode in Fusion, and they operate, but I get a few errors where PCB Gcode can't access certain file locations, which appear to be outside the tools path hierarchy, which means set up can't complete. Setup shows a blank box where the configs should be based on documentation screenshots. 

Thanks again, and here is a note on my setup if anyone is interested. 
Sainsmart 3018 MX3
Mach3 w/ custom VB scripts as M-code to fix known USB to Serial probe command issues
Autoleveller AE
KiCAD or Fusion 360 Electronics -> FlatCAM (for the moment, may be switching to Eagle if necessary)

Re: doing a 2 sided board #mill

John Ferguson
 

Hi Peter,

I've been using bits from Precise Bit which cut without raising the copper edges and in my use produce trace widths as close to what I've asked for (10 or 12 mil) as I can determine with my optical comparator. I secure my workpieces in an hdpe fixture I made with four 6-32 nylon socket head cap screws. the holes in the board are located with an aluminum jig so they are always in the right place.  my first efforts were two small boards to hold smd differential pressure sensor and a molex jack.  I relied on the screw-holes for alignment when I flipped the board to cut the top. The result was close to perfect.

I have a small length (1/2 inch) of .250 drill rod which i roll against the bit to set height. I use the height that I get when the bit just clears the rod, and get very consistent results.

i like the idea of the rivets for the vias.  what are they called so I can buy some?

it looks as thought there is a lower limit to isolation trench width which would control the pitch possible with some micro-controller packages. I need to do some research to see if I really will be boxed in and have to send board designs out to a fab shop.  I've been building up projects with a Teensy microcontroller, buck typ voltage regulator and MicroSD card holder on a small board with a number of molex jacks for handling gps, serial, i2c, vin, ground, etc. I'd like to make board which have the accelerometer, gps, pressure, differential pressure (for airspeed), compass etc chips all on a single board. I'd also like board to be as small as possible. 

I usually use 10mil traces because they can be run between the larger-pin pads on 2.54 pitch DIP packages.  I also tin my board and use a Kester flux pen where I'm going to solder. I use 60/40 very fine solder and a Weller WTCP iron with their finest 700C tip.

I built a reflow oven for when I get to the really small stuff, but so far haven't used it than to check if it worked - it did.

I think I'm going back to Precise-Bits and buying a couple of the finest bits he has to get the smallest isolation channel I can, thinking that this is likely to be the limitation on smallest pin pitch I can cut for.

Does any of these sound nuts to you?

Thanks again for your note.

john


On 5/23/20 8:22 AM, peterg1000 via groups.io wrote:
For your information I'm using a Stepcraft SC420/2 CNC router with a UCCNC interface and an SC100 motion controller. 

For double sided boards  I place 3mm guide pins well outside the board milling profile and dimension lines.  These are not considered when Eagle calculates board area to apply limits, so nothing is lost on that account. They are of symmetrical in the X direction.

Vias are drilled with a 0.9mm carbide drill and a 1/32" x 1/4"  (approx 0.79mm) rivet used to bridge the two layers.  These brass rivets are used by model engineers and and have a head diameter of 1.2mm (approx .044").  A 0.05" pad is fine for soldering using a hot air gun at 250C and standard 60/40 solder paste on the head side of the board.  On the reverse side the rivets are clipped to protrude by a 1/16" or so and solder paste and hot air treatment repeated.
It pays to clean the rivets in a "clock cleaning solution" first - soldering is faultless with this precaution.

With a good engraving cutter (not a cheapo Chinese !!) and a properly set up CNC machine, I can reliably cut .010" traces with.016" isolation. Engraving depth is set to .004" with the PCB fixed with double sided tape on a milled flat sacrificial board.

It's essential to test each new engraving tool to check minimum isolation width and clean cutting of the copper.  I have a small test programme that engraves a suitable test pattern (picture attached).   Left is the Chinese cutter, right is the "good" one.  Patterns allow checking of CNC machine backlash and single pass isolation.  Large circle diam is 8mm.

Attachments:

Re: doing a 2 sided board #mill

peterg1000
 

For your information I'm using a Stepcraft SC420/2 CNC router with a UCCNC interface and an SC100 motion controller. 

For double sided boards  I place 3mm guide pins well outside the board milling profile and dimension lines.  These are not considered when Eagle calculates board area to apply limits, so nothing is lost on that account. They are of symmetrical in the X direction.

Vias are drilled with a 0.9mm carbide drill and a 1/32" x 1/4"  (approx 0.79mm) rivet used to bridge the two layers.  These brass rivets are used by model engineers and and have a head diameter of 1.2mm (approx .044").  A 0.05" pad is fine for soldering using a hot air gun at 250C and standard 60/40 solder paste on the head side of the board.  On the reverse side the rivets are clipped to protrude by a 1/16" or so and solder paste and hot air treatment repeated.
It pays to clean the rivets in a "clock cleaning solution" first - soldering is faultless with this precaution.

With a good engraving cutter (not a cheapo Chinese !!) and a properly set up CNC machine, I can reliably cut .010" traces with.016" isolation. Engraving depth is set to .004" with the PCB fixed with double sided tape on a milled flat sacrificial board.

It's essential to test each new engraving tool to check minimum isolation width and clean cutting of the copper.  I have a small test programme that engraves a suitable test pattern (picture attached).   Left is the Chinese cutter, right is the "good" one.  Patterns allow checking of CNC machine backlash and single pass isolation.  Large circle diam is 8mm.

Re: doing a 2 sided board #mill

John Ferguson
 

my little two-sided boards came out fine. I did make the via-pads bigger than Eagle would have to get enough area to ease the soldering.

I use 12 mil traces, which worked fine with the pads for the smd device I'm using.

What is the narrowest trace any of you can cut reliably? trench width?

I ask because I expect to move from mostly through-hole devices to SMD for the projects I do.

john

Re: A quick programming question.... #development

Patrick Ferrick
 

Thanks very much for the details, John.   I did eventually find those functions, and with only a little bit of commenting the ulp here and there, and a whole bunch of user-gcode I now have everything just about the way I want it.  Plus I have a MUCH better idea of how everything ties together.  

Thanks again for such an elaborate and useful piece of software!

Patrick


On Thu, May 21, 2020 at 2:18 PM John Johnson <john@...> wrote:

You'll find all those definitions in the source/ directory. You can use grep or other text search utilities to find the file a function is defined in. rz() means rapid move in Z, rxy() means rapid move in xy, etc. fz() means feed move in Z, fxy() means feed move in xy, etc. Some of the other definitions are a little more obscure, and are to get around limitations in EAGLE's language, such as frrr(), which is a format command (like sprintf()) that takes three real (r) arguments, thus frrr = format real real real.

As stated before, more than likely there's a way to do what you want without getting into the code (although I like knowing how things work too).

Attachments:

Re: A quick programming question.... #development

John Johnson
 
Edited

You'll find all those definitions in the source/ directory. You can use grep or other text search utilities to find the file a function is defined in.

rz() means rapid move in Z, rxy() means rapid move in xy, etc.

fz() means feed move in Z, fxy() means feed move in xy, etc.

Some of the other definitions are a little more obscure, and are to get around limitations in EAGLE's language, such as frrr(), which is a format command (like sprintf()) that takes three real (r) arguments, thus frrr = format real real real.

As stated before, more than likely there's a way to do what you want without getting into the code (although I like knowing how things work too).

Re: Annotated g-code weirdness...! #mill

John Johnson
 

To get rid of the first two lines, turn off NC File Comment Machine Settings. You'll find it in GCode options. See page 12 of the manual.

The user-gcode.h should be thought of as a last resort for getting the generated gcode the way you want it. Other things you can look at are creating your own .pp profile. See page 21 of the manual.

A quick programming question.... #development

Patrick Ferrick
 

Hi again-

In trying to understand what's going on internally (ie. in pcb-gcode.ulp specifically), I keep running into things like the following:

rz(DEFAULT_Z_UP);
rxy(rx1, ry1);
fzr(z_down_or_radius, fr_z);
fxyr(rx2, ry2, fr_xy);

A check of the Eagle docs shows that rz(), rxy(), fzr() and others are NOT built-in functions, so they must be defined somewhere in the code...but I'll be darned if I can figure out where! 
I would guess that rz() might be 'retract z' but it sure would be handy to be able to take a look at the actual code.

[Probably a textbook case of a little (programming) knowledge being a very dangerous thing, but I guess if I don't ask it may take quite a while to figure it out!]

I'm getting fairly close to having things adjusted so that my linuxcnc machine can use the drill file....

tnx,
Pat



Re: Annotated g-code weirdness...! #mill

Patrick Ferrick
 

I do use Notepad++ and really like it!  Now if I can just get my noggin around how certain things end up in certain places in the code, I'll be all set.  I have figured out how to adjust user-gcode.h and that takes care of 75% of the changes I'd like to implement.  So far, though, I haven't been able to see where some of the highlighted stuff is generated.  

For example, when I search for things like 'High' which appears in the very beginning, I find it nowhere in any of the files I'm sifting through!

I'll get it eventually I'm sure.  Thank you for what is obviously a very non-trivial amount of work to pull this off!



Sent from my Samsung Galaxy , an AT&T LTE smartphone

-------- Original message --------
From: John Johnson <john@...>
Date: 5/20/20 4:18 PM (GMT-05:00)
To: pcbgcode@groups.io
Subject: Re: [pcbgcode] Annotated g-code weirdness...! #mill

Hi Patrick,

Just a quick note - I would recommend using Notepad++ to edit your files on Windows.

https://notepad-plus-plus.org/


Regards,
John

On 20 May 2020, at 13:45, Patrick Ferrick wrote:

Hi all-

I'm attempting to produce gcode to drill a tiny little test board with a single 8-pin DIP and no traces.   I will use linuxcnc, and when I generate a drill file for the most basic setup (all I did was turn off comments, I believe) I get the attached screenshot.

I have figured out how to modify the gcode by tweaking *user-gcode.h* and also by commenting out various simple stuff in *pcb-gcode.ulp .
* I am at a loss to modify/omit the stuff in the screenshot, though.  Plus there's a concerning spindle start-stop I can't seem to modify.

Any suggestions?
Thanks,
Patrick

Re: Annotated g-code weirdness...! #mill

John Johnson
 

Hi Patrick,

Just a quick note - I would recommend using Notepad++ to edit your files on Windows.

https://notepad-plus-plus.org/


Regards,
John

On 20 May 2020, at 13:45, Patrick Ferrick wrote:

Hi all-

I'm attempting to produce gcode to drill a tiny little test board with a single 8-pin DIP and no traces.   I will use linuxcnc, and when I generate a drill file for the most basic setup (all I did was turn off comments, I believe) I get the attached screenshot.

I have figured out how to modify the gcode by tweaking *user-gcode.h* and also by commenting out various simple stuff in *pcb-gcode.ulp .
* I am at a loss to modify/omit the stuff in the screenshot, though.  Plus there's a concerning spindle start-stop I can't seem to modify.

Any suggestions?
Thanks,
Patrick

Annotated g-code weirdness...! #mill

Patrick Ferrick
 

Hi all-

I'm attempting to produce gcode to drill a tiny little test board with a single 8-pin DIP and no traces.   I will use linuxcnc, and when I generate a drill file for the most basic setup (all I did was turn off comments, I believe) I get the attached screenshot.  

I have figured out how to modify the gcode by tweaking user-gcode.h and also by commenting out various simple stuff in pcb-gcode.ulp .
I am at a loss to modify/omit the stuff in the screenshot, though.  Plus there's a concerning spindle start-stop I can't seem to modify.

Any suggestions?
Thanks,
Patrick

Re: doing a 2 sided board #mill

John Ferguson
 

I thought of this at first, but the sensor is tall and the space they are going into is quite constrained.

besides, I ought to learn how to do this.

thanks,


john

On 5/19/20 11:30 AM, John Johnson wrote:

You could put one part on the other side of the board.
I.e. the surface mount part could go on the "bottom".


Regards,
John

On 19 May 2020, at 9:50, John Ferguson via groups.io wrote:

On 5/19/20 9:44 AM, john wrote:

I finally have to face doing a double-sided board.  I have a surface-mount barometric sensor which wants little pads and also the Through-hole Molex jack for connecting the result to my micro-controller.

It appears that I need to toggle "top" on the setup, and then cut and drill the bottom first, then flip the board and do the top.

It also appears that the first thing the bottom-drill gcode does is drill the origin.  This makes it possible to reset the origin on the flipped board.  it also looks as if the top drill routine doesn't do this, so one would always want to etch and drill the bottom first, then etch the top and mill the perimeter.

I've arrayed four of these llitle boards onto a small work board with enough space between them that the work-piece will support each remaining board as its perimeter is cut out.  I provide my perimeters with tabs to continue to support them and then saw them apart

Does all of this sound right?

John

Re: doing a 2 sided board #mill

John Ferguson
 

Hi Harvey,

That's a neat idea.  I have a fixture for mounting boards which I'm cutting which should assure reliable registration.But of course I'll find out soon enough.

john

On 5/19/20 11:24 AM, Harvey White wrote:
Another alternative is to take thinner single sided board (0.030 thick board), make the top and bottom separately, and then epoxy them together using the guide holes you make.  I use push in map pins which are not flexible, have a relatively tight fit to keep wobbling down, and then use a 1 hour epoxy.  All the epoxy mixes take 24 hours to fully cure, and 5 minutes can be a bit short, as can 15.

I'd cover the top and bottom of the board with masking tape before epoxy, since it keeps epoxy fingerprints off the copper.

Harvey


On 5/19/2020 9:50 AM, John Ferguson via groups.io wrote:

On 5/19/20 9:44 AM, john wrote:
I finally have to face doing a double-sided board.  I have a surface-mount barometric sensor which wants little pads and also the Through-hole Molex jack for connecting the result to my micro-controller.

It appears that I need to toggle "top" on the setup, and then cut and drill the bottom first, then flip the board and do the top.

It also appears that the first thing the bottom-drill gcode does is drill the origin.  This makes it possible to reset the origin on the flipped board.  it also looks as if the top drill routine doesn't do this, so one would always want to etch and drill the bottom first, then etch the top and mill the perimeter.

I've arrayed four of these llitle boards onto a small work board with enough space between them that the work-piece will support each remaining board as its perimeter is cut out.  I provide my perimeters with tabs to continue to support them and then saw them apart

Does all of this sound right?

John




Re: doing a 2 sided board #mill

John Johnson
 

You could put one part on the other side of the board.
I.e. the surface mount part could go on the "bottom".


Regards,
John

On 19 May 2020, at 9:50, John Ferguson via groups.io wrote:

On 5/19/20 9:44 AM, john wrote:

I finally have to face doing a double-sided board.  I have a surface-mount barometric sensor which wants little pads and also the Through-hole Molex jack for connecting the result to my micro-controller.

It appears that I need to toggle "top" on the setup, and then cut and drill the bottom first, then flip the board and do the top.

It also appears that the first thing the bottom-drill gcode does is drill the origin.  This makes it possible to reset the origin on the flipped board.  it also looks as if the top drill routine doesn't do this, so one would always want to etch and drill the bottom first, then etch the top and mill the perimeter.

I've arrayed four of these llitle boards onto a small work board with enough space between them that the work-piece will support each remaining board as its perimeter is cut out.  I provide my perimeters with tabs to continue to support them and then saw them apart

Does all of this sound right?

John

Re: doing a 2 sided board #mill

Harvey White
 

Another alternative is to take thinner single sided board (0.030 thick board), make the top and bottom separately, and then epoxy them together using the guide holes you make.  I use push in map pins which are not flexible, have a relatively tight fit to keep wobbling down, and then use a 1 hour epoxy.  All the epoxy mixes take 24 hours to fully cure, and 5 minutes can be a bit short, as can 15.

I'd cover the top and bottom of the board with masking tape before epoxy, since it keeps epoxy fingerprints off the copper.

Harvey

On 5/19/2020 9:50 AM, John Ferguson via groups.io wrote:

On 5/19/20 9:44 AM, john wrote:
I finally have to face doing a double-sided board.  I have a surface-mount barometric sensor which wants little pads and also the Through-hole Molex jack for connecting the result to my micro-controller.

It appears that I need to toggle "top" on the setup, and then cut and drill the bottom first, then flip the board and do the top.

It also appears that the first thing the bottom-drill gcode does is drill the origin.  This makes it possible to reset the origin on the flipped board.  it also looks as if the top drill routine doesn't do this, so one would always want to etch and drill the bottom first, then etch the top and mill the perimeter.

I've arrayed four of these llitle boards onto a small work board with enough space between them that the work-piece will support each remaining board as its perimeter is cut out.  I provide my perimeters with tabs to continue to support them and then saw them apart

Does all of this sound right?

John



Re: doing a 2 sided board #mill

John Ferguson
 

On 5/19/20 9:44 AM, john wrote:
I finally have to face doing a double-sided board.  I have a surface-mount barometric sensor which wants little pads and also the Through-hole Molex jack for connecting the result to my micro-controller.

It appears that I need to toggle "top" on the setup, and then cut and drill the bottom first, then flip the board and do the top.

It also appears that the first thing the bottom-drill gcode does is drill the origin.  This makes it possible to reset the origin on the flipped board.  it also looks as if the top drill routine doesn't do this, so one would always want to etch and drill the bottom first, then etch the top and mill the perimeter.

I've arrayed four of these llitle boards onto a small work board with enough space between them that the work-piece will support each remaining board as its perimeter is cut out.  I provide my perimeters with tabs to continue to support them and then saw them apart

Does all of this sound right?

John

Things Beginning Milling Machine Users Need To Succeed #development

Queen Nanu <news@...>
 

 
Let’s assume you have a working CNC machine that you’ve just acquired, but that you know very little about CNC.  Let’s further assume it is a mill and that you will be focused on cutting metal.  You’re ready to start milling custom chopper parts, build a tool changer, or scratch build a Colt 1911 handgun.  With CNC, you can build almost anything and you’re chomping at the bit to get started on your pet projects.
 
Not so fast!  Remember, you just got the machine and you’re a beginner.  You’re not ready for those projects yet.If you have some idea how to make your first CNC parts, charge ahead with these 10 suggestions.
 
Here are 10 things you should focus on to maximize your chances of becoming quickly successful:

https://prezhost.com/2020/04/24/10-things-beginning-cnc-milling-machine-users-need-to-succeed/
 

Re: Roland Modela MDX-15 #development #pcbgcode

Brett Hilder
 

Thanks John, 

Gnea/grbl looks like a logical and practical resource in the pcbgcode path to Rowland Modela MDX.   I will update this thread with my progress/results.

Thanks John,
Brett

On Apr 25, 2020, at 11:35 AM, John Johnson <john@...> wrote:

Have you looked at [grbl](https://github.com/gnea/grbl/wiki)?
I have no experience, but I see their serial interface is up to 115k now. 

Regards,
John

On Apr 25, 2020, at 11:11 AM, Brett Hilder <bahilder@...> wrote:

Hi, I have been following this group for a long time but havent embraced gCode yet.  I am working towards bringing up a Roland Modela MDX-15 with pcb GCode.

Has anyone in this group used integrated pcb gcode workflow to run with the Roland Model MDX-15?  

I am an embedded developer, and my preference is to implement a stand alone controller to perform leveling, calibration, spooling and job control.  Much of my frustration with this engraver is its limited serial interface. I could implement a PC app in python, and run the modela with a raw serial port, but my PC spooling experience with this machine has been abysmal. 

Does anyone in this group have experience with this engraver and can share their experience / workflow ?

thank you,
Brett Hilder
Rural Eastern Ontario, Canada