 <?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://Robo.Fish/wiki/index.php?action=history&amp;feed=atom&amp;title=Printed_Circuit_Board_Milling</id>
	<title>Printed Circuit Board Milling - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://Robo.Fish/wiki/index.php?action=history&amp;feed=atom&amp;title=Printed_Circuit_Board_Milling"/>
	<link rel="alternate" type="text/html" href="https://Robo.Fish/wiki/index.php?title=Printed_Circuit_Board_Milling&amp;action=history"/>
	<updated>2026-04-22T14:12:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://Robo.Fish/wiki/index.php?title=Printed_Circuit_Board_Milling&amp;diff=1974&amp;oldid=prev</id>
		<title>Kai: /* Building LinuxCNC from Source */</title>
		<link rel="alternate" type="text/html" href="https://Robo.Fish/wiki/index.php?title=Printed_Circuit_Board_Milling&amp;diff=1974&amp;oldid=prev"/>
		<updated>2016-11-22T08:11:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Building LinuxCNC from Source&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
=== &amp;lt;br /&amp;gt;Introduction ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Creating Gerber Files ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==== from KiCad ====&lt;br /&gt;
You can export Gerber files from the [[KiCad]] PCB editor by using the GUI. The process is called &amp;#039;plotting&amp;#039;, in accordance with traditional nomenclature. For workflow automation, however, you want to make use of the Python scripting interface. [https://git.launchpad.net/kicad/tree/demos/python_scripts_examples/plot_board.py  Here is an example script] from the official code repository.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
I wasn&amp;#039;t able to find documentation for the &amp;#039;&amp;#039;pcbnew&amp;#039;&amp;#039; Python module and ended up using [https://docs.python.org/3/library/pydoc.html pydoc] to create an HTML documentation page.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== from Eagle ====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==== from Fritzing ====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Creating G-code from Gerber Files ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==== pcb2gcode ====&lt;br /&gt;
===== Building From Source =====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Usage =====&lt;br /&gt;
There are a bunch of command line arguments for pcb2gcode. For example,&lt;br /&gt;
&amp;lt;pre class=&amp;quot;terminal&amp;quot;&amp;gt;&lt;br /&gt;
pcb2gcode --metric --front My_PCB.gbr --zsafe 20 --zchange 10 --zwork -1 --offset 0 --mill-feed 10 --mill-speed 800&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The alternative (and more elegant) way is to write the settings to a file called &amp;#039;&amp;#039;millproject&amp;#039;&amp;#039;, which will be picked up by pcb2gcode by default.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Sending G-code to the Milling Machine ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
==== LinuxCNC ====&lt;br /&gt;
LinuxCNC ([http://linuxcnc.org linuxcnc.org]) is a command-line tool for sending [http://en.wikipedia.org/G-code G-code] to a CNC machine. G-code can be sent over the [http://en.wikipedia.org/wiki/Parallel_port parallel port] of a PC or via a PCI extension card installed in a desktop PC.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===== Building LinuxCNC from Source =====&lt;br /&gt;
Installing the dependencies on a Debian Linux distribution like [[Ubuntu]]:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;terminal&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install libudev-dev libmodbus-dev libusb-1.0-0-dev bwidget libtk-img tclx8.4 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Getting the source code:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;terminal&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/LinuxCNC/linuxcnc.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Building the source:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;terminal&amp;quot;&amp;gt;&lt;br /&gt;
cd linuxcnc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure --with-realtime=uspace --enable-non-distributable=yes&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Using LinuxCNC with AXIS =====&lt;br /&gt;
[http://linuxcnc.org/docs/html/gui/axis.html AXIS] is the standard graphical user interface for LinuxCNC. To start LinuxCNC with the AXIS GUI you need to edit the &amp;#039;&amp;#039;.ini&amp;#039;&amp;#039; file that you provide to &amp;#039;&amp;#039;linuxcnc&amp;#039;&amp;#039; as parameter. Add the &amp;#039;&amp;#039;&amp;#039;[DISPLAY]&amp;#039;&amp;#039;&amp;#039; section if it is missing, and add the line &amp;#039;&amp;#039;DISPLAY = axis&amp;#039;&amp;#039; like shown below.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
[DISPLAY]&lt;br /&gt;
DISPLAY = axis&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Post-processing ===&lt;br /&gt;
You can use a scouring pad or the rough side of a kitchen sponge to enhance the board visually and, more importantly, to remove copper chips that may have stuck inside the milled tracks and cause short circuits. Use a dab of ammonia for better results.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kai</name></author>
	</entry>
</feed>